这是 tcptraceroute.mt 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
tcptraceroute - 使用 TCP 数据包的跟踪路由实现
概要
TCP跟踪路由 [-nNFSAE] [ -i 接口 ] [ -f 第一 TTL ]
[ -l 长度 ] [ -q 数 of 查询 ] [ -t 咳嗽 ]
[ -m 最大 TTL ] [ -p 资源 端口 ] [ -s 资源 地址 ]
[ -w 等待 次 ] 主持人 [ 目的地 端口 ] [ 长度 ]
商品描述
TCP跟踪路由 是使用 TCP 数据包的跟踪路由实现。
比较传统 跟踪路由(8) 发送 UDP 或 ICMP ECHO 数据包,TTL 为
一,并递增 TTL,直到到达目的地。 通过打印
沿途生成 ICMP 时间超出消息的网关,它能够确定
数据包到达目的地所采用的路径。
问题是,随着现代 Internet 上防火墙的广泛使用,许多
那些数据包 跟踪路由(8) 发送出去最终被过滤掉,使得无法
完全追踪到目的地的路径。 但是,在许多情况下,这些防火墙
将允许入站 TCP 数据包发送到位于防火墙后面的主机的特定端口
正在侦听连接。 通过发送 TCP SYN 数据包而不是 UDP 或 ICMP
ECHO 数据包, TCP跟踪路由 能够绕过最常见的防火墙过滤器。
值得一提的是 TCP跟踪路由 从未完全建立与的 TCP 连接
目标主机。 如果主机没有侦听传入的连接,它将
以 RST 响应,指示端口已关闭。 如果主机改为响应
SYN|ACK,已知端口是开放的,内核发送RST TCP跟踪路由 is
在没有完成三向握手的情况下运行以断开连接。 这是
相同的半开扫描技术 NMAP(1) 使用时通过 -sS 旗。
配置
-n 显示数字输出,而不是对每个跃点进行反向 DNS 查找。 经过
默认情况下,永远不会在 RFC1918 地址空间上尝试反向查找,无论
-n 标志。
-N 对每个跃点执行反向 DNS 查找,包括 RFC1918 地址。
-f 设置第一个传出数据包中使用的初始 TTL。 默认值为 1。
-m 设置传出数据包中使用的最大 TTL。 默认值为 30。
-p 在传出数据包中使用指定的本地 TCP 端口。 默认是获得一个
使用内核的自由端口 绑定(2). 不同于传统的 跟踪路由(8)
这个数字不会随着每一跳而增加。
-s 设置传出数据包的源地址。 另请参阅 -i 标志。
-i 将指定的接口用于传出数据包。
-q 设置要发送到每跳的探测数。 默认值为 3。
-w 设置超时(以秒为单位)以等待每个探测的响应。 默认是
3.
-S 在传出数据包中设置 TCP SYN 标志。 这是默认值,如果 -S 或 -A
已指定。
-A 在传出数据包中设置 TCP ACK 标志。 通过这样做,可以追踪
通过允许传出 TCP 连接的无状态防火墙。
-E 发送 ECN SYN 数据包,如 RFC2481 中所述。
-t 设置要在传出数据包中使用的 IP TOS(服务类型)。 默认是
不设置任何 TOS。
-F 在传出数据包中设置 IP“不分段”位。
-l 设置要在传出数据包中使用的总数据包长度。 如果长度是
大于组装必要探测包所需的最小尺寸
标头,此值会自动增加。
-d 启用调试,这可能有用也可能没用。
--DNAT
启用 DNAT 检测,并在观察到 DNAT 转换时显示消息。
DNAT 检测是基于某些 NAT 设备,例如某些 Linux 2.4
内核,不要正确重写 ICMP 中引用的 IP 数据包的 IP 地址
tcptraceroute 请求的超时消息,显示目标 IP 地址
出站探测数据包被 NAT 到。 正确重写 IP 的 NAT 设备
ICMP 消息引用的地址,例如某些 Linux 2.6 内核,将不会被
检测到。 对于某些目标主机,可能需要结合使用--dnat
与--track-port。 有关示例,请参阅 examples.txt 文件。
--无DNAT
启用 DNAT 检测以正确识别 ICMP 超时
与出站探测数据包匹配但不显示消息的消息
当观察到 DNAT 跃迁时。 这是默认行为。
--no-dnat-严格
请勿执行任何 DNAT 检测。 不会尝试匹配
带有出站探测数据包和跟踪路由时的 ICMP 超时消息
通过不重写 IP 数据包的 IP 地址的 NAT 设备
在 ICMP 超时消息中引用,路径上的一些跃点可能看起来是
没有反应。 在绝大多数情况下不需要此选项,但是
如果怀疑 DNAT 检测代码识别错误,则可以使用
ICMP 超时消息。
示例
请参阅 例子.txt 文件包含在 TCP跟踪路由 一些真实的分布
世界的例子。
要跟踪侦听端口 80 上的连接的 Web 服务器的路径:
TCP跟踪路由 Web服务器
要跟踪侦听端口 25 上的连接的邮件服务器的路径:
TCP跟踪路由 邮件服务器 25
使用 onworks.net 服务在线使用 tcptraceroute.mt