[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超时来检测
参考
项 | 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可以理解为数据包的寿命
[svc]traceroute(udp+icmp)tracert(icmp)原理相关推荐
- traceroute命令(unix)/tracert命令(windows)的工作原理
traceroute命令(unix)/tracert命令(windows)的工作原理 traceroute命令和tracert命令的工作原理是一样的,只是前者用于unix和linux系统中,而 ...
- TraceRoute(tracert)实现原理
TraceRoute(tracert)实现原理 佟强 2008.11.4 TraceRoute程序的实现主要涉及IP头部生存时间(time to live, TTL)字段的使用. 设置TTL字段的目的 ...
- traceroute和tracert的原理
traceroute的原理: 1.traceroute主机向被trace主机发送UDP的数据包,目的端口是编号较大的端口(比如33434端口) 2.首包TTL=1,Dport=33434:以后的数据包 ...
- 【计算机网络】网络层 : ICMP 协议 ( ICMP 差错报文 | 差错报文分类 | ICMP 询问报文 | ICMP 应用 | Ping | Traceroute )
文章目录 一.ICMP 协议 二.ICMP 协议 简介 三.ICMP 五种差错报告报文 四.ICMP 差错报文形成 五.ICMP 差错报文 不发送 情形 六.ICMP 询问报文 七.ICMP 应用 一 ...
- 计算机网络——ICMP/IGMP协议原理
摘要 ICMP全称是Internet Control Message Protocol,也就是互联网控制报文协议.网络包在复杂的网络传输环境里,常常会遇到各种问题.当遇到问题的时候,总不能死个不明不白 ...
- ICMP隧道通信原理与通信特征
一 ICMP 隧道技术解析 ICMP协议 ICMP(InternetControl MessageProtocol)Internet控制报文协议.它是TCP/IP协议簇的一个子协议,用于在IP主机.路 ...
- P2P之UDP穿透NAT的原理
关键词: P2P UDP NAT 原理 穿透 Traveral Symmetric Cone 原始作者: Hwycheng Leo(FlashBT@Hotmail.com) 源码下载: http:// ...
- P2P之UDP穿透NAT的原理与实现(转)
论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码).呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理. 首先先介绍一些基本概念: NAT(Netw ...
- P2P之UDP穿透NAT的原理与实现
作者:Dipper 文章来源:http://herald.seu.edu.cn/blog/dipper/articles/7781.aspx 声明:原文来自P2P中国网,C#实现是作者做的,供参考 关 ...
最新文章
- Dynamic Network Surgery for Efficient DNNs
- 《看透springmvc源码分析与实践》读书笔记一
- 有微型计算机广告,广告还会受欢迎?都是斯巴达克显卡惹的“祸”
- android实用代码
- lambda函数,函数符_为什么您永远不应该在Lambda函数中使用print()
- 记Bugly崩溃查找过程unity-il2cpp
- 为什么c语言2的n次方减一,计算2的N次方........有什么错吗?
- 使用kubeadm安装部署k8s
- Rocksdb参数总结
- 三星S7edge番茄花园ROM
- 如何写毕业设计——开题报告
- matlab fft 历程,MATLAB利用FFT分析不足一个完整周期的信号时的问题
- 综合实验-基于RS485的多机评分系统
- matlab绘制空间摆线轨迹
- 51Nod【1419】-最小公倍数挑战
- centos7 安装Kong和Konga
- 基于SpringBoot+Vue的学生成绩管理系统
- babylonjs 分部加载模型_17 Babylonjs入门进阶 使用场景加载器加载glTF,OBJ,STL模型...
- 第八章《Java高级语法》第3节:位运算符
- 机器学习——损失函数(lossfunction)