ICMP 报文包含 引起该 ICMP 报文首次生成的 IP 数据报的首部和前 8 字节?怎么验证
source link: https://www.v2ex.com/t/815287
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
就是上面这句话,ICMP 报文包含 引起该 ICMP 报文首次生成的 IP 数据报的首部和前 8 字节? 我试了一下 wireshark 抓包 ping 命令,https://blog.csdn.net/weixin_41656968/article/details/80595038 ,还是没看出来头绪。所以怎么通过抓包验证这句话?
另外,“以便发送方能确定引发该差错的数据报”,这句话看起来好像很合理,但是我没有从抓包得到验证 上一句的证据,所以这句话也有点疑惑。
我只发现,每一对 ICMP 请求和回应里,它们的 ICMP 的 payload 都是什么 61 62 63 ... 这样的无意义的东西。
senghoo 7 小时 6 分钟前
其他的比如( Destination unreachable )。这部分是有 IP 头部和其他 8 字节内容。
xarthur 6 小时 57 分钟前
随便查了一个英文的说法是
1. Type (类型)一个字节,用来表示 ICMP 包的类型
2. Code (代码)一个字节,一般用来表示报文的类型和提供关于出错类型的附加信息
3. Checksum (校验码) 2 个字节,用来校验报文
4. Pointer (指针) 4 个字节,用来指出原始 IP 报文中出错的位置
5. 数据部分,IPv4 下是 72 字节,IPv6 下是 160 个字节,内容是有错误的 IP 报文
dendi009 6 小时 56 分钟前
xarthur 6 小时 43 分钟前
手工构造了一个 host-unreachable 的请求,你可以看到,确实会带 IP 包的信息的,包括地址。
amiwrong123 6 小时 34 分钟前
amiwrong123 6 小时 22 分钟前
看到了 12.12.12.12 就是 4 个 0C , 4 个 0C 后面的,就是我想要的 东西了。数了一下,payload 一共有 64 个字节。
即 IP 数据报的首部和前 8 字节 = 64 字节。哇,那 这个 IP 数据报的首部有 56 字节啊,好长啊
xarthur 6 小时 16 分钟前
这张图你可能看的清楚点,4 个 0C (也就是 12.12.12.12 )之后就是我之前的发送报文( ICMP Echo )。
你注意看上面 Wireshark 给的报文结构
amiwrong123 1 小时 1 分钟前
我有点不太会弄这个 iptables ,本着不懂就问的原则,我先按照 这文章里的 https://www.cnblogs.com/EasonJim/p/6851007.html 先新建一个 rules.v4 ,做完步骤。然后在 这文件添加一行啥呢?(我是用 Windows 的 Ubuntu 虚拟机)
类似于
iptables -A INPUT -p tcp -m tcp --dport 4444 -j DROP 吗
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK