前言:icmp协议一般结合ping与tracert命令进行使用。操作系统中规定的icmp数据包规定的不能超过64kb,而ping攻击就是利用这一特点大量发送ping包导致目标主机内存分配错误等情况导致tcp/ip推栈崩溃导致网络故障或目标主机死机(影响到内存的才会死机!)。
【adi:icmp协议在ip层也就是网络层与传输层之间用于判断目标主机是否网络正常!】
icmp主要功能:
(1) 确认IP包是否成功到达目标地址。
(2) 通知在发送过程中IP包被丢弃的原因。
【adi:icmp协议在ip层也就是网络层与传输层直接用于判断目标主机通信是否网络正常!如果不正常会返回错误原因。】
imcp返回错误信息抓包:
ps:如下提示无法访问目标(主机管理禁止)说明网络是正常的因为192.168.98.3能正常回复包。而我们之前学过icmp用于判断主机通信是否正常,如果有问题就会返回故障原因!比如下图抓包中的(主机管理禁止)其实原因是在192.168.98.3这个主机的防火墙上的端口被我禁止了,这时候你只需要检查网络层的上层的问题。
【adi:需要注意的是只有tcp协议的才会返回错误信息!如果是udp协议这种不可靠的协议是没有错误信息返回的!具体可以自己去了解tcp与udp协议的区别,因为抓包必须要有扎实的网络基础知识。】
tracert路由跟着抓包:
【adi: 路由跟踪常用来检测通信是否被网管交换机、路由器等中间设备禁止了或者说检测是否是中间设备出现的故障。注意:这里的路由跟踪只能检测ip也就是网络层通信是否正常!如果是端口被禁止可以结合“telnet”,“nc”命令进行检测!因为端口是在传输层才有的!】
如下经过10个跳跃点所以在抓包的时候ttl的值为11时才成功到达8.8.8.8,最后与8.8.8.8成功建立通信,那如果到达100.64.0.1(我连接外网的路由器)之后就显示错误的话,我们就可以判断检查100.64.0.1该设备的问题了!