linux端口跟踪命令,Linux路由跟踪的命令是什么

1. 了解traceroute的作用与原理

Linux 上的traceroute命令用于路由跟踪。通常用于了解网络数据包所经过的节点,或者查找网络故障点。网络中的数据包是经过一个一个路由器转发的,专业术语称为:跳。即一个路由器为一跳。默认情况下,traceroute会向最终的目标IP发UDP报文,目标端口从334XX开始,每个UDP报文端口号增加1,每3个报文为相同的TTL值。默认情况下,TTL值从1开始,相同TTL值连续发3个报文,但每个报文端口号都会加1。通过沿途节点返回的TTL exceeded的ICMP消息来获取沿途节点的IP信息,并打印到屏幕。默认发包最大的TTL值为30。即90个报文。

ab1111ed4a39caa972504552e21c9b36.png

以CentOS7.6为例:

默认情况下,最小化安装的系统并没有包含traceroute工具,需要手动安装。

[root@zcwyou ~]# yum -y install traceroute

看到以下输出,表示安装成功

Running transaction

Installing : 3:traceroute-2.0.22-2.el7.x86_64 1/1

Verifying : 3:traceroute-2.0.22-2.el7.x86_64 1/1

Installed:

traceroute.x86_64 3:2.0.22-2.el7

Complete!

c2f15ad0ac629825c1ef07e01874f56d.png

2. 本地服务器到达某目标的路由节点

[root@zcwyou ~]# traceroute www.cisco.com

输出结果如下:

traceroute to www.cisco.com (221.230.145.184), 30 hops max, 60 byte packets

1 gateway (113.105.164.129) 4.929 ms 5.317 ms 4.172 ms

2 172.16.23.1 (172.16.23.1) 2.003 ms 2.186 ms 2.389 ms

3 172.16.11.1 (172.16.11.1) 8.192 ms 8.464 ms 8.598 ms

4 113.105.140.201 (113.105.140.201) 66.921 ms 67.302 ms 66.163 ms

5 119.147.155.21 (119.147.155.21) 4.548 ms 4.474 ms 183.60.128.85 (183.60.128.85) 2.935 ms

6 113.96.254.121 (113.96.254.121) 4.199 ms 3.213 ms 113.96.254.93 (113.96.254.93) 3.145 ms

7 202.97.29.82 (202.97.29.82) 24.316 ms 202.97.40.110 (202.97.40.110) 30.339 ms 202.97.42.202 (202.97.42.202) 25.883 ms

8 61.160.170.94 (61.160.170.94) 29.905 ms 61.160.170.98 (61.160.170.98) 26.933 ms 61.160.170.90 (61.160.170.90) 27.977 ms

9 * * *

10 * * *

11 * * *

12 * * *

13 * * *

14 * * *

15 * * *

16 * * *

17 * * *

18 * * *

19 * * *

20 * * *

21 * * *

22 * * *

23 * * *

24 * * *

25 * * *

26 * * *

27 * * *

28 * * *

29 * * *

30 * * *

以上是数据包经过的路由节点,按顺序显示。星号表示不可达或者被过滤。

3. 设置最大跳数,默认值为30

[root@zcwyou ~]# traceroute -m 20 www.cisco.com

1e6b27bd46f2e783b1599402ce635285.png

4. 设置起始UDP端口

[root@zcwyou ~]# traceroute -p 12345 www.cisco.com

5. 设置起始TTL值,默认为1

直接跳过检测网关

[root@zcwyou ~]# traceroute -f 2 www.cisco.com

6. tracert命令选项:

-f 设置第一个UDP报文的TTL值。

-i 从指定网卡送出。

-m 设置发出的UDP报文最大的TTL值。

-n 直接使用IP地址而非主机名称。

-p 设置UDP起始端口号。

-s 设置源IP,当服务器有多IP时可用。

-t 设置TOS数值。

-v 显示执行过程。

-w 设置等待回应时间。

-x 开启或关闭数据包检验。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Linux中,跟踪路由命令是traceroute。traceroute程序通过发送UDP数据报给目的主机,并选择一个不可能的值作为UDP端口号(大于30000),使目的主机的任何一个应用程序都不可能使用该端口。当该数据报到达目的主机时,目的主机会产生一个“端口不可达”错误的ICMP报文。traceroute程序通过区分接收到的ICMP报文是超时还是端口不可达,从而来区分是路由器还是目的主机。traceroute的完整过程是,首先发送一个TTL字段为1的IP数据包给目的主机,处理这个数据包的第一个路由器将TTL值减1,然后丢弃该数据报,并给源主机发送一个ICMP报文(“超时”信息,包含了路由器的IP地址),这样就得到了第一个路由器的地址。然后发送一个TTL为2的数据报来得到第二个路由器的IP地址,继续这个过程,直至数据报到达目的主机。traceroute命令在局域网中的不同网段之间可以用来排查问题所在,是主机的问题还是网关的问题。同时,通过远程访问某台服务器遇到问题时,使用traceroute追踪数据包所经过的网关,可以提交给IDC服务商,有助于解决问题。然而,在国内解决这样的问题可能比较困难,发现问题所在后,IDC服务商也不一定能够帮助解决。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [Linux命令:traceroute命令路由跟踪)](https://blog.csdn.net/weixin_49889731/article/details/125592045)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值