
在kali linux系统中,针对工具的应用有13种类型,如图所示:


枚举服务
枚举是一类程序,他允许用户从一个网络中收集某一类的所有相关信息,其中路径追踪就是一个典型的枚举服务。
路径枚举
按照题纲,路径追踪命令分为三种
Tracetroute
Tcptracertoue
0tracet

三种路径追踪命令演示
Tracetroute
2021版的kali linux是没有安装tracertoute ,因此需要安装一下
─# apt install traceroute -y

先探测一个网站 ,在探测一个网站前,先用dig命令解析下这个IP地址没从途中能看到一个A记录

traceroute www.bjdxt.net.cn
tracertote 后面可以跟域名/IP地址
图中带*号的表示了该路由网络设备屏蔽或者不接受ICMP响应报文


利用wireshark来抓包看看,在抓包工具中,针对目标IP地址过滤
抓包得来的结果是UDP协议的报文,和我想象的应该是ICMP报文大相径庭!

针对这个网站我的主机一共发了多少个UDP报文呢?
根据计算得来的结果是:303-272= 31个UDP的报文
在图中看到了路由追踪到了30个路由节点


我的主机对每经过一个路由节点发送3个TTL值的UDP报文



但是看到了也有每5个报文增加1的TTL值(网络质量不好导致的!)


光看UDP发送报文还是比较抽象的,我简单的整理了下逻辑关系图

当然,traroute 除了默认发送UDP报文,还可以发送TCP报文,观察下来,发现路由节点还少了很多,这是因为到了第十条之后,设备对UDP某些限制,没有办法探测成功。而且始终发送SYN的TCP报文,引出tcptraceroute

也是3个报文一次TTL+1的情况


在渗透测试路径追踪中对两种协议的相结合,我们可以互补出路由节点,慢慢补全其网络路径!

甚至可以通过ICMP报文中的TTL数值为0,就可以确定路由设备返回的ICMP报文,找到路由设备的IP地址

tcptraceroute
类似tcptraceroute-T
是一个Linux脚本;依赖于tracertoute -T

发出的报文也是TCP的syn请求报文
三者可以互相比较

0tracertroute
它的独到之处在于可以避免无法建立完整的TPC会话造成的网络路径探测不准确,且会发送TCP ACK报文。

使用0tracertroute这条路径枚举命令前,首先要对某个网站进行正常访问,让其建立一条合法的TCP会话,基于这个合法的TCP会话通道,再次发送TTL递增类型的探测数据包。2021版本的需要提前安装好,默认是没有的。
└─# apt install 0trace -y

这条命令不同的是,0trace他是一个Linux脚本,命令书写上会有不同,shell脚本跟上本地网卡+目标IP地址或者端口,不加端口也是可以的,只要建立端口连接就可以了!
─# 0trace.sh eth0 47.94.224.145 8180
如图所示,提示的结果在waiting什么呢?
因为你还没有建立一个正常合法的TCP会话连接,就会一直等待,直到你正常访问这个网站建立正常会话才可以!

当我们有正常的TCP连接会话之后,如图所示:
这条命令建议多执行几次,会把完整的路由节点给探测出来!
在实际的网络路径枚举中,我们需要借助这三条命令尽量把目标网络的路由节点给融合出来,当然所有的路径枚举命令也有不足:





