构造ICMP请求包进行路由跟踪
为了实施路由跟踪,也可以使用 netwox 工具提供的编号为 57 的模块,构造 ICMP 请求包进行路由跟踪,查询经过的路由地址。
该工具也是通过设定 TTL 值的方式向目标发送 ICMP 请求,每经过一个路由都会得到相应的 ICMP 响应包,直到目标返回 ICMP 响应。其中,超时消息的 ICMP 数据包的报文中类型值为 11,代码值为 0。
在主机 192.168.12.106 上,构造 ICMP 请求包对目标 125.39.52.26 进行路由跟踪。
1) 进行路由跟踪,执行命令如下:
2) 通过 Wireshark 抓包,验证构造的 ICMP 请求包和对应的响应包,如图所示。
其中,第 1 个数据包是向目标主机发送的 ICMP 请求包,第 2 个数据包为经过的第一个路由返回的 ICMP 响应包,是一个超时消息数据包;第 3 个数据包是再次向目标主机发送的 ICMP 请求数据包;第 4 个数据包为经过的第二个路由返回的 ICMP 响应包,同样也是一个超时消息数据包。以此类推,直到成功得到目标 125.39.52.26 返回的 ICMP 响应信息。
3) 选择任意一个路由返回的 ICMP 数据包,如图所示。
例如,第 15 个数据包是路由 125.39.79.158 返回的响应包。
在 Internet Control Message Protocol 部分中,Type 值为 11,Code 值为 0,表示该数据包为 ICMP 超时消息数据包。
4) 选择最后一个数据包进行查看,如图所示。
该数据包源 IP 地址为 125.39.52.26(目标的),目标 IP 地址为 192.168.12.106(实施主机的),表示该数据包是目标主机返回构造 ICMP 请求的主机的数据包。
在 Internet Control Message Protocol 部分中,Type 值为 0,Code 值为 0,表示该数据包是一个正常的 ICMP 响应数据包。
该工具也是通过设定 TTL 值的方式向目标发送 ICMP 请求,每经过一个路由都会得到相应的 ICMP 响应包,直到目标返回 ICMP 响应。其中,超时消息的 ICMP 数据包的报文中类型值为 11,代码值为 0。
在主机 192.168.12.106 上,构造 ICMP 请求包对目标 125.39.52.26 进行路由跟踪。
1) 进行路由跟踪,执行命令如下:
root@kali:~# netwox 57 -i 125.39.52.26
输出信息如下:
1 : 192.168.12.1
2 : 192.168.0.1
3 : 183.185.164.1
4 : 218.26.28.157
5 : 218.26.151.161
6 : 219.158.15.214
8 : 125.39.79.158
14 : 125.39.52.26
2) 通过 Wireshark 抓包,验证构造的 ICMP 请求包和对应的响应包,如图所示。
3) 选择任意一个路由返回的 ICMP 数据包,如图所示。
在 Internet Control Message Protocol 部分中,Type 值为 11,Code 值为 0,表示该数据包为 ICMP 超时消息数据包。
4) 选择最后一个数据包进行查看,如图所示。
在 Internet Control Message Protocol 部分中,Type 值为 0,Code 值为 0,表示该数据包是一个正常的 ICMP 响应数据包。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算