PING的工作原理
PING是一款用于测试网络连接的工具,它通过发送ICMP(Internet Control Message Protocol)回显请求报文来检查目标主机是否可达。ICMP协议是IP层的一种控制协议,用于在IP主机之间传输控制信息。PING使用ICMP协议的回显请求和回显应答报文来实现其功能。
PING的工作流程
PING程序会构造一个ICMP回显请求报文,其中包含源IP地址、目标IP地址、数据包大小等信息。
PING程序将ICMP回显请求报文发送到IP层,IP层会将ICMP回显请求报文封装在一个IP数据包中,并将其发送到目标主机。
目标主机的IP层会检查IP数据包的目标IP地址,如果匹配则将ICMP回显请求报文传递给ICMP层。
目标主机的ICMP层会构造一个ICMP回显应答报文,其中包含源IP地址、目标IP地址以及与ICMP回显请求报文相同的数据字段。
目标主机的ICMP层将ICMP回显应答报文发送到IP层,IP层会将ICMP回显应答报文封装在一个IP数据包中,并将其发送回源主机。
源主机的IP层会检查IP数据包的目标IP地址,如果匹配则将ICMP回显应答报文传递给ICMP层。
源主机的ICMP层会计算往返时间并显示出来。
PING的应用场景
PING命令常用于检测网络是否通畅或者网络连接速度。作为一个网络管理员或黑客,掌握PING命令是必要的,因为它可以帮助确定两台网络机器是否连接相通,以及连接的时延是多少。
ping命令原理就是向对方主机发送udp数据包,然后对方主机确认收到数据包,如果数据包到达的消息及时的反馈回来,那么网络就是畅通的