自己动手学TCP/IP--ICMP(ping报文)

ping是ICMP的一种,是用来检查网络是否通畅或者网络连接速度的命令。

报文长度(98bytes)= 以太网头(14bytes)+ IP头(20bytes)+ICMP头(8)+ ICMP数据内容(56字节)

报文格式

ICMP回显请求报文类型是8(ICMP_ECHO),标识符字段是进程的ID,用于接受应答包的处理,序列号是不断加1,ICMP数据内容选项则包含了发送包时系统的时间。
ICMP回显应答报文类型是1(ICMP_ECHOREPLY),标识符字段是发送进程的ID号,ICMP数据内容保存的是发送请求的时间,ping程序收到ICMP的回显应答包时,获取当前系统时间,然后与回显包中数据内容(发送的时间)相减,算出时间差。

下面是一张wireshark抓到的ping请求报文


下面是模拟简单的ping功能的代码,详细的代码可以查看

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值