我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

阅读本文大约需要15分钟。

作为IT从业者,我经常不得不处理Linux,并且网络经常使用。掌握基本网络命令是一项必要的技能,它也是提高我们的工作效率的必要工具。今天,本文将整理常用的网络工具。因为有很多命令需要解决,所以本文自然不会深入介绍这些命令的用法。您可以给人留下深刻的印象,然后在学习和工作期间遇到它们时检查一下。

通常,Linux网络命令涉及多个部分:

01网络配置

两个最重要的工具是IP。这两个工具来自两个工具包网络工具包,分别是Net-Tools软件包还包含常用的工具,例如Route,TC等。但是,Net-Tools软件包已逐渐被软件包所取代。对于我们的研究,我们不妨学习一切,这也将帮助我们理解和记住。

1.1

它通常用于查看网卡信息(例如IP地址,发送和接收和数据包丢失等),并配置网卡(例如启动和停止网络卡,修改网络卡MTU,修改IP,MAC地址等)

查看网卡信息:

  1. [root@by ~]# ifconfig eth0

  2. eth0: flags=4163 mtu 1500

  3. inet 172.18.82.173 netmask 255.255.240.0 broadcast 172.18.95.255

  4. ether 00:16:3e:12:16:e7 txqueuelen 1000 (Ethernet)

  5. RX packets 2592887 bytes 775090020 (739.1 MiB)

  6. RX errors 0 dropped 0 overruns 0 frame 0

  7. TX packets 2164631 bytes 340929797 (325.1 MiB)

  8. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

配置网卡的IP地址:

  1. ifconfig eth0 192.168.2.10

  2. ifconfig eth0 192.168.2.10 netmask 255.255.255.0

  3. ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255

交换机网卡:

  1. ifconfig eth0 down

  2. ifconfig eth0 up

1.2 IP

IP是一个非常强大的工具,可以替换Net-Tools软件包中的所有工具,例如,ROUTE,ARP等,例如查看网络卡信息:

  1. [root@by ~]# ip addr ls dev eth0

  2. 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

  3. link/ether 00:16:3e:12:16:e7 brd ff:ff:ff:ff:ff:ff

  4. inet 172.18.82.173/20 brd 172.18.95.255 scope global eth0

  5. valid_lft forever preferred_lft forever

查看路线:

  1. [root@by ~]# ip route

  2. default via 172.18.95.253 dev eth0

  3. 169.254.0.0/16 dev eth0 scope link metric 1002

  4. 172.18.80.0/20 dev eth0 proto kernel scope link src 172.18.82.173

查看ARP信息:

  1. [root@by ~]# ip neigh

  2. 172.18.82.1 dev eth0 lladdr ee:ff:ff:ff:ff:ff STALE

  3. 172.18.95.253 dev eth0 lladdr ee:ff:ff:ff:ff:ff REACHABLE

有关更多用法,您可以使用MAN IP。

02连接检测

连接检测旨在使用工具来检测两个网络节点之间的连接性。常用的工具包括ping,,,,mtr,等。

2.1 ping

此命令通常用于判断网络连接性和网络速度,偶尔用于查看域名的IP,例如:

  1. [root@by ~]# ping www.baidu.com

  2. PING www.wshifen.com (103.235.46.39) 56(84) bytes of data.

  3. 64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=1 ttl=42 time=238 ms

  4. 64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=3 ttl=42 time=238 ms

您可以看到百度的相应域名的IP。

使用-c参数指定发送的数据包数,-w指定最大等待时间,-i指定网络卡发送数据包。

Ping只能使用IPv4。要使用IPv6,您可以使用ping6命令。

2.2

它通常用作远程登录,以确定远程服务的状态,检测是否可以访问远程服务器的端口,还可以检测到本地服务器,例如:

  1. [root@by ~]# telnet localhost 22

  2. Trying 127.0.0.1...

  3. Connected to localhost.

  4. Escape character is '^]'.

  5. SSH-2.0-OpenSSH_7.4

可以看到成功连接的22个端口,表明该端口是打开的。

2.3&

它主要用于检测从源主机到目标主机的每个跳路节点。通常,它与ping结合使用,以解决网络故障,ping以测量连接性和网络速度。如果网络未连接,则可以进一步故障排除哪个路由节点有问题。如果网络卡住,您还可以确定哪种瓶颈。

  1. [root@by ~]# traceroute -I -n www.baidu.com

  2. traceroute to www.baidu.com (103.235.46.39), 30 hops max, 60 byte packets

  3. 1 * * *

  4. 2 11.220.36.69 9.037 ms 9.087 ms 9.124 ms

  5. 3 11.220.36.138 55.341 ms 102.560 ms 132.373 ms

  6. 4 11.217.38.254 1.690 ms 1.747 ms 1.809 ms

  7. 5 119.38.215.142 2.326 ms 2.307 ms 2.332 ms

  8. ...

可以看出,主机总共经历了30次跳跃,每个跳跃都计算了响应时间。

还有另一个类似的工具。

2.4 mtr

MTR的全名是整合PING功能的完整工具,并且非常方便诊断网络问题。

MTR的一个优点是它可以实时刷新数据。例如,MTR-N可以看到从本地到百度传递的所有路线,并在每个路线之间显示数据包损耗率,响应时间等。

常见参数:

  1. mtr -r 不会刷新,一次性打印 10个包的统计结果

  2. mtr -s 用来指定ping数据包的大小

  3. mtr -n no-dns不对IP地址做域名反解析

  4. mtr -a 来设置发送数据包的IP地址,这个用于主机有多个IP时。

  5. mtr -i 使用这个参数来设置ICMP返回之间的要求默认是1

  6. mtr -c 指定发送多少个数据包

  7. mtr -4 IPv4

  8. mtr -6 IPv6

03网络连接

它主要涉及网络连接状态的统计信息,例如为连接打开哪些端口,TCP/UDP,状态是什么等。常用工具包括,SS,LSOF,等等。

3.1

它用于查看当前的网络连接状态,能够查看所有网络连接,包括UNIX等。它也是多个工具的组合。最常用的一个是检查在本地系统上打开哪些端口:

  1. [root@by ~]# netstat -lnpt

  2. Active Internet connections (only servers)

  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

  4. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2469/sshd

其他一些常见用途包括:

3.2 ss

SS还是用于查看网络连接统计信息的工具。它的输出相似,甚至显示更多连接状态信息。它最大的优势是它更快。当服务器保持数万个连接时,此优势就会更加明显。

常见参数:

通常,SS-TLN4用于查看所有在本地收听的端口。

3.3 LSOF

LSOF可以列出当前系统的文件打开,打开文件的过程以及该过程打开的端口。由于所有内容都是Linux中的文件,因此LSOF通常也用于计算与网络相关的文件信息(使用-i选项),例如TCP/UDP/UNIX统计信息。

其用法格式是[46] [] [@|] [:| port],例如:

列出与主机172.18.82.173(我的主机IP)端口22:

  1. [root@by ~]# lsof -i 4@172.18.82.173:22

  2. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

  3. sshd 25605 root 3u IPv4 45999589 0t0 TCP by:ssh->119.123.198.89:14400 (ESTABLISHED)

  4. sshd 25628 root 3u IPv4 46005729 0t0 TCP by:ssh->119.123.198.89:14950 (ESTABLISHED)

  5. sshd 25655 root 3u IPv4 46013885 0t0 TCP by:ssh->119.123.198.89:16032 (ESTABLISHED)

3.4(NC)

NC被称为瑞士军刀,它非常轻巧但功能强大,能够创建各种类型的网络连接,启用简单的聊天工具,远程文件传输,调试分析,扫描端口等。

例如,扫描主机的1-100端口172.18.82.173向哪些端口打开:

  1. [root@by ~]# nc -zv 172.18.82.173 1-1024 |& grep 'succeeded'

  2. Connection to 172.18.82.173 22 port [tcp/ssh] succeeded!

  3. Connection to 172.18.82.173 80 port [tcp/http] succeeded!

如您所见,主机的端口22和80打开。

04流量统计4.1

它主要用于监视主机网络端口上的网络流量。常见选项包括:

例如,使用以下命令在一定时间段内计数主机所有网络端口的流量数据:

  1. [root@by ~]# ifstat -at 2 5

  2. #kernel

  3. Interface RX Pkts/Rate TX Pkts/Rate RX Data/Rate TX Data/Rate

  4. RX Errs/Drop TX Errs/Drop RX Over/Rate TX Coll/Rate

  5. lo 0 0 0 0 0 0 0 0

  6. 0 0 0 0 0 0 0 0

  7. eth0 169 0 97 0 13934 0 17702 0

  8. 0 0 0 0 0 0 0 0

4.2 SAR

SAR是系统历史统计工具。统计信息非常完整,包括CPU,内存,磁盘I/O,网络,进程,系统调用和其他信息。网络信息通常使用-n参数计数,并且几个常用的选项如下:

4.3 iftop

TOP和IOTOP是主要用于查看网络流量的系列。

05交换和路由5.1 ARP

用于管理主机的ARP缓存,添加,删除,检查和修改等。

常见用法:

5.2

检查与此LAN中IP相对应的主机MAC地址和MAC职业问题。

例如,指定将ARP数据包从接口发送到主机以获取MAC地址。

  1. [root@by ~]# arping -I eth0 172.18.80.170 -c 1

  2. ARPING 172.18.80.170 from 172.18.82.173 eth0

  3. Unicast reply from 172.18.80.170 [EE:FF:FF:FF:FF:FF] 0.572ms

5.3

Linux VLAN配置命令,例如将两个VLAN添加到某个接口是:

  1. vconfig add eth0 100

  2. vconfig add eth0 200

删除VLAN是:

  1. vconfig rem eth0.100

  2. vconfig rem eth0.200

5.4路线

路由用于查看和修改路由表,相同的工具包括-r和IP路由。

例如,添加默认路由:

  1. route add default gw 192.168.1.1 dev eth0

06防火墙6.1

这是一个强大的软件包过滤工具。通过一系列过滤和处理数据包的规则,可以实现防火墙,NAT和其他功能。

在网络数据包进入主机之前,它将进行一系列规则检查。接受如何通过,否则将被丢弃。规则由多个表组成,每个表由多个链组成。总体复杂性相对复杂。对于此工具,我们将稍后发表一篇文章以详细解释。

6.2 ipset

IPSET是一种辅助工具,通常用于限制多个IP的方案。使用IPSET,可以将多个IP放入一个集合中,然后仅限于此集合,这可以大大提高效率。除了收集IP外,IPSET还可以收集网络段,Mac,端口,网卡等。

常见操作,例如:

创建一个IPSET:

  1. ipset create blacklist hash:ip

将项目添加到集合:

  1. ipset add blacklist 192.168.10.2

从集合中删除项目:

  1. ipset del blacklist 192.168.10.2

您还可以指定超时限制:

  1. ipset create blacklist hash:net timeout 60

07域名相关7.1主机

主机命令是域名分析查询工具,用于测试域名系统是否正常工作。

例如,检查百度域名信息:

  1. [root@by ~] host www.baidu.com

  2. www.baidu.com is an alias for www.a.shifen.com.

  3. www.a.shifen.com has address 14.215.177.38

  4. www.a.shifen.com has address 14.215.177.39

7.2

它用于交互式域名分辨率,以检查域名分辨率是否正常,用于诊断网络故障时网络问题。

查看的DNS地址:

  1. [root@by ~]# nslookup google.com

  2. Server: 8.8.8.8

  3. Address: 8.8.8.8#53


  4. Non-authoritative answer:

  5. Name: google.com

  6. Address: 172.217.160.110

检查使用的DNS服务器地址:

  1. [root@by ~]# nslookup

  2. > server

  3. Default server: 8.8.8.8

  4. Address: 8.8.8.8#53

  5. Default server: 8.8.4.4

  6. Address: 8.8.4.4#53

7.3挖

DIG命令也是一个域名分辨率工具,但比提供的更全面:

  1. [root@by ~]# dig google.com


  2. ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> google.com

  3. ;; global options: +cmd

  4. ;; Got answer:

  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61743

  6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1


  7. ;; OPT PSEUDOSECTION:

  8. ; EDNS: version: 0, flags:; udp: 512

  9. ;; QUESTION SECTION:

  10. ;google.com. IN A


  11. ;; ANSWER SECTION:

  12. google.com. 299 IN A 172.217.160.110


  13. ;; Query time: 98 msec

  14. ;; SERVER: 8.8.8.8#53(8.8.8.8)

  15. ;; WHEN: 五 503 23:06:57 CST 2019

  16. ;; MSG SIZE rcvd: 55

7.4哇

WHOIS用于查看域名所有者的信息,例如注册电子邮件,手机号码,域名服务提供商等。

  1. [root@by ~]# whois coolshell.cn

  2. Domain Name: coolshell.cn

  3. ROID: 20090825s10001s91994755-cn

  4. Domain Status: ok

  5. Registrant ID: hc401628324-cn

  6. Registrant: 陈皓

  7. Registrant Contact Email: haoel@hotmail.com

  8. Sponsoring Registrar: 阿里云计算有限公司(万网)

  9. Name Server: f1g1ns1.dnspod.net

  10. Name Server: f1g1ns2.dnspod.net

  11. Registration Time: 2009-08-25 00:40:26

  12. Expiration Time: 2020-08-25 00:40:26

  13. DNSSEC: unsigned

例如,检查此域名,陈Hao在上注册,注册时间为2009年,注册电子邮件地址为。

08与数据包捕获8.1有关

它是Linux下最强大的包装抓工具。我之前写过一篇完整的文章,请参阅此处以获取详细信息:

09虚拟设备

虚拟设备是指TAP/TUN,VETH-PAIR,OVS和其他设备的工具。

这些设备的操作命令均隶属于IP命令,例如TAP/TUN设备是IP,VETH-PAIR,IP链接和IP NetN。

此外,还有一些相关的辅助工具。

9.1

该实现类似于IP,用于创建TAP/TUN设备。

默认创建点击接口:

  1. tunctl

以上等效于-p

为用户创建TAP接口:

  1. # tunctl -u user

创建一个TUN接口:

  1. tunctl -n

删除接口:

  1. # tunctl -d tap0

9.2 BRCTL

BRCTL用于操作桥梁,该桥可用于查看桥梁,创建桥梁,将网卡添加到桥上等等。

  1. [root@by ~]# brctl show

  2. bridge name bridge id STP enabled interfaces

  3. br0 8000.000000000000 no

OVS是桥梁的第三方开源实施。它带有一组命令,感兴趣的读者可以进一步研究它。

10摘要

以上是常用网络工具的集合。此外,实际上还有更多。建议您专注于掌握上述内容。如果您不了解某些内容,您将立即理解。

除命令外,还有一些与网络相关的重要文件,例如:

如上所述,我希望Linux网络命令的基本集合对您有用。我认为这很好。我会给您更多的朋友,并给我一些鼓励,以继续输出高质量的信息。

PS:老读者应该知道,我会不时分享各种好处。如果您害怕丢失这些好处,建议将我的帐户高于我的帐户。我相信这不会让您失望。

后台回复“加入小组”,将您带入专家Ruyun Group

二维码
扫一扫在手机端查看

本文链接:https://by928.com/8748.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线