网络调试

出自 ArchWiki
(重定向自 Tcpdump

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

注意:已经重复了部分内容(在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是网络上数据包的多平台用户空间接口。应该强调的是,它们确实可以看到,可以捕获任何到达本地 NIC 的入站数据包。无论本地软件防火墙是否阻止这些数据包。另一方面,它们只能看到防火墙通过的出站数据包:[1]

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