摘要:关于nmap的常用的命令。开箱即用

一键版本

# -A同时做所有扫描,例如侦测服务版本以及系统和服务检测
nmap -A -p- 192.168.56.1

主机发现,生成存活主机列表

# 参数说明:-T4 加快扫描速度 ,-n 不进行dns逆解析

# 普通版
nmap -sn -T4 -n -oG Discovery.gnmap 192.168.56.0/24

# 加强版,可绕防火墙,速度会慢很多
nmap -PA80,443,3306,22,3389 -T4 -n -oG Discovery.gnmap 192.168.56.0/24

# 获取存活的主机并输入LiveHosts.txt
grep "Status: Up" Discovery.gnmap | cut -f 2 -d ' ' > LiveHosts.txt

端口发现,发现大部分常用端口

常用端口列表:https://nmap.org/book/port-scanning.html#port-scanning-port-intro

# SYN扫描,最常用
nmap -sS -T4 -Pn -n -oG TopTCP -iL LiveHosts.txt

# 加强版,可绕防火墙,速度会慢很多
nmap -sA -T4 -Pn -n -oG TopTCP -iL LiveHosts.txt

# UDP扫描,速度会非常慢
nmap -sU -T4 -Pn -n -oG TopUDP -iL LiveHosts.txt

# 扫描出现概率最大的前3674个端口
nmap -sS -T4 -Pn -n --top-ports 3674 -oG 3674 -iL LiveHosts.txt

端口发现,发现全部端口,但 UDP 端口的扫描会非常慢

nmap -sS -T4 -n -Pn -p- -oN FullTCP -iL LiveHosts.txt
nmap -sU -T4 -n -Pn -p- -oN FullUDP -iL LiveHosts.txt

显示 TCP\UDP 端口

grep "open" FullTCP|cut -f 1 -d ' ' | sort -nu | cut -f 1 -d '/' | awk '{print "T:"$0}'
grep "open" FullTCP|cut -f 1 -d ' ' | sort -nu | cut -f 1 -d '/' | awk '{print "U:"$0}'

侦测服务版本

# 扫描默认端口
nmap -sV -T4 -Pn -oG ServiceDetect -iL LiveHosts.txt

# 扫描全部端口
nmap -sV -T4 -Pn -p- -oG ServiceDetect -iL LiveHosts.txt

只做系统扫描

# 扫描默认端口
nmap -O -T4 -n -Pn -oG OSDetect -iL LiveHosts.txt

# 扫描全部端口
nmap -O -T4 -n -Pn -p- -oG OSDetect -iL LiveHosts.txt

系统和服务检测

# 扫描默认端口
nmap -O -sV -T4 -Pn -p U:53,111,137,T:21-25,80,139,8080 -oG OS_Service_Detect -iL LiveHosts.txt

# 扫描指定端口
nmap -O -sV -T4 -Pn -p U:53,111,137,T:21-25,80,139,8080 -oG OS_Service_Detect -iL LiveHosts.txt

# 扫描全部端口
nmap -O -sV -T4 -Pn -p- -oG OS_Service_Detect -iL LiveHosts.txt

Nmap 躲避防火墙

分段

nmap -f
例如: nmap -PU -f -f -sn 150.158.163.34

修改默认 MTU 大小,但必须为 8 的倍数(8,16,24,32 等等)

nmap --mtu 24

生成随机数量的欺骗

nmap -D RND:10 [target]

手动指定欺骗使用的 IP

nmap -D decoy1,decoy2,decoy3 etc.
例如: nmap -PP -D 47.93.98.201 -p6379 150.158.163.34 --max-retries=0

僵尸网络扫描, 首先需要找到僵尸网络的IP

# 不会向目标发送任何数据包,隐蔽性很强
nmap -sI [Zombie IP] [Target IP]
例如:nmap -sI 47.93.98.201:443 -Pn -p80 -r --packet-trace --max-rate 1 -v 150.158.163.34

-sI使用的条件:ipid号连续。ipid可以用下面命令查看

hping3 -c 10 -i 1 -p 80 -S beta.search.microsoft.com

指定源端口号

nmap --source-port 80 IP

在每个扫描数据包后追加随机数量的数据

nmap --data-length 25 IP

MAC 地址欺骗,可以生成不同主机的 MAC 地址

nmap --spoof-mac Dell 192.168.56.1
nmap --spoof-mac Apple 192.168.56.1
nmap --spoof-mac 3Com IP 192.168.56.1

加快扫描速度

nmap -sS -Pn -p80,443,3306,22,3389 -n --open --min-hostgroup 1024 --min-parallelism 10 --host-timeout 30 -T4 -v -oG results-all.txt -iL ipduan.txt

# --open:结果只显示
# -n: 禁用dns逆解析
# --host-timeout: 设置超时时间