网络路径探测三大技术:原理、缺陷与选型指南

一、为什么需要路径探测?

想知道你的数据包从电脑到服务器,经过了哪些路由器


二、三种技术原理对比

#mermaid-svg-zyupOaXSNl2DEN6a{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-zyupOaXSNl2DEN6a .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-zyupOaXSNl2DEN6a .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-zyupOaXSNl2DEN6a .error-icon{fill:#552222;}#mermaid-svg-zyupOaXSNl2DEN6a .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-zyupOaXSNl2DEN6a .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-zyupOaXSNl2DEN6a .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-zyupOaXSNl2DEN6a .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-zyupOaXSNl2DEN6a .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-zyupOaXSNl2DEN6a .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-zyupOaXSNl2DEN6a .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-zyupOaXSNl2DEN6a .marker{fill:#333333;stroke:#333333;}#mermaid-svg-zyupOaXSNl2DEN6a .marker.cross{stroke:#333333;}#mermaid-svg-zyupOaXSNl2DEN6a svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-zyupOaXSNl2DEN6a p{margin:0;}#mermaid-svg-zyupOaXSNl2DEN6a .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-zyupOaXSNl2DEN6a .cluster-label text{fill:#333;}#mermaid-svg-zyupOaXSNl2DEN6a .cluster-label span{color:#333;}#mermaid-svg-zyupOaXSNl2DEN6a .cluster-label span p{background-color:transparent;}#mermaid-svg-zyupOaXSNl2DEN6a .label text,#mermaid-svg-zyupOaXSNl2DEN6a span{fill:#333;color:#333;}#mermaid-svg-zyupOaXSNl2DEN6a .node rect,#mermaid-svg-zyupOaXSNl2DEN6a .node circle,#mermaid-svg-zyupOaXSNl2DEN6a .node ellipse,#mermaid-svg-zyupOaXSNl2DEN6a .node polygon,#mermaid-svg-zyupOaXSNl2DEN6a .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-zyupOaXSNl2DEN6a .rough-node .label text,#mermaid-svg-zyupOaXSNl2DEN6a .node .label text,#mermaid-svg-zyupOaXSNl2DEN6a .image-shape .label,#mermaid-svg-zyupOaXSNl2DEN6a .icon-shape .label{text-anchor:middle;}#mermaid-svg-zyupOaXSNl2DEN6a .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-zyupOaXSNl2DEN6a .rough-node .label,#mermaid-svg-zyupOaXSNl2DEN6a .node .label,#mermaid-svg-zyupOaXSNl2DEN6a .image-shape .label,#mermaid-svg-zyupOaXSNl2DEN6a .icon-shape .label{text-align:center;}#mermaid-svg-zyupOaXSNl2DEN6a .node.clickable{cursor:pointer;}#mermaid-svg-zyupOaXSNl2DEN6a .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-zyupOaXSNl2DEN6a .arrowheadPath{fill:#333333;}#mermaid-svg-zyupOaXSNl2DEN6a .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-zyupOaXSNl2DEN6a .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-zyupOaXSNl2DEN6a .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zyupOaXSNl2DEN6a .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-zyupOaXSNl2DEN6a .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zyupOaXSNl2DEN6a .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-zyupOaXSNl2DEN6a .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-zyupOaXSNl2DEN6a .cluster text{fill:#333;}#mermaid-svg-zyupOaXSNl2DEN6a .cluster span{color:#333;}#mermaid-svg-zyupOaXSNl2DEN6a div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-zyupOaXSNl2DEN6a .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-zyupOaXSNl2DEN6a rect.text{fill:none;stroke-width:0;}#mermaid-svg-zyupOaXSNl2DEN6a .icon-shape,#mermaid-svg-zyupOaXSNl2DEN6a .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zyupOaXSNl2DEN6a .icon-shape p,#mermaid-svg-zyupOaXSNl2DEN6a .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-zyupOaXSNl2DEN6a .icon-shape .label rect,#mermaid-svg-zyupOaXSNl2DEN6a .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zyupOaXSNl2DEN6a .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-zyupOaXSNl2DEN6a .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-zyupOaXSNl2DEN6a :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} ICMP


TCP


正常会话


开始路径探测
选择探测协议
发送 TTL=1/2/3... 的 UDP/ICMP 包
中间路由器 TTL 耗尽
返回 ICMP 超时消息
源端获取该跳 IP
到达目标?
目标返回 ICMP 端口不可达/应答
✅ 获得完整路径
发送 TTL=1/2/3... 的 SYN 包
中间路由器 TTL 耗尽
返回 ICMP 超时消息
源端获取该跳 IP
到达目标?
目标返回 SYN-ACK 或 RST
✅ 获得完整路径
在已建立的 TCP 连接中

发送 TTL递增的 ACK 包
中间路由器 TTL 耗尽
返回 ICMP 超时消息
源端获取该跳 IP
到达目标?
目标正常接收 ACK

不影响业务
✅ 获得完整路径


三、三种技术核心对比(一图看懂)

#mermaid-svg-5iIEBVcNMdOOSSwp{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-5iIEBVcNMdOOSSwp .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-5iIEBVcNMdOOSSwp .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-5iIEBVcNMdOOSSwp .error-icon{fill:#552222;}#mermaid-svg-5iIEBVcNMdOOSSwp .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-5iIEBVcNMdOOSSwp .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-5iIEBVcNMdOOSSwp .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-5iIEBVcNMdOOSSwp .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-5iIEBVcNMdOOSSwp .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-5iIEBVcNMdOOSSwp .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-5iIEBVcNMdOOSSwp .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-5iIEBVcNMdOOSSwp .marker{fill:#333333;stroke:#333333;}#mermaid-svg-5iIEBVcNMdOOSSwp .marker.cross{stroke:#333333;}#mermaid-svg-5iIEBVcNMdOOSSwp svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-5iIEBVcNMdOOSSwp p{margin:0;}#mermaid-svg-5iIEBVcNMdOOSSwp .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-5iIEBVcNMdOOSSwp .cluster-label text{fill:#333;}#mermaid-svg-5iIEBVcNMdOOSSwp .cluster-label span{color:#333;}#mermaid-svg-5iIEBVcNMdOOSSwp .cluster-label span p{background-color:transparent;}#mermaid-svg-5iIEBVcNMdOOSSwp .label text,#mermaid-svg-5iIEBVcNMdOOSSwp span{fill:#333;color:#333;}#mermaid-svg-5iIEBVcNMdOOSSwp .node rect,#mermaid-svg-5iIEBVcNMdOOSSwp .node circle,#mermaid-svg-5iIEBVcNMdOOSSwp .node ellipse,#mermaid-svg-5iIEBVcNMdOOSSwp .node polygon,#mermaid-svg-5iIEBVcNMdOOSSwp .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-5iIEBVcNMdOOSSwp .rough-node .label text,#mermaid-svg-5iIEBVcNMdOOSSwp .node .label text,#mermaid-svg-5iIEBVcNMdOOSSwp .image-shape .label,#mermaid-svg-5iIEBVcNMdOOSSwp .icon-shape .label{text-anchor:middle;}#mermaid-svg-5iIEBVcNMdOOSSwp .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-5iIEBVcNMdOOSSwp .rough-node .label,#mermaid-svg-5iIEBVcNMdOOSSwp .node .label,#mermaid-svg-5iIEBVcNMdOOSSwp .image-shape .label,#mermaid-svg-5iIEBVcNMdOOSSwp .icon-shape .label{text-align:center;}#mermaid-svg-5iIEBVcNMdOOSSwp .node.clickable{cursor:pointer;}#mermaid-svg-5iIEBVcNMdOOSSwp .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-5iIEBVcNMdOOSSwp .arrowheadPath{fill:#333333;}#mermaid-svg-5iIEBVcNMdOOSSwp .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-5iIEBVcNMdOOSSwp .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-5iIEBVcNMdOOSSwp .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-5iIEBVcNMdOOSSwp .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-5iIEBVcNMdOOSSwp .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-5iIEBVcNMdOOSSwp .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-5iIEBVcNMdOOSSwp .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-5iIEBVcNMdOOSSwp .cluster text{fill:#333;}#mermaid-svg-5iIEBVcNMdOOSSwp .cluster span{color:#333;}#mermaid-svg-5iIEBVcNMdOOSSwp div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-5iIEBVcNMdOOSSwp .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-5iIEBVcNMdOOSSwp rect.text{fill:none;stroke-width:0;}#mermaid-svg-5iIEBVcNMdOOSSwp .icon-shape,#mermaid-svg-5iIEBVcNMdOOSSwp .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-5iIEBVcNMdOOSSwp .icon-shape p,#mermaid-svg-5iIEBVcNMdOOSSwp .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-5iIEBVcNMdOOSSwp .icon-shape .label rect,#mermaid-svg-5iIEBVcNMdOOSSwp .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-5iIEBVcNMdOOSSwp .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-5iIEBVcNMdOOSSwp .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-5iIEBVcNMdOOSSwp :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 0trace方案
发送 ACK
TTL递增
靠ICMP超时回显
TCP方案
发送 SYN
TTL递增
靠ICMP超时回显
ICMP方案
发送 UDP/ICMP
TTL递增
靠ICMP超时回显
❌ 设备禁用ICMP就废
❌ NAT设备丢包
⚠️ 依赖已有会话


四、优缺点速查表

方案 工具示例 原理一句话 ✅ 优势 ❌ 缺陷
ICMP traceroute TTL递增,靠ICMP超时报文反推路径 简单通用,所有系统自带 路径设备禁用ICMP则完全失效
TCP traceroute -T tcptraceroute TTL递增的SYN包,靠ICMP超时报文反推路径 可穿透仅允许TCP的防火墙 不完整握手被NAT/状态防火墙丢弃
0trace 0trace 在已有TCP会话中发TTL递增的ACK包 伪装成正常流量,可探测内网段,绕过防火墙 必须有现存的TCP连接,建议多次运行

五、三种场景下的路径可见性

#mermaid-svg-Kf9cAAPDGkktD0sC{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Kf9cAAPDGkktD0sC .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Kf9cAAPDGkktD0sC .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Kf9cAAPDGkktD0sC .error-icon{fill:#552222;}#mermaid-svg-Kf9cAAPDGkktD0sC .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Kf9cAAPDGkktD0sC .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Kf9cAAPDGkktD0sC .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Kf9cAAPDGkktD0sC .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Kf9cAAPDGkktD0sC .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Kf9cAAPDGkktD0sC .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Kf9cAAPDGkktD0sC .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Kf9cAAPDGkktD0sC .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Kf9cAAPDGkktD0sC .marker.cross{stroke:#333333;}#mermaid-svg-Kf9cAAPDGkktD0sC svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Kf9cAAPDGkktD0sC p{margin:0;}#mermaid-svg-Kf9cAAPDGkktD0sC .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Kf9cAAPDGkktD0sC .cluster-label text{fill:#333;}#mermaid-svg-Kf9cAAPDGkktD0sC .cluster-label span{color:#333;}#mermaid-svg-Kf9cAAPDGkktD0sC .cluster-label span p{background-color:transparent;}#mermaid-svg-Kf9cAAPDGkktD0sC .label text,#mermaid-svg-Kf9cAAPDGkktD0sC span{fill:#333;color:#333;}#mermaid-svg-Kf9cAAPDGkktD0sC .node rect,#mermaid-svg-Kf9cAAPDGkktD0sC .node circle,#mermaid-svg-Kf9cAAPDGkktD0sC .node ellipse,#mermaid-svg-Kf9cAAPDGkktD0sC .node polygon,#mermaid-svg-Kf9cAAPDGkktD0sC .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Kf9cAAPDGkktD0sC .rough-node .label text,#mermaid-svg-Kf9cAAPDGkktD0sC .node .label text,#mermaid-svg-Kf9cAAPDGkktD0sC .image-shape .label,#mermaid-svg-Kf9cAAPDGkktD0sC .icon-shape .label{text-anchor:middle;}#mermaid-svg-Kf9cAAPDGkktD0sC .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Kf9cAAPDGkktD0sC .rough-node .label,#mermaid-svg-Kf9cAAPDGkktD0sC .node .label,#mermaid-svg-Kf9cAAPDGkktD0sC .image-shape .label,#mermaid-svg-Kf9cAAPDGkktD0sC .icon-shape .label{text-align:center;}#mermaid-svg-Kf9cAAPDGkktD0sC .node.clickable{cursor:pointer;}#mermaid-svg-Kf9cAAPDGkktD0sC .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Kf9cAAPDGkktD0sC .arrowheadPath{fill:#333333;}#mermaid-svg-Kf9cAAPDGkktD0sC .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Kf9cAAPDGkktD0sC .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Kf9cAAPDGkktD0sC .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Kf9cAAPDGkktD0sC .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Kf9cAAPDGkktD0sC .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Kf9cAAPDGkktD0sC .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Kf9cAAPDGkktD0sC .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Kf9cAAPDGkktD0sC .cluster text{fill:#333;}#mermaid-svg-Kf9cAAPDGkktD0sC .cluster span{color:#333;}#mermaid-svg-Kf9cAAPDGkktD0sC div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Kf9cAAPDGkktD0sC .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Kf9cAAPDGkktD0sC rect.text{fill:none;stroke-width:0;}#mermaid-svg-Kf9cAAPDGkktD0sC .icon-shape,#mermaid-svg-Kf9cAAPDGkktD0sC .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Kf9cAAPDGkktD0sC .icon-shape p,#mermaid-svg-Kf9cAAPDGkktD0sC .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Kf9cAAPDGkktD0sC .icon-shape .label rect,#mermaid-svg-Kf9cAAPDGkktD0sC .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Kf9cAAPDGkktD0sC .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Kf9cAAPDGkktD0sC .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Kf9cAAPDGkktD0sC :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 场景3: 路径中有IDS/IPS
ICMP traceroute
⚠️ 可能告警
TCP traceroute
❌ 易被识别为扫描
0trace
✅ 隐蔽性最高
场景2: 路径中有NAT/状态防火墙
ICMP traceroute
⚠️ 可能断在NAT前
TCP traceroute
❌ NAT丢包
0trace
✅ 利用已有会话穿透
场景1: 目标禁用ICMP
ICMP traceroute
❌ 终点无响应
TCP traceroute
✅ 可到达
0trace
✅ 可到达


六、什么情况下永远探不到完整路径?

#mermaid-svg-DJ9zsaGmVOlVSFxk{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-DJ9zsaGmVOlVSFxk .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-DJ9zsaGmVOlVSFxk .error-icon{fill:#552222;}#mermaid-svg-DJ9zsaGmVOlVSFxk .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-DJ9zsaGmVOlVSFxk .marker{fill:#333333;stroke:#333333;}#mermaid-svg-DJ9zsaGmVOlVSFxk .marker.cross{stroke:#333333;}#mermaid-svg-DJ9zsaGmVOlVSFxk svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-DJ9zsaGmVOlVSFxk p{margin:0;}#mermaid-svg-DJ9zsaGmVOlVSFxk .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-DJ9zsaGmVOlVSFxk .cluster-label text{fill:#333;}#mermaid-svg-DJ9zsaGmVOlVSFxk .cluster-label span{color:#333;}#mermaid-svg-DJ9zsaGmVOlVSFxk .cluster-label span p{background-color:transparent;}#mermaid-svg-DJ9zsaGmVOlVSFxk .label text,#mermaid-svg-DJ9zsaGmVOlVSFxk span{fill:#333;color:#333;}#mermaid-svg-DJ9zsaGmVOlVSFxk .node rect,#mermaid-svg-DJ9zsaGmVOlVSFxk .node circle,#mermaid-svg-DJ9zsaGmVOlVSFxk .node ellipse,#mermaid-svg-DJ9zsaGmVOlVSFxk .node polygon,#mermaid-svg-DJ9zsaGmVOlVSFxk .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DJ9zsaGmVOlVSFxk .rough-node .label text,#mermaid-svg-DJ9zsaGmVOlVSFxk .node .label text,#mermaid-svg-DJ9zsaGmVOlVSFxk .image-shape .label,#mermaid-svg-DJ9zsaGmVOlVSFxk .icon-shape .label{text-anchor:middle;}#mermaid-svg-DJ9zsaGmVOlVSFxk .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-DJ9zsaGmVOlVSFxk .rough-node .label,#mermaid-svg-DJ9zsaGmVOlVSFxk .node .label,#mermaid-svg-DJ9zsaGmVOlVSFxk .image-shape .label,#mermaid-svg-DJ9zsaGmVOlVSFxk .icon-shape .label{text-align:center;}#mermaid-svg-DJ9zsaGmVOlVSFxk .node.clickable{cursor:pointer;}#mermaid-svg-DJ9zsaGmVOlVSFxk .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-DJ9zsaGmVOlVSFxk .arrowheadPath{fill:#333333;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-DJ9zsaGmVOlVSFxk .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DJ9zsaGmVOlVSFxk .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-DJ9zsaGmVOlVSFxk .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DJ9zsaGmVOlVSFxk .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-DJ9zsaGmVOlVSFxk .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-DJ9zsaGmVOlVSFxk .cluster text{fill:#333;}#mermaid-svg-DJ9zsaGmVOlVSFxk .cluster span{color:#333;}#mermaid-svg-DJ9zsaGmVOlVSFxk div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-DJ9zsaGmVOlVSFxk .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-DJ9zsaGmVOlVSFxk rect.text{fill:none;stroke-width:0;}#mermaid-svg-DJ9zsaGmVOlVSFxk .icon-shape,#mermaid-svg-DJ9zsaGmVOlVSFxk .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DJ9zsaGmVOlVSFxk .icon-shape p,#mermaid-svg-DJ9zsaGmVOlVSFxk .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-DJ9zsaGmVOlVSFxk .icon-shape .label rect,#mermaid-svg-DJ9zsaGmVOlVSFxk .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DJ9zsaGmVOlVSFxk .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-DJ9zsaGmVOlVSFxk .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-DJ9zsaGmVOlVSFxk :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 防火墙丢弃所有出站ICMP
❌ 收不到任何回显
防火墙重写TTL值
路径中有七层代理/负载均衡
目标后无三层设备

如容器/虚拟网络
IPS主动检测并干扰
结论: 路径探测不是万能的

需结合业务拓扑综合判断


七、一句话选型建议

#mermaid-svg-3VkJUWXKF1CmGNRB{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-3VkJUWXKF1CmGNRB .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-3VkJUWXKF1CmGNRB .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-3VkJUWXKF1CmGNRB .error-icon{fill:#552222;}#mermaid-svg-3VkJUWXKF1CmGNRB .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-3VkJUWXKF1CmGNRB .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-3VkJUWXKF1CmGNRB .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-3VkJUWXKF1CmGNRB .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-3VkJUWXKF1CmGNRB .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-3VkJUWXKF1CmGNRB .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-3VkJUWXKF1CmGNRB .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-3VkJUWXKF1CmGNRB .marker{fill:#333333;stroke:#333333;}#mermaid-svg-3VkJUWXKF1CmGNRB .marker.cross{stroke:#333333;}#mermaid-svg-3VkJUWXKF1CmGNRB svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-3VkJUWXKF1CmGNRB p{margin:0;}#mermaid-svg-3VkJUWXKF1CmGNRB .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-3VkJUWXKF1CmGNRB .cluster-label text{fill:#333;}#mermaid-svg-3VkJUWXKF1CmGNRB .cluster-label span{color:#333;}#mermaid-svg-3VkJUWXKF1CmGNRB .cluster-label span p{background-color:transparent;}#mermaid-svg-3VkJUWXKF1CmGNRB .label text,#mermaid-svg-3VkJUWXKF1CmGNRB span{fill:#333;color:#333;}#mermaid-svg-3VkJUWXKF1CmGNRB .node rect,#mermaid-svg-3VkJUWXKF1CmGNRB .node circle,#mermaid-svg-3VkJUWXKF1CmGNRB .node ellipse,#mermaid-svg-3VkJUWXKF1CmGNRB .node polygon,#mermaid-svg-3VkJUWXKF1CmGNRB .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-3VkJUWXKF1CmGNRB .rough-node .label text,#mermaid-svg-3VkJUWXKF1CmGNRB .node .label text,#mermaid-svg-3VkJUWXKF1CmGNRB .image-shape .label,#mermaid-svg-3VkJUWXKF1CmGNRB .icon-shape .label{text-anchor:middle;}#mermaid-svg-3VkJUWXKF1CmGNRB .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-3VkJUWXKF1CmGNRB .rough-node .label,#mermaid-svg-3VkJUWXKF1CmGNRB .node .label,#mermaid-svg-3VkJUWXKF1CmGNRB .image-shape .label,#mermaid-svg-3VkJUWXKF1CmGNRB .icon-shape .label{text-align:center;}#mermaid-svg-3VkJUWXKF1CmGNRB .node.clickable{cursor:pointer;}#mermaid-svg-3VkJUWXKF1CmGNRB .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-3VkJUWXKF1CmGNRB .arrowheadPath{fill:#333333;}#mermaid-svg-3VkJUWXKF1CmGNRB .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-3VkJUWXKF1CmGNRB .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-3VkJUWXKF1CmGNRB .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-3VkJUWXKF1CmGNRB .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-3VkJUWXKF1CmGNRB .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-3VkJUWXKF1CmGNRB .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-3VkJUWXKF1CmGNRB .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-3VkJUWXKF1CmGNRB .cluster text{fill:#333;}#mermaid-svg-3VkJUWXKF1CmGNRB .cluster span{color:#333;}#mermaid-svg-3VkJUWXKF1CmGNRB div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-3VkJUWXKF1CmGNRB .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-3VkJUWXKF1CmGNRB rect.text{fill:none;stroke-width:0;}#mermaid-svg-3VkJUWXKF1CmGNRB .icon-shape,#mermaid-svg-3VkJUWXKF1CmGNRB .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-3VkJUWXKF1CmGNRB .icon-shape p,#mermaid-svg-3VkJUWXKF1CmGNRB .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-3VkJUWXKF1CmGNRB .icon-shape .label rect,#mermaid-svg-3VkJUWXKF1CmGNRB .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-3VkJUWXKF1CmGNRB .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-3VkJUWXKF1CmGNRB .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-3VkJUWXKF1CmGNRB :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是



我要探测路径
目标是否允许ICMP?
✅ 直接用 traceroute

最快最简单
是否有已有的TCP会话?
✅ 用 0trace

最隐蔽
⚠️ 用 traceroute -T

但可能被NAT丢包


八、核心结论

没有万能的路径探测工具,ICMP最快但最容易被禁,TCP能绕过ICMP限制但怕NAT,0trace最隐蔽但依赖已有会话。实际工作中,三种方法结合使用,并接受"某些路径永远看不到"的现实。

相关推荐
上海安当技术16 小时前
固件签名与Secure Boot:安当CAS如何构建汽车固件信任链
网络·汽车·信任链·boot·secure·固件签名·安当cas
上海安当技术17 小时前
诊断接入认证:安当CAS如何堵住汽车网络安全的物理后门
网络·web安全·汽车·access·secure·安当cas·诊断接入认证
ze^017 小时前
【软考信息安全】第2章 网络攻击原理与常用方法
网络·web安全·网络安全
这个DBA有点耶18 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
arbboter18 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
消失的旧时光-194320 小时前
第一篇:Ktor Client 到底是什么?从 Retrofit 迁移理解 Ktor 网络请求架构
网络·架构·retrofit·ktor·dsl
数据知道20 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
江畔柳前堤20 小时前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php
LabVIEW开发21 小时前
LabVIEW 通过以太网控制 Yokogawa WT3000 功率分析仪:tmctl.dll 与原始套接字方案
网络·labview·labview知识·labview功能·labview程序
xiaoxiangsiyan1 天前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns