使用UDP协议扫描端口
【实例】已知目标主机 IP 地址为 192.168.59.135,其 MAC 地址为 00:0c:29:ca:e4:66。在主机 192.168.59.132 上实施端口扫描,判断目标主机多个端口的开放情况。
1) 判断端口 20-25 的开放情况,执行命令如下:
root@daxueba:~# netwox 69 -i 192.168.59.135 -p 20-25
输出信息如下:
192.168.59.135 - 20 : closed
192.168.59.135 - 21 : closed
192.168.59.135 - 22 : closed
192.168.59.135 - 23 : closed
192.168.59.135 - 24 : closed
192.168.59.135 - 25 : closed
2) 如果进行抓包,将会捕获到扫描的 UDP 请求包和返回的 ICMP 包,如图所示。
3) 如果目标主机端口开放,执行命令后显示信息如下:
root@daxueba:~# netwox 69 -i 192.168.59.135 -p 75-80
输出信息如下:
192.168.59.135 - 75 : timeout (perhaps open)
192.168.59.135 - 76 : timeout (perhaps open)
192.168.59.135 - 77 : timeout (perhaps open)
192.168.59.135 - 78 : timeout (perhaps open)
192.168.59.135 - 79 : timeout (perhaps open)
192.168.59.135 - 80 : timeout (perhaps open)
4) 端口为开放状态将不会有对应的响应包。通过抓包进行查看,如图所示。
5) 在批量扫描端口时,为了避免被发现,可以进行伪造 UDP 包,如设置假的源 IP 地址和 MAC 地址。
例如,伪造源 IP 地址为 192.168.59.150,源 MAC 地址为 10:20:30:40:50:60,执行命令如下:
root@daxueba:~# netwox 70 -i 192.168.59.135 -p 75-80 -E 10:20:30:40:50:60 -I 192.168.59.150
输出信息如下:
192.168.59.135 - 75 : closed
192.168.59.135 - 76 : closed
192.168.59.135 - 77 : closed
192.168.59.135 - 78 : closed
192.168.59.135 - 79 : closed
192.168.59.135 - 80 : closed
6) 通过抓包方式,查看伪造的包,如图所示。
7) 端口未开放将返回 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
- 大数据
- 云计算