Blog

Keep up to date with the latest news

Nmap扫描全攻略:主机存活与端口探测

主机存活扫描

命令:nmap -sn 加网段

查询网段中主机或者整个网段的IP存活状态

1.当目标主机与源主机不在同一网段时:

Nmap会发送四种不同类型的数据包来探测目标主机是否在线:

ICMP echo request (NMAP -PE 目标)a TCP SYN packet to port 443 (NMAP -PS主机)a TCP ACK packet to port 80 (NAMP -PA 目标)an IMP timestamp request(AMP-PP 目标)

2.当目标主机 与源主机在同一网段时

Nmap 将通过发送arp请求,来检查ip是否在线 (NMAP -PR 目标)

端口扫描(Port Scanning)

命令:nmap -sT 加目标主机IP

一个攻击者使用TCP连接扫描很容易被发现,因为Nmap将使用connect0系统调用打开目标

机上相关端口的连接,并完成三次TCP握手,且RST断开连接

若目标主机的某一端口打开,则通过这个 端口建立TCP三次握手如图

隐蔽扫描(Stealth Scanning)

命令:nmap -sS 加目标主机IP

如果一个攻击者不愿在扫描时使其

信息被记录在目标系统日志上,通过发送一个SYN包(是TCP协议中的第一个包)开始一次SYN的扫描。

任何开放的端口都将有一个SYNIACK响应。然而,攻击者发送一个RST替代ACK,连接中止。三次握手得不到实现,也就很少有站点能

记录这样的探测。如果是关闭的端口,对最初的SYN信号的响应也会是RST,让NMAP知道该端口不在监听。

收到目标机的ACK响应后直接发送RST断开连接,不建立三次握手,如图

TCP FIN/Xmas/NULL scanning

命令:nmap -sF/X/N 加目标主机IP

这三种扫描方式被称为秘密扫描 (Stealthy Scan),因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN包或

Xmas tree包/Null包,如果收到对方RST回复包,那幺说明该端口是关闭的;没有收到RST包说明端口可能是开放的或

被屏蔽的。

-sF

-sX

-sN

UDP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable” 就说明该端口是关闭的;

如果没有收到回复,那说明UDP端口可能是开放的或屏蔽的。因此,通过反向排除法的方式来断定哪些UDP端口是可能出于开放状态。

扫描系统指纹 -O

产生大量报文,清楚端口打开了什么服务

nmap -A更详细,可以扫描出打开服务的版本