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)原理相关推荐

  1. traceroute命令(unix)/tracert命令(windows)的工作原理

    traceroute命令(unix)/tracert命令(windows)的工作原理     traceroute命令和tracert命令的工作原理是一样的,只是前者用于unix和linux系统中,而 ...

  2. TraceRoute(tracert)实现原理

    TraceRoute(tracert)实现原理 佟强 2008.11.4 TraceRoute程序的实现主要涉及IP头部生存时间(time to live, TTL)字段的使用. 设置TTL字段的目的 ...

  3. traceroute和tracert的原理

    traceroute的原理: 1.traceroute主机向被trace主机发送UDP的数据包,目的端口是编号较大的端口(比如33434端口) 2.首包TTL=1,Dport=33434:以后的数据包 ...

  4. 【计算机网络】网络层 : ICMP 协议 ( ICMP 差错报文 | 差错报文分类 | ICMP 询问报文 | ICMP 应用 | Ping | Traceroute )

    文章目录 一.ICMP 协议 二.ICMP 协议 简介 三.ICMP 五种差错报告报文 四.ICMP 差错报文形成 五.ICMP 差错报文 不发送 情形 六.ICMP 询问报文 七.ICMP 应用 一 ...

  5. 计算机网络——ICMP/IGMP协议原理

    摘要 ICMP全称是Internet Control Message Protocol,也就是互联网控制报文协议.网络包在复杂的网络传输环境里,常常会遇到各种问题.当遇到问题的时候,总不能死个不明不白 ...

  6. ICMP隧道通信原理与通信特征

    一 ICMP 隧道技术解析 ICMP协议 ICMP(InternetControl MessageProtocol)Internet控制报文协议.它是TCP/IP协议簇的一个子协议,用于在IP主机.路 ...

  7. P2P之UDP穿透NAT的原理

    关键词: P2P UDP NAT 原理 穿透 Traveral Symmetric Cone 原始作者: Hwycheng Leo(FlashBT@Hotmail.com) 源码下载: http:// ...

  8. P2P之UDP穿透NAT的原理与实现(转)

    论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码).呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理. 首先先介绍一些基本概念:     NAT(Netw ...

  9. P2P之UDP穿透NAT的原理与实现

    作者:Dipper 文章来源:http://herald.seu.edu.cn/blog/dipper/articles/7781.aspx 声明:原文来自P2P中国网,C#实现是作者做的,供参考 关 ...

最新文章

  1. Dynamic Network Surgery for Efficient DNNs
  2. 《看透springmvc源码分析与实践》读书笔记一
  3. 有微型计算机广告,广告还会受欢迎?都是斯巴达克显卡惹的“祸”
  4. android实用代码
  5. lambda函数,函数符_为什么您永远不应该在Lambda函数中使用print()
  6. 记Bugly崩溃查找过程unity-il2cpp
  7. 为什么c语言2的n次方减一,计算2的N次方........有什么错吗?
  8. 使用kubeadm安装部署k8s
  9. Rocksdb参数总结
  10. 三星S7edge番茄花园ROM
  11. 如何写毕业设计——开题报告
  12. matlab fft 历程,MATLAB利用FFT分析不足一个完整周期的信号时的问题
  13. 综合实验-基于RS485的多机评分系统
  14. matlab绘制空间摆线轨迹
  15. 51Nod【1419】-最小公倍数挑战
  16. centos7 安装Kong和Konga
  17. 基于SpringBoot+Vue的学生成绩管理系统
  18. babylonjs 分部加载模型_17 Babylonjs入门进阶 使用场景加载器加载glTF,OBJ,STL模型...
  19. 第八章《Java高级语法》第3节:位运算符
  20. 机器学习——损失函数(lossfunction)

热门文章

  1. 大型 SPA 项目架构设计与重构
  2. Java俱乐部第三周练习题
  3. 【人工智能】论未来人工智能的大模型生态:重塑技术前景与应用
  4. css变成块级元素_css块级元素
  5. Html 中的块级元素和行内元素(内联元素)
  6. 秋冬美白必知的最佳美容时段
  7. 黑塞矩阵和雅可比矩阵理解
  8. python字符串说法错误的是_以下选项中,关于Python字符串的描述错误的
  9. App Inventor 免费扩展插件网站
  10. c语言宏替换作用,C语言中,宏替换的替换规则