<返回更多

你应该知道的 22 个基本的 Linux 网络命令

2022-09-09  今日头条  硬核老王
加入收藏

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

本文字数:7598,阅读时长大约: 11分钟

我们并不是每天都会谈论 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 地址)。

 

  1.  

    ip address

     

 

ip address

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

 

  1.  

    ip monitor

     

 

ip monitor

2、traceroute

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

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

 

  1.  

    sudo apt install traceroute

     

 

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

 

  1.  

    traceroute google.com

     

 

traceroute google.com

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

traceroute -6 google.com

3、tracepath

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

但是,首先什么是 MTU?

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

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

 

  1.  

    tracepath google.com

     

 

tracepath google.com

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

 

  1.  

    tracepath -b google.com

     

 

tracepath -b google.com

4、ping

linuxhandbook.com(数据包网络飞龙探云手(Packet Internet Groper) ) 可以说是在排除网络故障时最重要的命令之一,因为它是检查主机和服务器之间连接情况的最常用方法。

例如,我ping谷歌:

 

  1.  

    ping google.com

     

 

ping google.com

这里,最后一行(min/avg/max)表示从指定的服务器获得响应的时间。

如果你得到一个错误提示bash: ping: command not found(LCTT 译注:不会吧?),你可以查看我们的指南 linuxhandbook.com。

5、ss

ss(套接字统计(socket statistics))命令用于详细了解网络套接字(在网络上发送和接收数据的端点)。

要列出所有监听和非监听的 TCP 连接,你必须使用-at选项,如下所示:

 

  1.  

    ss -at

     

 

ss -at

同样,你可以使用-au选项对 UDP 端口进行同样的操作:

 

  1.  

    ss -au

     

 

ss -au

6、dig

linuxhandbook.com(域信息龙爪手(Domain Information Groper) )用于获取有关域名的所有必要信息。

要在基于 Ubuntu 的发行版上安装dig工具,请按照给出的命令进行:

 

  1.  

    sudo apt install dnsutils

     

 

现在,让我告诉你如何获取一个特定主机的信息,在这个例子中,我将获取 itsfoss.com 的信息:

 

  1.  

    dig itsfoss.com

     

 

dig itsfoss.com

7、host

host命令主要用于获取一个特定主机的 IP 地址,或者你可以从一个特定的 IP 地址获取主机名。换句话说,它是一个 DNS 查询工具。

要找到主机的 IP,你只需要在host命令中附加主机名。让我告诉你怎么做:

 

  1.  

    host itsfoss.com

     

 

host itsfoss.com

同样,你可以用一个 IP 地址来获取主机名:

 

  1.  

    host 8.8.4.4

     

 

host 8.8.4.4

8、hostname

如果你已经使用了一段时间的 Linux,你一定很熟悉这个命令,因为这主要是用来 itsfoss.com 和 NIS(网络信息系统)的主机名。

当不使用任何选项时,它可以得到系统当前的主机名。

 

  1.  

    hostname

     

 

hostname

从包含所需主机名的文件中改变主机名是这个工具的另一个有趣的功能:

 

  1.  

    sudo hostname -F

     

 

sudo hostname -F hostname.txt

9、curl

curl(客户端 URL(Client URL))命令主要用于在网络上传输数据,支持各种协议,包括 HTTP、FTP、IMAP 和许多其他协议。

这个工具是首选的自动化工具,因为它是在没有任何人类互动的情况下工作的,也可以用于端点测试、调试和错误记录。

curl工具没有预装,如果你在任何 Debian 及其派生发行版上,你只需要使用以下命令进行安装:

 

  1.  

    sudo apt install curl

     

 

使用curl命令 linuxhandbook.com 非常容易,你只需在 URL 中使用-O选项,就可以开始了。

 

  1.  

    curl -O [URL]

     

 

curl -o url

在下载大文件时,进度条会很方便,你可以用curl-#选项来显示进度条。

curl -# -O

10、mtr

它是pingtraceroute工具的组合,主要用于网络诊断,并提供网络响应和连接的实时情况。

使用mtr的最简单方法是用它跟上一个主机名或 IP 地址,它将给出一个实时的traceroute报告。

 

  1.  

    mtr [URL/IP]

     

 

mtr google.com

如果你想让mtr同时显示主机名和 IP 地址,你可以把它和-b选项配对,如下图:

 

  1.  

    mtr -b [URL]

     

 

mtr -b

11、whois

whois可以帮助你找到有关注册的域名、IP 地址、名称服务器等信息,因为它是 whois 目录服务的客户端。

这个工具可能没有预装在你的设备上,要在基于 Debian/Ubuntu 的发行版上安装,你可以使用给出的命令:

 

  1.  

    sudo apt install whois

     

 

一般来说,whois命令是与给出的域名配对使用的:

 

  1.  

    whois [DomainName]

     

 

whois google.com

另外,你也可以用一个 IP 地址来代替域名,你会得到同样的细节。

12、ifplugstatus

ifplugstatus是一个最基本的,但也是最有用的工具,足以在基本水平上排除连接问题。它用于检测本地以太网的链接状态,其工作方式与mii-diagmii-toolethtool类似,支持所有三个 API。

在基于 Debian/Ubuntu 的发行版上安装,你可以按照给出的命令进行:

 

  1.  

    sudo apt install ifplugd

     

 

这个工具没有任何花哨的选项,经常不需要与任何配对选项而使用:

 

  1.  

    ifplugstatus

     

 

ifplugstatus

13、iftop

iftop(接口的 top(Interface TOP))经常被管理员用来监控与带宽有关的统计数据,当你遇到网络问题时,也可以作为诊断工具使用。

这个工具需要手动安装,可以通过给出的命令在运行 Debian/Ubuntu 的机器上轻松安装。

 

  1.  

    sudo apt install iftop

     

 

iftop在没有任何选项的情况下使用时,它会显示默认接口的带宽统计。

 

  1.  

    sudo iftop

     

 

iftop

你也可以通过在设备名称后面加上-i选项来指定网络设备。

 

  1.  

    sudo iftop -i .

     

 

在我的例子中,是enp1s0,所以我的输出将是如下:

sudo iftop -i enp1s0

14、tcpdump

tcpdump是一个数据包嗅探和分析工具,用于捕获、分析和过滤网络流量。它也可以作为一个安全工具使用,因为它将捕获的数据保存在可以 itsfoss.com 的 pcap 文件中。

像许多其他工具一样,tcpdump没有预装,如果你是在Debian/Ubuntu 上,你可以按照下面的命令进行安装:

 

  1.  

    sudo apt install tcpdump

     

 

一旦你完成了安装,你可以获得当前接口的捕获数据包,如下所示:

 

  1.  

    sudo tcpdump

     

 

sudo tcpdump

那么如何将捕获的数据包保存在 pcap 文件中呢?让我告诉你怎么做:

 

  1.  

    sudo tcpdump -w Captured_Packets.cap -i < networkdevice >

     

 

sudo tcpdump -w

要访问保存的文件,你需要使用-r选项加上文件名。

 

  1.  

    sudo tcpdump -r Captured_Packets.pcap

     

 

sudo tcpdump -r filename

15、ethtool

顾名思义,ethtool工具主要涉及管理以太网设备。使用这个工具,你可以调整网卡速度、自动协商特性等。

但它可能没有预装在你的机器上,可以通过利用给出的命令安装在 Debian/Ubuntu 机器上:

 

  1.  

    sudo apt install ethtool

     

 

要获取接口的详细信息,你只需在命令后面加上设备名称,如下所示:

 

  1.  

    sudo ethtool

     

 

sudo ethtool enp1s0

16、nmcli

作为一个简单而强大的网络故障排除工具,它是任何系统管理员在排除网络故障时首先使用的工具之一,也可以在脚本中使用。

你可以使用nmcli命令来监控设备的连接状态:

 

  1.  

    nmcli dev status

     

 

nmcli dev status

当不使用任何选项时,它将带来你系统中所有现有设备的信息:

 

  1.  

    nmcli

     

 

nmcli

17、nmap

nmap是一个探索和审计网络安全的工具。它经常被黑客和安全爱好者使用,因为它允许你获得网络的实时信息、连接到你的网络的 IP 的详细信息、端口扫描,以及更多。

要在基于 Debian/Ubuntu 的发行版上安装nmap工具,请使用给出的命令:

 

  1.  

    sudo apt install nmap

     

 

让我们开始扫描主机名:

 

  1.  

    nmap itsfoss.com

     

 

nmap itsfoss.com

18、bmon

bmon是一个开源的工具,用于监测实时带宽和调试问题,以更人性化的方式呈现统计数据。这个工具最好的部分是图形显示,甚至可以在 html 中得到你的输出!

安装非常简单,因为bmon存在于流行的 Linux 发行版的默认仓库中,这也包括 Debian/Ubuntu。

 

  1.  

    sudo apt install bmon

     

 

现在,你只需要启动bmon,就可以用眼睛愉快地监控带宽了:

 

  1.  

    bmon

     

 

bmon

19、firewalld

管理防火墙可以说是网络安全的核心部分,这个工具允许你添加、配置和删除防火墙的规则。

但是 firewalld 需要手动安装,如果你使用的是基于 Debian/Ubuntu 的发行版,你可以利用给出的命令进行安装:

 

  1.  

    sudo apt install firewalld

     

 

例如,我将向你展示,如何为公共区域永久地打开 80 端口:

 

  1.  

    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp

     

 

sudo firewall-cmd --permanent --zone=public

同样,要删除最近添加的规则,你必须使用-remove选项,如下所示:

 

  1.  

    sudo firewall-cmd --zone=public --remove-port=80/tcp

     

 

sudo firewall-cmd --zone=public --remove

20、iperf

iperf是一个用 C 语言编写的开源工具,允许用户进行网络性能测量和调整。

这个工具存在于 Debian/Ubuntu 的默认资源库中,可以通过给出的命令安装:

 

  1.  

    sudo apt install iperf

     

 

要开始监控网络,用户必须通过给出的命令在服务器上启动这个客户端:

 

  1.  

    iperf -s -u

     

 

其中,-s选项表示服务器,-u选项为 UDP 格式。

iperf -s -u

现在,你可以通过提供首选协议的 IP 地址有效载荷连接到你的服务器(使用-c选项表示客户端)。在这个例子中,我选择了 UDP(使用-u选项),有效载荷为 100:

 

  1.  

    iperf -c 10.0.2.15 -u 100

     

 

iperf c

21、speedtest-cli

顾名思义,这是 speedtest.net 网站的 CLI 工具。这个在 Apache 2.0 许可下发布的开源工具,当你想从 CLI 获得一个可靠的 itsfoss.com 的来源时,会有很大帮助。

安装非常简单,如果你是在 Debian/Ubuntu 上,可以利用给出的命令轻松安装:

 

  1.  

    sudo apt install speedtest-cli

     

 

一旦你完成了安装部分,你只需要使用一行命令即可测试你的速度:

 

  1.  

    speedtest-cli

     

 

speedtest-cli

22、vnstat

vnstat工具主要被系统管理员用来监控网络流量和带宽消耗(大部分情况下),因为这个工具可以监控你系统的网络接口的流量。

和其他网络工具一样,你可以在默认的软件库中找到vnstat,如果你在 Debian/Ubuntu 上,可以通过给出的命令进行安装:

 

  1.  

    sudo apt install vnstat

     

 

你可以使用vnstat命令,不需要任何选项,它将带来你系统所有可用接口的基本统计信息:

 

  1.  

    vnstat

     

 

vnstat

对于实时监控,你可以将vnstat命令与-l选项配对。

vnstat -l

一个长长的清单,对吗?

这个汇编连冰山一角都算不上,只是分享了每个命令的目的和基本例子,因为增加更多的命令会使这个清单变得更长。

流行的但 itsfoss.com,如ipconfig,已被故意排除在这个列表之外。

如果你很好奇,你可以学习 linuxhandbook.com,这将教会你如何使用任何实用程序的最大潜力。

如果我忘了提到任何你喜欢的东西,请在评论中告诉我。

via:

作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

LCTT 译者 :Xingyu.Wang

翻译: 892.0 篇

贡献: 2968 天

2014-07-25

2022-09-08

https://linux.cn/lctt/wxy

欢迎遵照 CC-BY-SA 协议规定转载,

如需转载,请在文章下留言 “ 转载:公众号名称”,

我们将为您添加白名单,授权“ 转载文章时可以修改”。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>