英语法语西班牙语

Ad


OnWorks 网站图标

lft.db - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 lft.db

这是 lft.db 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


traceroute - 打印路由数据包跟踪到网络主机

概要


跟踪路由 [-46dFIUnreAV[-f 第一个_TTL[-g 门,...]
[-i 设备[-m 最大_ttl[-p 端口[-s 源地址]
[-q 查询[-N 询问[-t 咳嗽]
[-l 流标签[-w 等待时间[-z 发送等待[-UL[-D]
[-P [--运动=端口[-M 方法[-O 模组选项]
[--mtu[- 背部]
主持人 [包长度]
跟踪路由6 [选项]
TCP跟踪路由 [选项]
轻量级 [选项]

商品描述


跟踪路由 跟踪从 IP 网络获取到给定主机的路由数据包。
它利用 IP 协议的生存时间 (TTL) 字段并尝试引出 ICMP
TIME_EXCEEDED 响应沿路径的每个网关到主机。

跟踪路由6 相当于 跟踪路由 -6

TCP跟踪路由 相当于 跟踪路由 -T

轻量级 ,第四层跟踪路由,执行 TCP 跟踪路由,如 跟踪路由 -T ,但
试图提供与原始此类实现的兼容性,也称为
“lft”。

唯一需要的参数是目的地的名称或 IP 地址 主持人 。 该
可选 包长度`gth 是探测数据包的总大小(IPv60 默认为 4 字节
IPv80 为 6)。 在某些情况下可以忽略指定的大小或增加到
一个最小值。

该程序尝试跟踪 IP 数据包到达某个 Internet 主机的路由
通过使用小 ttl(生存时间)启动探测数据包,然后侦听 ICMP
来自网关的“超时”回复。 我们以 XNUMX 的 ttl 开始我们的探测并增加
一个,直到我们得到一个 ICMP“端口无法访问”(或 TCP 重置),这意味着我们到达了
“主机”,或达到最大值(默认为 30 跳)。 三个探测(默认情况下)在
每个 ttl 设置和一行打印显示 ttl、网关地址和轮次
每个探头的跳闸时间。 地址后面可以跟附加信息,当
要求。 如果探测应答来自不同的网关,则每个网关的地址
将打印响应系统。 如果在 5.0 秒内没有响应
(默认),为该探针打印“*”(星号)。

在行程时间之后,可以打印一些额外的注释: !H, !N!P (主持人,
网络或协议不可达), !S (源路由失败), !F (需要分片), !X
(行政上禁止通讯), !V (违反主机优先级), !C
(有效的优先截止),或 (ICMP 不可达代码)。 如果几乎所有
探测导致某种不可达,traceroute 将放弃并退出。

我们不希望目标主机处理 UDP 探测包,所以目标主机
端口设置为一个不太可能的值(您可以使用 -p 旗帜)。 没有这样的
ICMP 或 TCP 跟踪路由的问题(对于 TCP,我们使用半开放技术,这可以防止
目标主机上的应用程序可以看到我们的探测器)。

在现代网络环境中,传统的traceroute方法不能总是
适用,因为防火墙的广泛使用。 这样的防火墙过滤了“不太可能”的
UDP 端口,甚至 ICMP 回声。 为了解决这个问题,一些额外的跟踪路由方法是
已实现(包括 tcp),请参阅 清单 OF 可用 方法 以下。 此类方法尝试使用
特定的协议和源/目标端口,以绕过防火墙(有待观察)
被防火墙作为允许类型的网络会话的开始)。

配置


- 帮帮我 打印帮助信息并退出。

-4, -6 显式强制 IPv4 或 IPv6 跟踪路由。 默认情况下,程序将尝试
解析给定的名称,并自动选择适当的协议。 如果
解析主机名会返回 IPv4 和 IPv6 地址, 跟踪路由 将使用
IPv4。

-一世, --icmp
使用 ICMP ECHO 进行探测

-T, --TCP
使用 TCP SYN 进行探测

-d, -调试
启用套接字级调试(当 Linux 内核支持时)

-F, --不要片段
不要对探测数据包进行分段。 (对于 IPv4,它还设置 DF 位,它告诉
中间路由器也不会远程分段)。

改变探测包的大小 包长度 命令行参数,
您可以手动获取各个网络跃点的 MTU 信息。 这
--mtu 选项(见下文)尝试自动执行此操作。

请注意,非碎片功能(如 -F or --mtu) 正常工作,因为 Linux
仅内核 2.6.22。 在那个版本之前,IPv6 总是碎片化的,IPv4 可以
仅使用发现的最终 mtu(来自路由缓存),这可以是
小于设备的实际 mtu。

-f 第一个_TTL, --第一个=第一个_TTL
指定以什么 TTL 开始。 默认为 1。

-g 网关, --网关=网关
告诉 traceroute 将 IP 源路由选项添加到传出数据包
告诉网络通过指定的路由数据包 网关 (大多数路由器
出于安全原因禁用了源路由)。 一般来说,几个 网关's
允许(逗号分隔)。 对于 IPv6,形式为 NUM,地址,地址... 被允许,
哪里 NUM 是路由头类型(默认为类型 2)。 请注意类型 0 路由标头
现在已弃用 (rfc5095)。

-i 接口, --接口=接口
指定通过它的接口 跟踪路由 应该发送数据包。 默认情况下,
根据路由表选择接口。

-m 最大_ttl, --最大跳数=最大_ttl
指定最大跳数(max time-to-live value) 跟踪路由
探测。 默认值为 30。

-N 询问, --sim-查询=询问
指定同时发出的探测包数。 送几个
同时探测可以加快 跟踪路由 相当。 默认值为 16。
请注意,某些路由器和主机可以使用 ICMP 速率限制。 在这样的情况下
指定太大的数字会导致某些响应丢失。

-n 显示 IP 地址时不要尝试将它们映射到主机名。

-p 端口, --端口=端口
对于 UDP 跟踪,指定目标端口基数 跟踪路由 将使用(
每个探测都会增加目标端口号)。
对于 ICMP 跟踪,指定初始 ICMP 序列值(每增加一个
也探测)。
对于 TCP 和其他人,仅指定要连接的(恒定)目标端口。 什么时候
使用 tcptraceroute 包装器,-p 指定源端口。

-t 咳嗽, --tos=咳嗽
对于 IPv4,设置服务类型 (TOS) 和优先级值。 有用的值为 16
(低延迟)和 8(高吞吐量)。 请注意,为了使用某些 TOS 优先级
价值观,你必须是超级用户。
对于 IPv6,设置流量控制值。

-l 流标签, --流标签=流标签
对 IPv6 数据包使用指定的 flow_label。

-w 等待时间, --等待=等待时间
设置等待探测响应的时间(以秒为单位)(默认为 5.0 秒)。

-q 查询, --查询=查询
设置每跳探测数据包的数量。 默认值为 3。

-r 绕过正常的路由表并直接发送到连接上的主机
网络。 如果主机不在直连网络上,则返回错误。
此选项可用于通过没有路由的接口 ping 本地主机
通过这。

-s 源地址, --来源=源地址
选择备用源地址。 注意必须选择一个地址
的接口。 缺省情况下,使用出接口的地址。

-z 发送等待, --发送等待=发送等待
探针之间的最小时间间隔(默认为 0)。 如果值大于 10,
然后它指定一个以毫秒为单位的数字,否则它是一个秒数(浮点数
点值也允许)。 当某些路由器对 ICMP 使用速率限制时很有用
消息。

-e, --扩展
显示 ICMP 扩展 (rfc4884)。 一般形式是 CLASS/: 其次是
十六进制转储。 MPLS (rfc4950) 显示为解析后的形式:
多协议标签交换:L=标签,E=exp_use,S=堆栈底部,T=TTL (更多的对象被分隔 / ).

-一种, --作为路径查找
在路由注册表中执行 AS 路径查找并在执行后直接打印结果
对应的地址。

-V, - 版
打印版本并退出。

还有其他用于高级用途的选项(例如替代跟踪方法
等等。):

- 运动=端口
选择要使用的源端口。 暗示 -N 1. 通常源端口(如果
适用)由系统选择。

--fwmark=标记
为传出数据包设置防火墙标记(自 Linux 内核 2.6.25 起)。

-M 方法, --模块=姓名
使用指定的方法进行跟踪路由操作。 默认的传统 udp 方法有
姓名 默认, ICMP (-I) 和 tcp (-T) 有名字 国际会议TCP
可以传递特定于方法的选项 -O . 大多数方法都有其简单的
快捷方式,(-I 手段 -M 国际会议等)。

-O 选项, --选项=选项
指定一些特定于方法的选项。 几个选项用逗号分隔(或
使用几个 -O 在 cmdline 上)。 每种方法可能有自己的特定选项,或许多
根本没有它们。 要打印有关可用选项的信息,请使用 -O 帮助.

-U, --udp
使用 UDP 到特定目标端口进行跟踪路由(而不是增加
每个探头的端口)。 默认端口为 53 (dns)。

-UL 使用 UDPLITE 进行跟踪路由(默认端口为 53)。

-D, --dccp
使用 DCCP 请求进行探测。

-P 协议, --协议=协议
使用指定协议的原始数据包进行跟踪路由。 默认协议为 253
(rfc3692)。

--mtu 沿着被追踪的路径发现 MTU。 暗示 -F -N 1。 新 MTU 打印一次
以一种形式 F= 在需要这样的跳跃的第一个探测处 MTU 成为
到达。 (实际上,对应的“需要frag”的icmp消息通常是由
前一跳)。

请注意,某些路由器可能会在看到有关碎片的信息后进行缓存。
因此,您可以从更近的跃点接收最终的 mtu。 尝试指定一个不寻常的
咳嗽 by -t ,这可以帮助一次尝试(然后它也可以缓存在那里)。
我们 -F 更多信息的选项。

- 背部 当看起来与前向不同时打印后向跳数
方向。 这个数字是在假设远程跳发送回复数据包的情况下猜测的
初始 ttl 设置为 64、128 或 255(这似乎是一种常见做法)。
它以 '-NUM' 的形式打印为否定值。

清单 OF 可用 方法


通常,可能必须通过以下方式选择特定的 traceroute 方法 -M 姓名,但大部分
这些方法有它们简单的 cmdline 开关(您可以在方法名称后看到它们,如果
展示)。

默认
跟踪路由的传统古老方法。 默认使用。

探测数据包是具有所谓“不太可能”目标端口的 udp 数据报。 这
第一个探测的“不太可能”端口是 33434,然后对于每个下一个探测,它增加
一。 由于预期端口未使用,目标主机通常返回
“icmp unreach port”作为最终响应。 (没有人知道当某些应用程序
但是,会侦听此类端口)。

非特权用户允许使用此方法。

国际会议 -I
目前最常用的方法,它使用 icmp 回声数据包进行探测。
如果可以的话 (8)目的主机,icmp tracerouting也适用。

自内核 3.0(仅限 IPv4)以来,非特权用户可能允许使用此方法,它
支持新的 数据图 国际会议 (要么 ”") 套接字。为了允许这样的套接字,系统管理员应该
提供 网络/ipv4/ping_group_range sysctl 范围匹配任何组的用户。
选项:

仅使用原始套接字(传统方式)。
默认情况下首先尝试这种方式(出于兼容性原因),然后是新的 dgram icmp
套接字作为后备。

数据图 仅使用 dgram icmp 套接字。

TCP -T
著名的现代方法,旨在绕过防火墙。
使用恒定目标端口(默认为 80,http)。

如果网络路径中存在某些过滤器,则很可能是任何“不太可能”的 udp
端口(至于 默认 方法)甚至 icmp 回声(至于 国际会议) 被过滤,并且整个
跟踪路由只会在这样的防火墙处停止。 要绕过网络过滤器,我们必须
仅使用允许的协议/端口组合。 如果我们追踪一些,比如邮件服务器,那么
更有可能 -T -p 25 可以到达,即使 -I 不能。

这种方法使用了众所周知的“半开技术”,它阻止了应用程序在
目标主机根本看不到我们的探针。 通常,会发送 tcp syn。 对于非
我们收到 tcp reset 的监听端口,一切都完成了。 对于主动监听端口,我们
接收 tcp syn+ack,但通过 tcp reset(而不是预期的 tcp ack)应答,这样
即使应用程序没有注意到,远程 tcp 会话也会被丢弃。

有几种选择 TCP 方法:

同步、确认、鳍、第一个、PSH、URG、欧洲经委会、CWR
以任意组合为探测数据包设置指定的 tcp 标志。

标志=NUM
将 tcp 标头中的标志字段准确设置为 NUM.

ECN 发送带有 tcp 标志 ECE 和 CWR(用于显式拥塞通知,
RFC3168)。

麻袋,时间戳,window_scaling
在传出探测数据包中使用相应的 tcp 标头选项。

系统控制 使用当前的 sysctl (/过程/系统/网络/*) 设置上面的 tcp 标头选项和
ECN. 如果没有其他指定,则始终默认设置。

MSS=NUM
使用价值 NUM 对于 maxseg tcp 标头选项(当 SYN).

info 当到达目标主机时,打印最终 tcp 回复的 tcp 标志。 允许
确定应用程序是否侦听端口和其他有用的东西。

默认选项是 同步,系统控制.

tcp连接
tcp方法的初步实现,简单使用 联接(2) call,它做完整的tcp
会议开幕。 不推荐用于正常使用,因为目标应用程序是
总是受到影响(并且可能会被混淆)。

UDP -U
使用具有恒定目标端口(默认为 53,dns)的 udp 数据报。
也打算绕过防火墙。

请注意,与 TCP 方法,目的主机上对应的应用 时刻
接收我们的探针(带有随机数据),大多数很容易被它们混淆。 在大多数情况下
它不会响应我们的数据包,所以我们永远不会看到最后一跳
痕迹。 (幸运的是,似乎至少 dns 服务器回复了一些生气的东西)。

非特权用户允许使用此方法。

私网 -UL
使用 udplite 数据报进行探测(具有恒定目标端口,默认为 53)。

非特权用户允许使用此方法。
选项:

覆盖=NUM
将 udplite 发送覆盖范围设置为 NUM.

数据中心 -D
使用 DCCP 请求数据包进行探测 (rfc4340)。

此方法使用与 TCP 相同的“半开技术”。 默认目的地
端口是 33434。

选项:

服务=NUM
将 DCCP 服务代码设置为 NUM (默认为1885957735)。

-P
发送协议的原始数据包 .
不使用特定于协议的标头,仅使用 IP 标头。
暗示 -N 1.
选项:

协议=
使用IP协议 (默认 253)。

附注


为了加快工作速度,通常同时发送多个探测。 另一方面,它
造成“包裹风暴”,尤其是在回复方向。 路由器可以限制
icmp 响应的速率,并且某些回复可能会丢失。 为避免这种情况,请减少
同时探测的数量,甚至将其设置为 1(就像在初始跟踪路由中一样)
实现),即 -N 1

最终(目标)主机可以丢弃一些同时进行的探测,甚至可能会回答
只有最新的。 它可能会导致在最后一跳附近出现额外的“看起来像过期”的跳。
我们使用智能算法来自动检测这种情况,但如果它不能帮助您
情况下,只需使用 -N 1 了。

为了获得更大的稳定性,您可以通过以下方式减慢程序的工作速度 -z 选项,例如
使用 -z 0.5 用于探测之间的半秒暂停。

如果某些跃点对于每种方法都没有报告,那么获得某些东西的最后机会就是
使用 -R 命令(IPv4,仅适用于最近的 8 跳)。

使用 onworks.net 服务在线使用 lft.db


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad