已知IPv4报文头部0x4500标识,如何快速识别源IP与目的IP地址?
IPv4报文源、目的地址定位方法
基础定位规则
IPv4首部无可选字段时固定长度为20字节,所有字段从报文起始位置(即你提到的0x4500所在的首字节位置)从0开始计数偏移:
- 偏移量12~15字节(共4字节):源IPv4地址
- 偏移量16~19字节(共4字节):目的IPv4地址
快速识别技巧
不需要逐字段核对,直接按以下规则定位即可:
- 先锁定
0x4500的起始位置,这是IPv4首部的第一个字节 - 从该位置往后数12个字节(如果是十六进制报文片段,每2个十六进制字符对应1字节,也就是往后数24个十六进制字符)
- 接下来连续8个十六进制字符就是源IPv4地址,每2个字符转十进制按顺序拼接即可得到点分十进制的源IP
- 再往后连续8个十六进制字符就是目的IPv4地址,换算方法和源IP一致
举个实际报文片段示例:
报文开头十六进制为 45 00 00 3c 1e 46 00 00 40 06 7a 1c c0 a8 01 64 0a 0a 01 01
- 源IP对应段为
c0 a8 01 64,换算后为192.168.1.100 - 目的IP对应段为
0a 0a 01 01,换算后为10.10.1.1
内容的提问来源于stack exchange,提问作者Skyb
相关产品推荐
相关产品推荐

