linux可以ping通,Linux可以Ping通但不能traceroute

article/2025/9/22 2:30:22

今天闲来无事,想弄清楚学校至百度服务器的网络问题,结果不试不知道,一试吓一跳。完全出乎我的意料。我们学校的网关是172.21.6.254,172.21.4.254和172.21.7.254。发现可以ping通学校网关,却不能traceroute。如下图:

7716ae43766883e3a88ced8a4ff8721a.png

7a59a8f70ba951a725adeb035578b103.png

这是为什么?查了一下资料:windows的tracert预设是走ICMP协议,而linux的traceroute则预设走UDP协议,若两端点之间的UDP connection被任何firewall挡掉, 那 traceroute 就不行了.

原因好像大概知道了,就是有firewall把udp给挡掉了。解决方法:traceroute -I 加I参数改用ICMP协议。即下图,果然成功了。

可以发现,从我的服务器到达百度服务器经过了21跳。

84d0845ec0550cd2e0823edd7554facd.png1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22traceroute to baidu.com (123.125.115.110), 30 hops max, 60 byte packets

1 192.168.1.1 (192.168.1.1) 实验室路由器

2 172.21.6.254 (172.21.6.254) 学校网关内接口

3 172.21.200.5 (172.21.200.5) 学校网关外接口

4 172.30.201.6 (172.30.201.6) 本地局域网

5 211.71.94.251 (211.71.94.251) 北京市朝阳区 教育网

6 124.207.38.253 (124.207.38.253) 北京市 鹏博士宽带

7 * * * (有的就是这么设置,便于隐藏)

8 10.10.1.1 (10.10.1.1) 4.997 ms 本地局域网

9 218.241.251.105 (218.241.251.105) 北京市 鹏博士宽带

10 218.241.253.241 (218.241.253.241) 北京市 鹏博士宽带

11 218.241.245.181 (218.241.245.181) 北京市 鹏博士宽带

12 202.99.1.173 (202.99.1.173) 北京市 鹏博士宽带

13 * * *

14 * * *

15 202.106.42.97 (202.106.42.97) 北京市北京市 联通

16 61.148.154.97 (61.148.154.97) 北京市 联通

17 * * *

18 61.148.146.194 (61.148.146.194) 北京市 联通

19 61.49.168.98 (61.49.168.98) 北京市 联通

20 * * *

21 123.125.115.110 (123.125.115.110) 北京市 联通 (百度服务器)

那么我们就来了解一下traceroute的工作原理:Traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具,也是最便利的工具。前面说到,尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器。所以Traceroute正好就填补了这个缺憾。Traceroute的原理是非常非常的有意思,它受到目的主机的IP后,首先给目的主机发送一个TTL=1(还记得TTL是什么吗?)的UDP(后面就 知道UDP是什么了)数据包,而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生 一个主机不可达的ICMP数据报给主机。主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据 报。如此往复直到到达目的主机。这样,traceroute就拿到了所有的路由器ip。从而避开了ip头只能记录有限路由IP的问题。

有人要问,我怎么知道UDP到没到达目的主机呢?这就涉及一个技巧的问题,TCP和UDP协议有一个端口号定义,而普通的网络程序只监控少数的几个号码较 小的端口,比如说80,比如说23,等等。而traceroute发送的是端口号>30000(真变态)的UDP报,所以到达目的主机的时候,目的 主机只能发送一个端口不可达的ICMP数据报给主机。主机接到这个报告以后就知道,主机到了,所以,说Traceroute是一个骗子一点也不为过

Traceroute程序里面提供了一些很有用的选项,甚至包含了IP选路的选项。

当我以为终于弄懂得时候,我发现还是太年轻了,在windows我又手贱的试了一下,又发现了问题。为什么windows下也能ping通,但不能traceroute呢?

7e0f4bd6ed03ab73d1fa59209fc1a0a1.png

欲知结果如何,还是待我知道以后。


http://chatgpt.dhexx.cn/article/fTrPT9Th.shtml

相关文章

IP编址和ping通原理

OSI开放系统互联(ISO) 七层: 应用层(application)表示层(presentation)会话层(session)传输层(transport) 单位:分段 s…

什么是ping通

ping这个命令是用来检测你的电脑和你所输入的IP地址127.0.01是否有数据通讯,以判断网络通不通的问题,执行这个命令也很简单,在开始——运行,输入ping 127.0.01,上面会出现一些数据,如果你看到了out of date的字样证明是不通的。 如果其它电脑互通, 初步怀疑是子网设置错误…

网络/Network - 网络层 - 局域网 - 两台主机互ping - 学习/实践

1.应用场景 主要用于同一局域网下, 两台主机相互通信, 相互访问. 2.学习/操作 环境 两台主机 Windows系统 1.介绍 同一局域网[同一网段, 即处于同一网关下, 基本认为子网掩码相同]下, 两台或者多台主机之间相互通信, 用来模拟客户端与服务器之间的沟通交互. 通过cmd下, ping…

wpf 按钮添加图标

1.打开iconfont添加自己想要的图标到购物车 2.下载代码到本地 3.wpf项目里新建文件夹Fonts,并把iconfont.ttf拷贝进来 4.这一步很关键&#xff0c;将文件生成为资源&#xff0c;要不然在xaml里面看的是正常的&#xff0c;但是运行的时候会变成口 5.修改App.xaml代码 <Appli…

WPF入门之布局

一、类型 wpf的布局有五种大类 DockPanel 停靠面板StackPanel 栈面板WrapPanel 环绕面板Grid 网格面板Canvas 精准定位 二、区别 1、DockPanel 面板&#xff0c;里面的元素用Dock属性来设置停靠在哪个方向,分别有:Right(右停靠),Left(左停靠)&#xff0c;Buttom&#xf…

WPF双向绑定

一&#xff0e;WPF双向绑定 1.1下载Mvvm配置 点击工具 NuGet ,选择中间的管理解决方案包&#xff0c;查询Mvvm选择MvvmLight 和MvvmLight libraries only进行安装。不能马上关闭网络&#xff0c;需要网络加载引用。 继承MVVM :ViewModelBase 上下文DataContext 1.2 数据库…

WPF图表控件

在用WPF开发中&#xff0c;我们也会涉及到用图表来表示数据&#xff0c;而用图表可以直观表示&#xff0c;让客户一目了然。 那么图表在WPF中应运而生&#xff0c;而在WPF中使用图表控件来实现这一效果。其中图表控件也有很多&#xff0c;比如&#xff1a;柱形图(Column)、曲线…

WPF 应用发布

WPF 应用程序发布 发布位置安装位置设置发布位置 发布之后的文件存放位置 安装位置 如果勾选从CD、DVD 或 USB 驱动器 , 则默认为允许脱机使用 设置 如果不允许脱机使用 , 则默认必须检测更新 , 本机不会有安装和开始菜单的启动入口(程序文件会藏在C:\Users\Administrat…

WPF弹窗

实现弹窗 弹窗和前面实现的登录跳转的功能类似&#xff0c;都是定义一个窗口类&#xff0c;在其它窗口的函数中实例化使用。区别在于&#xff0c;登录跳转实例化新的窗体后&#xff0c;登录的窗体就丢弃了&#xff0c;保留新建的窗体&#xff1b;而弹窗则是一个临时性窗体&…

WPF文件创建

在创建WPF文件时和创建MVC文件一样要先打开Visual Studio开发工具&#xff0c;然后再去创建一个新的文件。 打开Visual Studio开发工具之后点击创建新项目然后弹出创建新项目的所有语言&#xff1a; 2.然后点击搜索模板&#xff0c;在搜索模板中输入“WPF”然后就会搜索出跟WP…

WPF数据绑定

一、概念&#xff1a;什么是数据绑定&#xff1f; WPF中的数据绑定&#xff1a;是在应用程序 UI 与业务逻辑之间建立连接的过程&#xff1b; 扩展&#xff1a; 1.为应用程序提供了一种表示数据和与数据交互的简单而又一致的方法。 2.元素能够以公共语言运行时 (CLR) 对象和 XML…

WPF入门0:WPF的基础知识

WPF入门0&#xff1a;WPF的基础知识 WPF 可创建动态的数据驱动的呈现系统。 系统的每一部分均可通过驱动行为的属性集来创建对象。 数据绑定是系统的基础部分&#xff0c;在每一层中均进行了集成。 传统的应用程序创建一个显示内容&#xff0c;然后绑定到某些数据。 在 WPF 中…

WPF 常用控件

WPF六种常用控件&#xff1a;布局控件、内容控件、带标题内容控件、条目控件、带标题条目控件和特殊内容控件(如:TextBox,TextBlock,Image等)。 实例链接&#xff1a;WPF常用控件实例 Window(窗体) Winodw窗体派生自ContentControl&#xff0c;有一个Content属性&#xff0c;里…

什么是WPF,对WPF的认识

一&#xff0c;什么是WPF WPF&#xff08;Windows Presentation Foundation&#xff09;翻译为中文“Windows呈现基础” 是微软新发布的Vista操作系统的三个核心开发库之一&#xff0c;是微软推出的基于Windows Vista的用户界面框架&#xff0c;属于.NET Framework 3.0的一部分…

关于VRRP

目录 HSRP的定义 小结&#xff1a; VRRP作用: VRRP的好处: 工作原理: VRRP与浮动路由的区别 怎么样让路由器成为主路由器呢? 项目实施 拓扑图 步骤 1、打开二层交换机 2、打开三层交换机 3、打开路由器 4、为两台pc机配置ip地址子网掩码和网关 5、测试连通性 总…

华为交换机RRPP单环配置

华为交换机RRPP单环配置 rrpp相关概念&#xff08;取自华为官方文档&#xff09; 控制VLAN&#xff08;Control VLAN&#xff09;和数据VLAN&#xff08;Data VLAN&#xff09; 控制VLAN是相对于数据VLAN来说的。在RRPP域中&#xff0c;控制VLAN只用来传递RRPP协议报文。与控…

VRRP(12)

VRRP VRRP的作用 提供了局域网上的设备备份机制。VRRP是一种容错协议&#xff0c;它保证当主机的下一跳路由器坏掉时&#xff0c;可以及时由另一台路由器来代替&#xff0c;从而保证通讯的连续性和可靠性。 VRRP工作时会在网络中加入一个含有虚拟IP和虚拟MAC地址的虚拟路由器…

RIP

路由信息协议 RIP(Routing Information Protocol) 是内部网关协议 IGP中最先得到广泛使用的协议。RIP 是一种分布式的基于距离向量的路由选择协议。 RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。 RIP是应用层协议。使用UDP数据报传送。…

RRPP 演示实例

RRPP 概念&#xff1a;快速环网保护协议RRPP&#xff08;Rapid Ring Protection Protocol&#xff09;是一个专门应用于以太网环的链路层协议。它在以太网环完整时能够防止数据环路引起的广播风暴&#xff0c;而当以太网环上一条链路断开时能迅速启用备份链路恢复环网上各个节点…