伪造ICMP数据包的IP层
ICMP 是位于 IP 层上的协议。用户可以使用 netwox 工具中编号为 42 的模块,对 ICMP 数据包的 IP 层信息进行伪造。
【实例】伪造基于 IPv4 的 ICMP 数据包。
1) 查看基于 IPv4 的 ICMP 数据包的默认值,执行命令如下:
这两部分中包含了多个字段信息。例如,IP 部分中 source 的值为 192.168.59.131,表示该 IPv4 数据包源 IP 地址(本地IP地址),destination 的值为 5.6.7.8,表示目标 IP 地址。这里的值均为默认值。用户可以对这些值进行修改,自定义特定的 ICMP 数据包。
2) 伪造源 IP 地址为 192.168.59.160,执行命令如下:
3) 通过捕获数据包,验证伪造的 ICMP 请求包是否被发送,如图所示。
图中第 4 个数据包为伪造的数据包,源 IP 地址为伪造的地址 192.168.59.160,而不是本地 IP 地址。Ech0(ping)reply 表示该数据包为 ICMP
【实例】伪造基于 IPv4 的 ICMP 数据包。
1) 查看基于 IPv4 的 ICMP 数据包的默认值,执行命令如下:
root@daxueba:~# netwox 41
输出信息如下:IP______________________________________________________________. |version| ihl | tos | totlen | |___4___|___5___|____0x00=0_____|___________0x001C=28___________ | | id |r|D|M| offsetfrag | |_________0xD03C=53308__________|0|0|0|________0x0000=0_________ | | ttl | protocol | checksum | |____0x00=0_____|____0x01=1_____|____________0xE26B_____________ | | source | |________________________192.168.59.131_________________________ | | destination | |____________________________5.6.7.8____________________________ | ICMP4_echo reply________________________________________________. | type | code | checksum | |____0x00=0_____|____0x00=0_____|_________0xFFFF=65535__________ | | id | seqnum | |___________0x0000=0____________|___________0x0000=0____________ | | data: | |_______________________________________________________________ |输出信息分为两部分,IP 部分表示 IPv4 层信息,ICMP4_echo reply 部分为 ICMP 响应包部分。
这两部分中包含了多个字段信息。例如,IP 部分中 source 的值为 192.168.59.131,表示该 IPv4 数据包源 IP 地址(本地IP地址),destination 的值为 5.6.7.8,表示目标 IP 地址。这里的值均为默认值。用户可以对这些值进行修改,自定义特定的 ICMP 数据包。
2) 伪造源 IP 地址为 192.168.59.160,执行命令如下:
root@daxueba:~# netwox 41 -l 192.168.59.160 -m 192.168.59.135
输出信息如下:IP______________________________________________________________. |version| ihl | tos | totlen | |___4___|___5___|____0x00=0_____|___________0x001C=28___________ | | id |r|D|M| offsetfrag | |_________0xDD2B=56619__________|0|0|0|________0x0000=0_________ | | ttl | protocol | checksum | |____0x00=0_____|____0x01=1_____|____________0xE55A_____________ | | source | |________________________192.168.59.160_________________________ | | destination | |________________________192.168.59.135_________________________ | ICMP4_echo reply________________________________________________. | type | code | checksum | |____0x00=0_____|____0x00=0_____|_________0xFFFF=65535__________ | | id | seqnum | |___________0x0000=0____________|___________0x0000=0____________ | | data: | |_______________________________________________________________ |其中,IP 部分的 source 的值由原来的本地地址 192.168.59.131 变为了 192.168.59.160;destination 的值由默认的 5.6.7.8 变为了 192.168.59.135。
3) 通过捕获数据包,验证伪造的 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
- 大数据
- 云计算