[svc]traceroute(udp+icmp)&tracert(icmp)原理

2018年4月11日 11:41:29更新

工具发包触发点结局
traceroute初始发udp包ttl递增,icmp每一跳报ttl超时udp端口不可达
tracert初始发icmp request包触发点: ttl递增,icmp超时icmp echo reply

注: 触发点都是根据ttl超时来检测

参考

traceroutetracert
使用协议udp+2种icmp(ttl+端口不可达)仅2种icmp(ttl+icmp reply)
最终判别端口不可达ICMP Echo Reply
探测包都有唯一的标识号UDP数据包使用递增的目标端口号(33434)ICMP使用seq识别

traceroute原理:UDP+icmp(icmp ttl超时/icmp端口不可达) tcp&udp扫描原理

806469-20180305154253640-1482290077.png

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原理

806469-20180305154311748-149683623.png

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实验拓扑

806469-20180305154411156-1548877965.png

806469-20180305154247360-967552326.png

tracert实验

参考
806469-20180305163238034-301166992.png

附: icmp ttl超时

当访问到对端中途设备,发现ttl不够用的时候,中途设备随即返回一个icmp 报文 ttl不可达.

特点:
可见,这类icmp不是成双出现的, 它和ping的icmp一来一去不一样.
806469-20180305162453465-1936877413.png

TTL可以理解为数据包的寿命

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值