linux 提供了许多用于检查网络连接的命令,有时还会创建新的命令来扩展功能。本文介绍了 Linux 上可用的一些最重要的命令,以帮助您清楚地了解本地网络及其到达外部的方式。
虽然提供的链接包含有关使用网络命令的重要提示,但有些链接包含已弃用的命令以支持较新的命令。今天需要知道的一些最重要的命令包括ip a、ip neigh、ping、tracepath、dig、tcpdump 和whois。(如果一个命令被弃用,并不意味着它不起作用或不可用。这意味着该命令已被具有相同目的且可能得到更好支持的更新命令所取代。)
ip a
ip a命令将提供有关您的网络接口的信息。这包括您分配的 IP 地址(即使是自动分配的)和系统需要与自身通信时使用的环回地址,好处是它在分配的 IP 地址可能不总是相同的情况下保持稳定。
ip a命令在很大程度上取代了已弃用的ifconfig命令。它提供相同种类的数据,但格式不同。下面的输出显示环回 (lo) 地址 (127.0.0.1) 和系统分配的 (enp0s25) 地址 (192.168.0.7)。
$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:1d:09:77:9d:08 brd ff:ff:ff:ff:ff:ff inet 192.168.0.7/24 brd 192.168.0.255 scope global dynamic noprefixroute enp0s25 valid_lft 74857sec preferred_lft 74857sec inet6 fe80::bb32:464a:77a3:acd7/64 scope link noprefixroute valid_lft forever preferred_lft forever
ip link命令提供了类似的信息,但数量较少。
$ ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 00:1d:09:77:9d:08 brd ff:ff:ff:ff:ff:ff
ip neigh
ip neigh命令可以提供有关网络上系统的更多详细信息,包括 MAC 地址,并且它支持从 arp 表中删除 IP 地址。
$ arp -a _gateway (192.168.0.1) at 1c:64:99:ec:b1:97 [ether] on enp0s25 ? (192.168.0.6) at b0:c0:90:3f:10:15 [ether] on enp0s25 ? (192.168.0.4) at 74:e2:0c:da:27:53 [ether] on enp0s25 ? (192.168.0.18) at cc:3d:82:39:78:85 [ether] on enp0s25 ? (192.168.0.22) at on enp0s25
$ ip neigh 192.168.0.1 dev enp0s25 lladdr 1c:64:99:ec:b1:97 STALE 192.168.0.6 dev enp0s25 lladdr b0:c0:90:3f:10:15 REACHABLE 192.168.0.4 dev enp0s25 lladdr 74:e2:0c:da:27:53 REACHABLE 192.168.0.18 dev enp0s25 lladdr cc:3d:82:39:78:85 REACHABLE 192.168.0.22 dev enp0s25 FAILED fe80::1e64:99ff:feec:b197 dev enp0s25 lladdr 1c:64:99:ec:b1:97 router STALE
ping
ping命令仍然非常有用,它可以将数据包发送到另一个系统以收集表明系统已启动且可访问的响应。
$ ping www.ruodian360.com PING idg.map.fastly.net (146.75.30.165) 56(84) bytes of data. 64 bytes from 146.75.30.165 (146.75.30.165): icmp_seq=1 ttl=57 time=49.2 ms 64 bytes from 146.75.30.165 (146.75.30.165): icmp_seq=2 ttl=57 time=32.4 ms 64 bytes from 146.75.30.165 (146.75.30.165): icmp_seq=3 ttl=57 time=125 ms 64 bytes from 146.75.30.165 (146.75.30.165): icmp_seq=4 ttl=57 time=75.9 ms --- idg.map.fastly.net ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 32.388/70.534/124.680/34.892 ms
tracepath
tracepath命令紧随traceroute命令的脚步。它允许您查看系统到达远程系统所采用的路由,并且通常用于解决连接问题。如果您使用tracepath检查您与本地路由器的连接,则响应应该简短而快速。远程系统通常需要更多时间,因为tracepath在链路之间移动,并且经常下降为一系列“无回复”消息,因为沿途的路由器可能不会响应详细信息。
tracepath命令默认限制为 30 跳(路由器之间的 连接),但可以使用-m选项(例如,tracepath -m 50)增加。
$ tracepath 192.168.0.1 1?: [LOCALHOST] pmtu 1500 1: _gateway 3.503ms reached 1: _gateway 2.558ms reached Resume: pmtu 1500 hops 1 back 1
$ tracepath worlds.tstd.com 1?: [LOCALHOST] pmtu 1500 1: _gateway 3.526ms 1: _gateway 4.212ms 2: _gateway 7.928ms pmtu 1492 2: 10.226.32.1 40.141ms 3: 10.17.1.29 50.127ms 4: 10.17.0.221 68.552ms 5: 10.17.0.226 45.820ms asymm 4 6: 10.25.0.137 54.701ms asymm 5 7: rest-b2-link.ip.twelve99.net 75.532ms asymm 6 8: rest-bb1-link.ip.twelve99.net 66.185ms asymm 9 9: ash-b2-link.ip.twelve99.net 73.287ms asymm 6 10: no reply 11: no reply 12: ae23.cs1.lga5.us.eth.zayo.com 81.707ms asymm 13 13: ae8.mpr3.bos2.us.zip.zayo.com 82.203ms asymm 10 14: 64.124.51.229.t495-rtr.towerstream.com 58.666ms asymm 12 15: 69.38.149.18 66.011ms asymm 13 16: 64.119.137.154 74.448ms asymm 14 17: world.std.com 112.248ms reached Resume: pmtu 1492 hops 17 back 14
nslookup and dig
虽然nslookup命令仍然被很好地使用,但dig命令已经在很大程度上取代了它并且被认为是更好的选择。以下是dig命令将提供的输出类型的一些示例:
$ dig world.std.com ; <<>> DiG 9.16.33-RH <<>> world.std.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62339 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;world.std.com. IN A ;; ANSWER SECTION: world.std.com. 7180 IN A 192.74.137.5 ;; Query time: 2 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Mon Dec 12 11:19:00 EST 2022 ;; MSG SIZE rcvd: 58
tcpdump
tcpdump命令可以在网络数据包到达您的服务器时打印出它们的标头,或者可以与各种过滤器一起使用以仅选择您想要查看的数据包。您还可以保存数据包供以后分析。作为嗅探器,tcpdump可以成为一个有价值的故障排除工具。
whois
whois命令可以找到有关域的大量信息。下面的输出被截断了,但显示了您可以期望检索到的信息类型。
$ whois www.ruodian360.com | head -8 [Querying whois.verisign-grs.com] [Redirected to whois.markmonitor.com] [Querying whois.markmonitor.com] [whois.markmonitor.com] Domain Name: ruodian360.com Registry Domain ID: 293248_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.markmonitor.com Registrar URL: http://www.markmonitor.com
测试上传和下载速度
您可能必须安装speedtest速度测试工具用于计算您的上传和下载速度。
$ speedtest Retrieving speedtest.net configuration... Testing from Shentel Communications (204.111.9.197)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by Lumos Fiber (Waynesboro, VA) [112.99 km]: 33.642 ms Testing download speed................................................................ Download: 6.87 Mbit/s Testing upload speed.................................................................. Upload: 1.38 Mbit/s
本文由 @小喵 发布于弱电智能网 。
题图来自Unsplash,基于CC0协议
内容观点仅代表作者本人,弱电智能网平台仅提供信息存储空间服务。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
文章名称:《在 Linux 上查看网络连接的 7 种方法》
文章链接:https://www.ruodian360.com/tech/sytemops/37433.html
添加微信ydian188免费入群,记得备注“弱电智能网”。
学习了学习了