icmp协议是tcp还是udp_icmp协议使用udp
2023-06-13 09:11:13 时间
2018年4月11日 11:41:29更新
工具 | 发包 | 触发点 | 结局 |
---|---|---|---|
traceroute | 初始发udp包 | ttl递增,icmp每一跳报ttl超时 | udp端口不可达 |
tracert | 初始发icmp request包 | 触发点: ttl递增,icmp超时 | icmp echo reply |
注: 触发点都是根据ttl超时来检测
项 | traceroute | tracert |
---|---|---|
使用协议 | udp+2种icmp(ttl+端口不可达) | 仅2种icmp(ttl+icmp reply) |
最终判别 | 端口不可达 | ICMP Echo Reply |
探测包都有唯一的标识号 | UDP数据包使用递增的目标端口号(33434) | ICMP使用seq识别 |
traceroute原理:UDP+icmp(icmp ttl超时/icmp端口不可达) tcp&udp扫描原理
1. 从源地址发出一个UDP探测包到目的地址,并将TTL设置为1;
2. 到达路由器时,将TTL减1;
3. 当TTL变为0时,包被丢弃,路由器向源地址发回一个ICMP超时通知(ICMP Time Exceeded Message),内含发送IP包的源地址,IP包的所有内容及路由器的IP地址;
4. 当源地址收到该ICMP包时,显示这一跳路由信息;
5. 重复1~5,并每次设置TTL加1;
6. 直至目标地址收到探测数据包,并返回端口不可达通知(ICMP Port Unreachable);
7. 当源地址收到ICMP Port Unreachable包时停止traceroute。
注:
1, UDP目标端口从33434开始,一次递增
2, TTL从1开始,依次递增
3, 每个探针发3次.
tracert原理
1. 从源地址发出一个ICMP请求回显(ICMP Echo Request)数据包到目的地址,并将TTL设置为1;
2. 到达路由器时,将TTL减1;
3. 当TTL变为0时,包被丢弃,路由器向源地址发回一个ICMP超时通知(ICMP Time Exceeded Message),内含发送IP包的源地址,IP包的所有内容及路由器的IP地址;
4. 当源地址收到该ICMP包时,显示这一跳路由信息;
5. 重复1~5,并每次设置TTL加1;
6. 直至目标地址收到探测数据包,并返回ICMP回应答复(ICMPEcho Reply);
7. 当源地址收到ICMP Echo Reply包时停止tracert。
traceroute实验拓扑
tracert实验
附: icmp ttl超时
当访问到对端中途设备,发现ttl不够用的时候,中途设备随即返回一个icmp 报文 ttl不可达.
特点: 可见,这类icmp不是成双出现的, 它和ping的icmp一来一去不一样.
TTL可以理解为数据包的寿命
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193249.html原文链接:https://javaforall.cn
相关文章
- LLDP 协议
- Socket TCP协议解决粘包、半包问题的三种解决方案
- EasyGBS平台使用TCP协议级联后视频无法播放是什么原因?
- arp属于tcp/ip协议吗_tcp协议与ip协议的区别
- tcp/ip协议包含哪几层_ip协议提供的是一种什么服务
- TCP和UDP协议的区别_tcp和ip是什么意思
- 30. 传输层(2) —— TCP协议格式
- Gossip协议及Consul中的实现
- GB28181基于TCP协议的视音频媒体传输探究及实现
- http协议与tcp协议区别[通俗易懂]
- tcp和udp的区别和使用场景_TCP跟UDP有什么不同
- 浅谈TCP和UDP协议
- Golang 开发 Socket 通信时常用的 TCP 封包和解包协议
- k8s双栈协议无法访问集群外ipv6服务(解决)
- TCP协议端口状态说明:CLOSE-WAIT、TIME-WAIT 、LISTENING、SYN_SENT、ESTABLISHED、LAST-ACK …详解程序员
- Linux 测试 TCP: 探索极限可靠性(linux测试tcp)
- 端口开放Linux 检测TCP端口开放情况的实现(linux判断tcp)
- 协议Linux内核探索:TCP协议的历程(linux内核tcp)
- 媒体:黑石接近达成以30亿美元收购SOHO中国的协议
- TCP/IP 协议
- 使用 Oracle TNS 协议进行连接(oracletns协议)
- 深入探究Linux下的TCP协议工作机制(linuxtcp)
- Linux如何断开TCP连接(linux断开tcp连接)
- 协议Redis使用TCP协议建立稳定通信(redis通过什么通信)
- 使用TCP连接Redis体验快速便捷(redis连接是tcp)
- 简单易用利用TCP连接Redis服务器(redis连接使用tcp)