浅谈端口扫描技术
字数 2109 2025-08-26 22:11:51
端口扫描技术详解
端口扫描基础
端口类型与范围
- 一个IP地址有65535(2^16)个端口,范围从0到65535(2^16-1)
- 端口按协议分为两种类型:
- TCP端口:面向连接、可靠的字节流服务
- UDP端口:不可靠的、面向数据报的服务
TCP端口扫描技术
TCP CONNECT扫描
- 原理:与目标端口完成完整的三次握手
- 判断标准:
- 成功建立连接:端口开放(open)
- 收到RST响应:端口关闭(closed)
- 工具使用:
- MSF模块:
use auxiliary/scanner/portscan/tcp - Nmap命令:
nmap -sT scanme.nmap.org
- MSF模块:
TCP SYN扫描(半连接扫描)
- 原理:只发送SYN报文段(三次握手的第一次)
- 判断标准:
- 收到SYN/ACK:端口开放
- 收到RST:端口关闭
- 无响应:端口被过滤(filtered)
- ICMP不可达错误:端口被过滤
- 优点:
- 速度快
- 不易被防火墙记录日志
- 工具使用:
- MSF模块:
use auxiliary/scanner/portscan/syn - Nmap命令:
nmap -sS scanme.nmap.org
- MSF模块:
TCP Xmas Tree扫描
- 原理:发送带有FIN、PSH和URG标志的数据包(不含SYN、RST或ACK)
- RFC规定:开放端口应丢弃此类报文,关闭端口会返回RST
- 判断标准:
- 无响应:开放或被过滤(open|filtered)
- RST响应:端口关闭
- ICMP不可达错误:端口被过滤
- 工具使用:
- MSF模块:
use auxiliary/scanner/portscan/xmas - Nmap命令:
- Xmas扫描:
nmap -sX - FIN扫描:
nmap -sF - NULL扫描:
nmap -sN
- Xmas扫描:
- MSF模块:
TCP ACK扫描
- 特点:不能确定端口开放/关闭状态
- 用途:探测防火墙配置
- 收到RST:无状态防火墙
- 无响应:有状态防火墙
- 工具使用:
- MSF模块:
use auxiliary/scanner/portscan/ack - Nmap命令:
nmap -sA scanme.nmap.org
- MSF模块:
TCP Window扫描
- 原理:类似ACK扫描,但检查RST数据包中的窗口大小
- 判断标准:
- RST且窗口非零:端口开放
- RST且窗口为零:端口关闭
- 无响应:端口被过滤
- 工具使用:
nmap -sW docsrv.caldera.com
TCP Idle扫描
- 特点:完全盲目的端口扫描,不直接向目标发送数据包
- 原理:
- 探测僵尸主机(Zombie)的IP ID并记录
- 伪造Zombie的IP向目标发送SYN包
- 再次探测Zombie的IP ID
- 判断标准:
- IP ID增加1:端口关闭或被过滤
- IP ID增加2:端口开放
- IP ID增加>2:Zombie主机不适合
- 优点:
- 高度隐蔽
- 可绕过某些过滤防火墙
- 缺点:
- 扫描时间长
- 需要合适的Zombie主机
- 需要能够发送欺骗包
- 工具使用:
nmap -sI <zombie_host> <target>
TCP Maimon扫描
- 原理:发送FIN/ACK标志的数据包
- 判断标准:
- BSD系统:开放端口丢弃数据包
- 其他系统:无论端口状态都返回RST
- 工具使用:
nmap -sM
TCP FTP Bounce扫描
- 原理:利用FTP代理功能通过FTP服务器扫描其他主机
- 工具使用:
nmap -b <username>:<password>@<server>:<port>
UDP端口扫描技术
UDP扫描
- 原理:向目标端口发送UDP数据包
- 判断标准:
- 收到UDP响应:端口开放(少见)
- 无响应:开放或被过滤
- ICMP端口不可达:端口关闭
- 其他ICMP不可达错误:端口被过滤
- 特点:
- 扫描速度慢
- 可靠性较低
- 工具使用:
nmap -sU scanme.nmap.org
ICMP扫描技术
ICMP扫描
- 原理:利用ICMP错误报文机制
- 常见利用:
- 类型3代码1/2/3/9/10/13:数据包被防火墙过滤
SCTP扫描技术
SCTP INIT扫描
- 原理:类似TCP SYN扫描,发送INIT块
- 判断标准:
- INIT-ACK响应:端口开放
- ABORT响应:端口关闭
- 无响应:端口被过滤
- 工具使用:
nmap -sY
SCTP COOKIE ECHO扫描
- 原理:发送COOKIE ECHO块
- 判断标准:
- 无响应:端口开放
- ABORT响应:端口关闭
- 工具使用:
nmap -sZ
IP协议扫描
IP协议扫描
- 原理:循环通过IP协议号(非端口号)
- 判断标准:
- 收到响应:协议开放
- ICMP协议不可达:协议关闭
- 其他ICMP不可达:协议被过滤
- 无响应:开放或被过滤
- 工具使用:
nmap -sO
总结
端口扫描技术多种多样,各有优缺点和适用场景。选择扫描技术时应考虑:
- 扫描的隐蔽性需求
- 目标网络的防火墙配置
- 扫描速度和效率要求
- 扫描结果的准确性需求
熟练掌握各种扫描技术及其原理,有助于在渗透测试和安全评估中选择最合适的扫描方法。