网络调试

出自 ArchWiki

本条目或章节可能需要与网络配置合并

注意: 已重复部分内容 (在Talk:Network Debugging中讨论)

Ping & Tracepath/Traceroute

本条目或章节可能需要与网络配置#Ping合并

注意: 重复 (在Talk:Network Debugging中讨论)

ping 命令可以帮助测试与特定主机的连接。

第一步是验证与默认网关的连接(将 IP 地址替换为您自己的默认网关)。

$ ping -c4 192.168.1.1

当删除 -c4 参数时,ping 将无限期地继续。 可以通过点击“Control-C”来中止。

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=0.193 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=0.190 ms
64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=0.192 ms
64 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=0.189 ms

--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.165/0.184/0.193/0.014 ms

上面的输出表明默认网关是可达的。 当显示“Destination Host Unreachable”消息时,请仔细检查 IP 地址、子网掩码和默认网关配置。 当 ICMP 流量不允许到达默认网关时(被防火墙、路由器等阻止),也可能显示此消息。

下一步是验证与配置的 DNS 服务器的连接。 当没有收到回复时,可以使用 tracepathtraceroute 来验证到所述服务器的路由,并了解问题所在。

$ traceroute 8.8.4.4

Traceroute 也使用 ICMP 来确定路径,因此当 ICMP 流量被阻止时,也可能出现“no reply”的答案。

Tcpdump

tcpdump 及其底层库 libpcap 是多平台用户空间接口,用于网络上的数据包。 应该强调的是,它们确实可以看到、可以捕获任何到达本地网卡的入站数据包。 无论本地软件防火墙是否阻止这些数据包,都无关紧要。 另一方面,它们只能看到防火墙通过的出站数据包:[1]

关于 tcpdump 的简短、平易近人的介绍,以及示例,请访问:[2]