[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)原理的更多相关文章
- IP封包协议头/TCP协议头/TCP3次握手/TCP4次挥手/UDP协议头/ICMP协议头/HTTP协议(请求报文和响应报文)/IP地址/子网掩码(划分子网)/路由概念/MAC封包格式
IP协议头IP包头格式: 1.版本号:4个bit,用来标识IP版本号.这个4位字段的值设置为二进制的0100表示IPv4,设置为0110表示IPv6.目前使用的IP协议版本号是4. 2.首部长度:4个 ...
- iptables详解(7):iptables扩展之udp扩展与icmp扩展
前文中总结了iptables的tcp扩展模块,此处,我们来总结一下另外两个跟协议有关的常用的扩展模块,udp扩展与icmp扩展. udp扩展 我们先来说说udp扩展模块,这个扩展模块中能用的匹配条件比 ...
- 关于Ping和Tracert命令原理详解
本文只是总结了两个常用的网络命令的实现原理和一点使用经验说明.这些东西通常都分布在各种书籍或者文章中的,我勤快那么一点点,总结一下,再加上我的一点理解和使用经验,方便大家了解.这些也是很基础的东西,没 ...
- [转]UDP穿透NAT的原理与实现(UDP“打洞”原理)
NAT(The IP Network Address Translator) 的概念和意义是什么? NAT, 中文翻译为网络地址转换.具体的详细信息可以访问RFC 1631 - http://www. ...
- 【转】P2P之UDP穿透NAT的原理与实现(附源代码)
作者:shootingstars (有容乃大,无欲则刚) 日期:2004-5-25 出处:P2P中国(PPcn.net) P2P 之 UDP穿透NAT的原理与实现(附源代码)原创:shootings ...
- UDP反射DDoS攻击原理和防范
东南大学:UDP反射DDoS攻击原理和防范 2015-04-17 中国教育网络 李刚 丁伟 反射攻击的防范措施 上述协议安装后由于有关服务默认处于开启状态,是其被利用的一个重要因素.因此,防范可以从配 ...
- 27.Socket,TCP,UDP,HTTP基本通信原理
Socket,TCP,UDP,HTTP基本通信原理(摘自百度): TCP.UDP,HTTP 底层通信都是通过 socket 套接字实现 网络上不同的计算机,也可以通信,那么就得使用网络套接字(sock ...
- ping程序和tracert(traceroute)背后的故事--ICMP协议
为路由器生,为交换机死,为了Ping通奋斗一辈子-----tracert.cn 上面是一个网络工程师的个人定位,很有意思,哈哈!那么我们来看看ping和tracert都是什么吧 PING (Packe ...
- 网络协议学习笔记(二)物理层到MAC层,交换机和VLAN,ICMP与ping原理
概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿 ...
随机推荐
- Dubbo源码解读:appendAnnotation [01]
import java.lang.reflect.Method; public class AppendAnnotation { /** * 获取某个Annotation实例的所有方法值(实际是Ann ...
- python 模块之platform模块(基本了解)
# -*- coding: cp936 -*-#python 27#xiaodeng#python 模块之platform模块(基本了解)#获取底层平台的识别数据 #知道该模块用途即可,需要使用时直接 ...
- 洛谷 P1736 创意吃鱼法
题目描述 题目链接:https://www.luogu.org/problemnew/show/P1736 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢( ...
- Screen2EXE录屏|录制视频
Screen2EXE是一款具有独到压缩算法的屏幕录制软件,它可以记录用户在屏幕上的每一步操作,包括鼠标轨迹,点击动作给予花环提示,然后保存为不需播放器即可观看的exe可执行文件. 在生成录制文件的大小 ...
- 转:折腾一晚上Bullet及Ogre相关工具的成果 -- 3Ds Max,Maya, blender, GameKit
起始目的很简单,整合Bullet及Ogre,找个能够生成.scene和.bullet文件的建模工具. 折腾一晚上Bullet及Ogre相关的东西,基本上就像爱迪生发明灯泡一样,得出了N个失败的教训,总 ...
- win32获取浏览器当前Tab的URL
代码都是win10上测试的 1. 获取IE的URL,Enum IE窗口的子句柄,找到className为Edit的句柄,然后用SendMessage WM_GETTEXT消息来获取: 上代码: #in ...
- Dubbo创建提供者&消费者工程
1. 前言 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载.如果不想使 ...
- los中预览文件
#import <UIKit/UIKit.h> #import <QuickLook/QuickLook.h> @interface ViewController : UIVi ...
- Swift3 获取当前连接WIFI名称
1.导入库 import SystemConfiguration import SystemConfiguration.CaptiveNetwork 2.方法 /// 获取wifi名称 /// /// ...
- Tex
关于Tex,有许多概念.许多软件.这些软件是做什么的,要解决哪些问题,今日好好总结一下. 就像任何领域一旦引入代数系统,一切都会变得井然有序一样.就像用五行八卦描述事物,事物的规律就变得清晰一样,类比 ...
