一、icmp差错报文有哪几种
icmp差错报文有5种,分别是:终点不可达、源站抑制、时间超时、参数问题、改变路由。
1、 终点不可达:
分为:网络不可达,主机不可达,协议不可达,端口不可达,需要分片但DF比特已置为1,以及源路由失败等六种情况,其代码字段分别置为0至5。当出现以上六种情况时就向源站发送终点不可达报文。
2、源站抑制:
当路由器或主机由于拥塞而丢弃数据报时,就向源站发送源站抑制报文,使源站知道应当将数据报的发送速率放慢。
3、时间超时:
当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源站发送时间超过报文。当目的站在预先规定的时间内不能收到一个数据报的全部数据报片时,就将已收到的数据报片都丢弃,并向源站发送时间超过报文。
4、参数问题:
当路由器或目的主机收到的数据报的首部中的字段的值不正确时,就丢弃该数据报,并向源站发送参数问题报文。
5、改变路由:
路由器将改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。
二、为什么icmp差错报文里有ip报文
ICMP差错报文中包含IP报文是因为ICMP是基于IP协议的,用于在网络中传递错误和状态信息。当发生错误时,ICMP会将原始IP报文的一部分(通常是首部和一些数据)封装在差错报文中,以便通知发送方发生了什么错误。这样做可以帮助网络管理员和应用程序开发人员更好地诊断和解决网络问题,同时提供更详细的错误信息。因此,ICMP差错报文中包含IP报文是为了提供更全面的网络故障诊断和错误报告。
三、icmp差错报文怎么抓
您好,要抓取icmp差错报文,可以使用网络抓包工具,例如Wireshark等。下面是具体的步骤:
1. 打开Wireshark,选择要抓取的网络接口。
2. 在过滤器栏中输入“icmp”,这样可以过滤出所有的icmp报文。
3. 如果只想抓取icmp差错报文,可以在过滤器栏中输入“icmp.type == 3”,其中3代表差错报文的类型。
4. 点击开始捕获按钮,等待一段时间,直到抓到需要的icmp差错报文。
5. 选择需要的报文,可以查看报文的详细信息,包括差错类型、差错代码等。
需要注意的是,抓取icmp差错报文需要有相应的网络环境和流量,否则可能无法抓到需要的报文。

四、icmp协议能不能确定ip
1、icmp协议本身并不能直接确定IP地址,因为它只是一个网络协议,不负责传输数据包。然而,当主机与目标主机通信时,主机需要发送ICMP请求来确定目标主机是否可达和响应情况。
2、当目标主机响应时,ICMP报文中将包含目标主机的IP地址。因此,可以通过ICMP请求和响应来间接确定IP地址。但是,需要注意的是,ICMP报文可以被篡改和伪造,所以不能完全信任ICMP协议来确定IP地址,必须结合其他手段进行验证。
五、icmp的两个重要命令
1、ping和traceroute
2、前面说到,尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器。所以Traceroute正好就填补了这个缺憾。





























