一文掌握linux系统路由跟踪指令traceroute
nanshan 2024-11-25 15:27 17 浏览 0 评论
概述
traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。
安装traceroute
yum -y install traceroute
Traceroute的工作原理
Traceroute最简单的基本用法是:traceroute hostname
Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器...... traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?
Traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。
Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。
命令格式
traceroute[参数][主机]
常见命令参数:
-d 使用Socket层级的排错功能。 -f 设置第一个检测数据包的存活数值TTL的大小。 -F 设置勿离断位。 -g 设置来源路由网关,最多可设置8个。 -i 使用指定的网络界面送出数据包。 -I 使用ICMP回应取代UDP资料信息。 -m 设置检测数据包的最大存活数值TTL的大小。 -n 直接使用IP地址而非主机名称。 -p 设置UDP传输协议的通信端口。 -r 忽略普通的Routing Table,直接将数据包送到远端主机上。 -s 设置本地主机送出数据包的IP地址。 -t 设置检测数据包的TOS数值。 -v 详细显示指令的执行过程。 -w 设置等待远端主机回报的时间。 -x 开启或关闭数据包的正确性检验。
实例
1、traceroute 用法简单、最常用的用法
命令:
traceroute www.baidu.com
说明:
记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用 traceroute -q 4 www.58.com ,表示向每个网关发送4个数据包。
有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加-n 参数来避免DNS解析,以IP格式输出数据。
如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题。
2、跳数设置
命令:
traceroute -m 10 www.baidu.com
3、显示IP地址,不查主机名
命令:
traceroute -n www.baidu.com
4、探测包使用的基本UDP端口设置6888
命令:
traceroute -p 6888 www.baidu.com
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
相关推荐
- 运维老司机亲授:5步搞定Linux临时文件自动清理,系统瘦身避坑!
-
运维老司机亲授:5步搞定Linux临时文件自动清理,系统瘦身还能避坑!一、这个服务到底管什么?systemd-tmpfiles-clean是Linux系统中专门负责“清理垃圾”的隐形管家。它通...
- 微信紧急提醒,这些不能发!
-
近日微信安全中心发布了针对利用微信账号传播诈骗信息进行兼职变现行为治理公告提醒广大用户注意保护自己的个人隐私信息不随意为他人进行辅助验证避免在不知情的情况下成为不法分子的“帮凶”根据用户投诉发现,近期...
- 刚刚,微信安全中心发布最新公告
-
3月7日,微信安全中心发布《针对“养生直播”违规外部链接的治理公告》,全文如下。近期,我们收到用户投诉,在部分打着“养生”“科普”“公益”旗号的微信群里,存在发布H5链接诱导用户跳转外部直播间的行为。...
- 微信发布重要提醒!
-
9月12日,“微信安全中心”微信公众号发布《针对利用微信百万保障名义实施诈骗的打击公告》。微信支付百万保障是一项默认开通且完全免费的保险服务。然而,近期有不法分子针对部分用户,尤其是中老年人群体,利用...
- 腾讯游戏《英雄联盟》上线反作弊预启动模式
-
IT之家12月15日消息,腾讯游戏安全中心今日发文宣布,《英雄联盟》将会上线游戏反作弊新功能——腾讯游戏反作弊预启动模式。据介绍,“腾讯游戏反作弊预启动模式”是腾讯游戏反作弊系统中的一个功...
- 腾讯《穿越火线》游戏“排位赛对局中断”功能上线
-
IT之家7月23日消息,腾讯游戏安全中心宣布,《穿越火线》玩家安全权益全新升级,不仅有此前的柔性减免功能,针对“排位赛”的对局中断功能也已经正式上线,还有全新的处罚申诉功能也即将登录《穿越火线...
- 微信账号安全风险警示与防护指南
-
近期频现用户反映微信账号遭异常监控及功能滥用事件,主要表现为聊天记录异常读取、支付系统遭远程操控、陌生人自动添加好友等情况。经安全机构分析,此类风险多由以下原因引发:一、安全隐患来源1.设备端植入监...
- 总有人在网吧被盗号,如何鉴别真假客户端?
-
你之前有过在网吧登录QQ的经历吗?此前,大批QQ账号被盗的事件引发网友关注,被盗号的用户会向其他好友发送不良图片和网址。据悉,当时大批QQ用户遭遇账号被盗,主要是因用户在多家网吧登录TecentWe...
- 网吧登录QQ、WeGame担心被盗号吗:2步教你鉴别真假客户端
-
快科技11月5日消息,和朋友到网吧开黑、在网吧临时处理工作,你是否会担心网吧的QQ、WeGame是假客户端,目标是盗取账号和个人信息?日前,腾讯游戏安全中心发文称,在与被盗号用户和系统对被盗账号的检测...
- 【记录】QQ内域名报红拦截申述办法
-
第一种方法到官方腾讯安全-网址安全中心自助申述官网:https://urlsec.qq.com/complain.html一般会在3工作日内回复到邮件给你是否解封。第二种方法自己发邮件到官方申述邮...
- 实战派 | Java项目中玩转Redis6.0客户端缓存
-
铺垫首先介绍一下今天要使用到的工具Lettuce,它是一个可伸缩线程安全的redis客户端。多个线程可以共享同一个RedisConnection,利用nio框架Netty来高效地管理多个连接。放眼望向...
- 轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)
-
1、缓存穿透所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下:1、使用空缓存解决对查询到...
- Redis与本地缓存联手:多级缓存架构的奥秘
-
多级缓存(如Redis+本地缓存)是一种在系统架构中广泛应用的提高系统性能和响应速度的技术手段,它综合利用了不同类型缓存的优势,以下为你详细介绍:基本概念本地缓存:指的是在应用程序所在的服务器内...
- 腾讯云国际站:腾讯云服务器如何配置Redis缓存?
-
本文由【云老大】TG@yunlaoda360撰写一、安装Redis使用包管理器安装(推荐)在CentOS系统中,可以通过yum包管理器安装Redis:sudoyumupdate-...
- Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?
-
你是否在开发互联网大厂后端项目时,遇到过系统响应速度慢的问题?当高并发请求涌入,数据库压力剧增,响应时间拉长,用户体验直线下降。相信不少后端开发同行都被这个问题困扰过。其实,通过在SpringBo...
你 发表评论:
欢迎- 一周热门
-
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
WindowsServer2022|配置NTP服务器的命令
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
解决Linux终端中“-bash: nano: command not found”问题
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
K3s禁用Service Load Balancer,解决获取浏览器IP不正确问题
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)