我在 macOS 上使用终端进行 ping。我怎样才能 ping 超过 56 个字节?我尝试搜索,但找不到答案。
答案1
ping -s
尺寸 主持人
ping -s 1472 target.example.com
我以 1472 为例,因为具有典型的标头长度,可以创建一个没有碎片的全尺寸数据包。
有关该命令选项的更多信息,请使用终端中的ping(1)
命令查看其手册页。man ping
答案2
这取决于你 ping 的主机
mbp ~ % ping -s 1400 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 1400 data bytes
76 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=12.969 ms
wrong total length 96 instead of 1428
76 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=12.342 ms
wrong total length 96 instead of 1428
^C
mbp ~ % ping -s 1400 bbc.co.uk
PING bbc.co.uk (151.101.64.81): 1400 data bytes
1408 bytes from 151.101.64.81: icmp_seq=0 ttl=59 time=10.415 ms
1408 bytes from 151.101.64.81: icmp_seq=1 ttl=59 time=12.601 ms
在上面的例子中,8.8.8.8 没有回复完整的数据包,但 bbc.co.uk 却回复了
在 Linux 中你也能看到类似的行为,只不过
wrong total length 96 instead of 1428
你得到
truncated
Linux 中同样的例子:
E520:~$ ping -s 1400 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 1400(1428) bytes of data.
76 bytes from 8.8.8.8: icmp_seq=1 ttl=117 (truncated)
76 bytes from 8.8.8.8: icmp_seq=2 ttl=117 (truncated)
E520:~$ ping -s 1400 bbc.co.uk
PING bbc.co.uk (151.101.192.81) 1400(1428) bytes of data.
1408 bytes from 151.101.192.81 (151.101.192.81): icmp_seq=1 ttl=59 time=8.27 ms
1408 bytes from 151.101.192.81 (151.101.192.81): icmp_seq=2 ttl=59 time=8.36 ms