ICMP
ICMP
ICMP(Internet Control Message Protocol)协议:互联网控制报文协议。
ICMP是网络探测与回馈机制的一种
ICMP格式
ICMP报文由ICMP头和数据(无用数据)组成
ICMP主要类型字段:
8:ping请求
0:ping应答
3:目标主机不可达
11、TTL超时
当主机ping别人时,会发送ICMP报文,报文里的ICMP类型为8,代码为0(代码不同,情况不同,参考:什么是ICMP?ICMP如何工作? - 华为 (huawei.com))
ping通时,别人又会返回一个类型0,代码0的ICMP报文来回馈。
作用
-
网络探测
例:ping
-
路由跟踪
命令:
windows:tracert IP地址
linux或路由:traceroute IP地址
原理
pc0构造一个TTL值为1的数据包发送给目标IP(20.1.1.1),当该数据包到达第一个路由器时,TTL值减一,刚好为0,路由器丢弃该数据包,并给pc0发送一个类型为11,代码为0的ICMP报文,pc0就可知道第一个经过的路由器IP地址。
随后TTL值取2、3、4...不断加一,获取中间路上经过的路由器IP地址(获得的都是离pc近的路由器的端口)。
第一个就是序号
第二个是往返时间:表示了从源到目标的往返延迟
第三个是源到第一个路由器的往返时间:表示源主机与第一个路由器之间的延迟
第四个是到最后一个路由器的往返时间:表示了探测数据包从目标主机返回源主机的延迟。
*号原因:防火墙,超时,ICMP 协议被禁用
-
错误反馈
上面也有用到,就是路由器或目标设备返回的ICMP报文,里面的类型是报错的那些,一个反馈机制。
smurf攻击
攻击者将源ip设置为广播地址,路由器路由时将目标地址设置成广播地址进行路由,对应网段的主机都会收到该数据包
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理