目录
ping 1.0.0.1 回包报文十进制显示
一个 IPv4 包的结构
解析
69 0 0 60
50 51 0 0
55 1 141 14
1 0 0 1
192 168 2 215
ICMP 报文
0 0 75 233
179 202 0 76
报文获取代码
参考
ping 1.0.0.1 回包报文十进制显示
69 0 0 60 50 51 0 0 55 1 141 14 1 0 0 1 192 168 2 215 0 0 75 233 179 202 0 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
一个 IPv4 包的结构
解析
69 0 0 60
69 转成16进制为45
4 为 版本 ( version ),4代表ipv4
5 头部长度 ,表示头部由多少个4字节组成,详情可见下图的例子
0 表示区分服务和显式拥塞通告
0 服务类型
60 表示 ip包全长
即60个字节,对应报文每行4个字节,一共15行。
50 51 0 0
50 51 为 标识符
0 标识
0 分片偏移
55 1 141 14
51 存活时间
也就是 TTL,routetrace 用的就是这个1 协议
1 为互联网控制消息协议,缩写ICMP141 14 头部校验
该字段只对 IP 头部查错,而不关心数据部分。
1 0 0 1
源地址,因为是个回包,所以源地址是我们ping的地址
192 168 2 215
目的地址,为我本地网卡地址
ICMP 报文
0 0 75 233
0 表示ICMP类型:回显应答(ping应答)
0 code
75 233 Checksum
179 202 0 76
179 202 Identifier
0 76 Sequence Number
报文获取代码
ping 代码可见 php ping ipv4 by socket
socket_recvfrom($sock, $recv, 65535 , 0, $host, $port); // 回包报文十进制显示 echo implode(' ',unpack('C*', $recv)); $recv = unpack('C*', $recv);
参考
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://zblog.hqyman.cn/post/10280.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~