本文章仅用于学习,不可以用于一切其他环境
以具体实验了解NMAP端口扫描
实验环境准备一台winxp虚拟机(192.168.174.135)一台kali虚拟机(192.168.174.136)
一.常用端口扫描技术特点原理
全连接扫描(TCP connect scan)
建立tcp三次握手,成功说明开启
特点:容易被察觉
半开放SYN扫描(TCP SYN scan)
只建立了两次tcp握手就断开了
特点:
1. 应用程序没有日志
2. 容易被发现
FIN扫描
发送FIN
1. LISTEN端口丢弃
2. CLOSED端口回复RST
特点:扫描效率低,需要等待超时
TCP Xmas扫描(圣诞树)
发送FIN+URG+PSH(原理同FIN)
1. LISTEN端口丢弃
2. CLOSED端口回复RST
特点:扫描效率低,需要等待超时,不能适用所有系统
TCP NULL扫描
发送NULL(原理同FIN)
1. LISTEN端口丢弃
2. CLOSED端口回复RST
特点:扫描效率低,需要等待超时,不能适用所有系统
UDP扫描
发送UDP包
返回ICMP_PORT_UNREACH为关闭,否则打开
特点:
1. 不可靠
2. 目标可以禁止UDP
二.NMAP的基本使用
nmap 192.168.174.1 -130 | 对多个连续的主机进行扫描 |
nmap 192.168.174.1 192.168.174.135 | 对多个IP地址进行扫面 |
nmap -sT 192.168.174.135 | 查看运用TCP技术扫描192.168.174.135的情况 |
nmap 192.168.174.135 | 找到主机上的开放端口 |
ps:由下图可得知该xp开启了8个端口
三.NMAP的进阶使用
-sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。
-sn 只进行主机发现,不进行端口扫描
-sU 指定使用UDP扫描方式确定目标主机的UDP端口状况
-sS 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。
-sF -sN 秘密FIN数据包扫描、Xmas Tree、Null扫描模式
-sP ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。
-sU UDP扫描,但UDP扫描是不可靠的
-sA 这项高级的扫描方法通常用来穿过防火墙的规则集
-sV 端口服务及版本
-sC 默认的脚本扫描,主要是搜集各种应用服务的信息
-Pn 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
-p 指定端口扫描(全端口1-65535或-p-)
-P0 扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
-v 显示扫描过程,推荐使用
-h 帮助选项,是最清楚的帮助文档
-A 包含了-sV,-O,全面系统检测,启动脚本检测,扫描等。
以各别命令为例子:
(1)发现存活的主机数量可以
(2)确定机器上什么服务监听在特定的端口且获得服务版本
(3)Connect扫描
nmap –sT –Pn –v –p 21 192.168.174.135 //指定对21端口进行扫描
通过 wireshark可以看出Connect扫描的原理是通过tcp三次握手去测试端口服务是否开启