是否有一个标志或其他实用程序(也许tcpdump
?)可用于查看通过该ping
实用程序发送的传出数据包?例如:
$ ping -c 5 google.com
PING google.com (172.217.14.78): 56 data bytes
64 bytes from 172.217.14.78: icmp_seq=0 ttl=53 time=1.244 ms
64 bytes from 172.217.14.78: icmp_seq=1 ttl=53 time=1.298 ms
64 bytes from 172.217.14.78: icmp_seq=2 ttl=53 time=1.195 ms
64 bytes from 172.217.14.78: icmp_seq=3 ttl=53 time=1.283 ms
64 bytes from 172.217.14.78: icmp_seq=4 ttl=53 time=1.322 ms
--- google.com ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.195/1.268/1.322/0.045 ms
例如,我如何查看发送到 Google 的 5 个数据包(例如,以十六进制输出形式)?
答案1
首先用 tcpdump 监听:
$ sudo tcpdump -c 10 -vvv -XX -i any icmp
- -c 10 = 收到 10 个数据包(5 个请求和 5 个回复)后退出 = ping -c 5。
- -vvv = 更详细的输出。
- -XX = 以十六进制和 ASCII 格式打印。
- -i any = 所有接口
- icmp = 互联网控制消息协议 (ICMP)
接下来,打开一个新终端:
$ ping -c 5 google.com
检查“ICMP 回显请求”