linux/windows下面的traceroute/tracert通过wireshark比较实现方法

本文探讨了traceroute在网络诊断中的作用,解释了Linux版本如何按照TCP/IP详解中的原理构造UDP数据包并通过调整TTL值进行探测。在Linux下,通过Wireshark抓包验证了这一过程。然而,Windows的tracert实现在Win10中并非如书中所述,它更像是ping程序的变体,通过改变TTL触发ICMP Time-to-Live Exceeded消息,最终以Echo (ping) reply结束。
摘要由CSDN通过智能技术生成

traceroute应该是大家比较熟悉的一个网络诊断工具了(windows下面叫着tracert),通过阅读TCP/IP详解里面的traceroute实现的内容了,下面是我的大白话理解,构造udp的数据包,端口号取一个目标主机应用程序理论上不会用到的(大于30000),然后不断调整发出的ip数据报的ttl的大小(从1、2、3、、、、、30);直到接收到返回的端口不可达的ICMP报文,前面收到的都是超时的ICMP消息;理论学习到此结束,然后我就去通过wireshark抓包看了下过程,分为linux下面的和windows的,然后发现windows下面的tracert程序的实现并不是tcp/IP详解里面说的那样(ps:我用的win10)

LINUX的抓包:

看到这个抓包和tcp/ip里面说的是一样的,发出的是ip数据包,里面携带的是udp报文,上面是第一跳的,会发出三个包,下面是第二跳的

一直到结束;附上我的客户端的log(部分打码)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值