linux下常见的网络相关命令(你应该知道的22个基本的)(1)

我们并不是每天都会谈论 Linux 的命令行。但正如一些读者指出的那样,你们也想学习一些命令行的技巧。

因此,我整理了一份基本的 Linux 网络命令清单,这些命令在我的大学时代帮助了我,让我对如何在网络方面使用 Linux 有了坚定的认识。

这些命令将帮助你设置网络,以及解决你在 Linux 系统中可能遇到的各种网络问题。

Linux 中的基本网络命令

这个汇编包括了 CLI 实用程序,它们将帮助你排除网络问题、监控数据包和连接的设备,以及更多。

在我展示这些命令的一些细节之前,让我分享一下我今天要讨论的所有命令的简要概述。

命令说明
ip操纵路由来分配和配置网络参数
traceroute识别数据包到达主机的路径
tracepath在追踪网络主机的路径时,获取最大传输单元
ping通常用于检查主机和服务器之间的连接情况
ss获得有关网络套接字的详细信息
dig给出所有关于 DNS 名称服务器的必要信息
host输出特定域和主机的 IP 地址
hostname主要用于输出和更改主机名
curl在网络上通过各种协议传输数据
mtrpingtraceroute的组合,用于诊断网络
whois获取有关注册的域名、ip 地址、名称服务器等信息
ifplugstatus检测本地以太网设备的链接状态
iftop监视与带宽有关的统计信息
TCPdump数据包嗅探和分析工具,用于捕获、分析和过滤网络流量
ethtool允许用户配置以太网设备
nmCLI用于网络连接的故障排除工具
nmap主要用于审计网络安全
bmon开源工具,用于监控实时带宽
firewalld配置防火墙规则的 CLI 工具
iperf测量网络性能和调整的工具
speedtest-clispeedtest.net的 CLI 工具,用于检查网速
vnstat主要用于监控网络流量和带宽消耗

现在,让我们用例子和更深入的方式讨论它们。

请注意,并不是所有的命令都会预装。我已经添加了针对 Debian/Ubuntu 的说明。对于其他发行版,请使用你的软件包管理器进行安装。

1、ip 命令

ip命令是最基本的,但也是最重要的,你会发现系统管理员经常使用它,其用于从操纵路由到分配和配置网络参数。

虽然用例可能无穷无尽,但让我向你展示 ip命令的最基本用例(寻找 IP 地址)。

ip address

linux下常见的网络相关命令(你应该知道的22个基本的)(2)

同样,你也可以使用 ip命令来持续监控设备的状态,请使用monitor参数而不是我们之前用来获取 IP 地址的address参数:

ip monitor

linux下常见的网络相关命令(你应该知道的22个基本的)(3)

2、traceroute

使用 traceroute命令,你可以确定数据包到达主机的路线。而且,当你想询问数据包的传输情况和数据包所走的跳数时,它可能相当有用。

默认情况下,你的系统可能没有安装 traceroute,如果你使用的是 Debian 及派生的发行版(包括 Ubuntu),安装时只需使用一个命令:

sudo apt install traceroute

例如,追踪到 google.com的数据包:

traceroute google.com

linux下常见的网络相关命令(你应该知道的22个基本的)(4)

默认情况下,traceroute会使用 IPv4,但是你可以通过使用-6选项来改变这一行为,该选项将指示traceroute使用 IPv6。让我告诉你怎么做:

linux下常见的网络相关命令(你应该知道的22个基本的)(5)

3、tracepath

tracepath命令用于发现 MTU(最大传输单元),同时追踪到网络主机的路径。它与我上面讨论的traceroute很相似,但它不需要sudo权限,而且也没有像它那么多功能。

但是,首先什么是 MTU?

MTU 就是可以在网络上传输或接收的最大帧或数据包。

现在,让我们看一下 google.com的tracepath的基本例子:

tracepath google.com

linux下常见的网络相关命令(你应该知道的22个基本的)(6)

同样,你可以使用 -b选项同时打印出 IP 地址和主机名。

tracepath -b google.com

linux下常见的网络相关命令(你应该知道的22个基本的)(7)

4、ping

ping 命令(数据包网络飞龙探云手Packet Internet Groper