Ping 输出:
$ ping 192.168.20.36
PING 192.168.20.36 (192.168.20.36) 56(84) bytes of data.
64 bytes from 192.168.20.36: icmp_req=1 ttl=64 time=0.165 ms
64 bytes from 192.168.20.36: icmp_req=2 ttl=64 time=0.164 ms
^C
--- 192.168.20.36 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.164/0.164/0.165/0.012 ms
$
当我们 ping 到某个特定的远程主机时,ICMP 回显请求会发送到该主机,如果该主机可用,则回显重放会到达。在源中,如果我们执行命令,则会创建 RAW 套接字,并使用该 ping 程序发送数据包。此处,目标 IP 为 192.168.20.36。但是,目标端口号是什么?对于 ping,应该有一个保留端口号。如果没有这个,远程用户如何能够将回显请求发送到远程主机。
那么,ping 程序使用的端口是什么?我们的系统中运行的处理 ping echo 请求的程序名称是什么?
答案1
Ping 命令发送一个 ICMP 数据包。
ICMP 协议是第 3 层协议,不使用 TCP 或 UDP(来自第 4 层)端口机制。
您可以在这里查看协议定义: https://www.rfc-editor.org/rfc/rfc792