ICMP协议

ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用

应用

1.ping命令原理
(1)验证连通性
(2)统计响应时间和TTL
ping命令会创建一个固定的ICMP请求数据报,然后发送给目的主机,目的主机收到了ICMP请求数据包后,会构造一个ICMP应答数据包来发送给源端,如果源端收到了来自目的端的ICMP应答数据包那么证明双方的网络之间正常

2.traceroute
Traceroute的原理非常有意思,它知道目的主机的IP后,首先往目的主机发送一个TTL=1的UDP数据包,而经过的第一个路由器收到这个数据包后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃掉了,并同时产生一个主机不可达的ICMP数据报给主机,主机收到这个数据报之后再发送一个TTL=2的UDP数据报给目的主机,然后使得第二个路由器给主机发送ICMP数据报。如此反复知道到达目的主机,这样,traceroute就知道了所有的路由器的IP

差错报文

(1)目的站不可达
当路由器发送的数据报不能发送到指定目的地时,或者说当路由器不能够给数据报找到路由或主机不能够交付数据报时,就丢弃这个数据报,然后向发送数据报的源主机设备发回一个终点不可达数据报文
(2)数据报超时

  • 当路由器接收到的数据报的TTL生命周期字段值为0时,路由器会把该数据报丢弃掉,并向源主机发回一个ICMP超时报文。
  • 另外,当目标主机在规定时间内没有收到所有的数据分片时,会把已经收到的所有数据分片丢弃,并向源主机发回一个ICMP超时报文。在超时报文中,代码0只能给路由器使用,表示生存周期字段值为0,代码1只能给目的主机使用,它表示在规定的时间内,目的主机没有收到所有的数据分片

(3)源站抑制
当路由器或主机由于拥塞而丢弃数据报时,就向源站发送源站抑制报文,使源站知道应当将数据报的发送速率放慢
(4)路由重定向
路由器将改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器
(5)端口不可达
UDP的规则之一是:如果收到UDP数据报而且目的端口与某个正在使用的进程不相符,那么UDP返回一个ICMP不可达报文。
(6)参数问题
当路由器或目的主机收到的数据报的首部中的字段的值不正确时,就丢弃该数据报,并向源站发送参数问题报文

ICMP攻击

当 ICMP ping 产生的大量回应请求超出了系统的最大限度,以至于系统耗费所有资源来进行响应直至再也无法处理有效的网络信息流,这就是 ICMP 洪水攻击。简单说攻击者向一个子网的广播地址发送多个ICMP Echo请求数据包。并将源地址伪装成想要攻击的目标主机的地址。然后该子网上的所有主机均会对此ICMP Echo请求包作出答复,向被攻击的目标主机发送数据包,使此主机受到攻击,导致网络阻塞。ICMP Flood攻击主要的目的使网络瘫痪

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值