Nmap使用指南
Created 星期四 01 九月 2016
nmap -v -n –sS -sU -p22 -iL ./iplist.txt | grep “Discovered open port” | awk {‘print $6’} | awk -F/ {‘print $1’} > ./22-output.txt
nmap -sS -sU -vv -n -p22 192.168.1.0/24 | grep “Discovered open port” | awk {‘print $6’} | awk -F/ {‘print $1’} > ./22-output.txt
这两条命令的含义是,扫描iplist.txt文件中的IP地址是否开启22端口;如开启,则将这个结果输出到22-output.txt文件中
适用所有大小网络最好的 nmap 扫描策略
主机发现,生成存活主机列表
$ nmap -sn -T4 -oG Discovery.gnmap 192.168.56.0/24
$ grep “Status: Up” Discovery.gnmap | cut -f 2 -d ’ ’ > LiveHosts.txt
端口发现,发现大部分常用端口
http://nmap.org/presentations/BHDC08/bhdc08-slides-fyodor.pdf
$ nmap -sS -T4 -Pn -oG TopTCP -iL LiveHosts.txt
$ nmap -sU -T4 -Pn -oN TopUDP -iL LiveHosts.txt
$ nmap -sS -T4 -Pn --top-ports 3674 -oG 3674 -iL LiveHosts.txt
端口发现,发现全部端口,但 UDP 端口的扫描会非常慢
$ nmap -sS -T4 -Pn -p 0-65535 -oN FullTCP -iL LiveHosts.txt
$ nmap -sU -T4 -Pn -p 0-65535 -oN FullUDP -iL LiveHosts.txt
显示 TCP\UDP 端口
$ grep “open” FullTCP|cut -f 1 -d ’ ’ | sort -nu | cut -f 1 -d ‘/’ |xargs | sed ‘s/ /,/g’|awk ‘{print “T:”$0}’
$ grep “open” FullUDP|cut -f 1 -d ’ ’ | sort -nu | cut -f 1 -d ‘/’ |xargs | sed ‘s/ /,/g’|awk ‘{print “U:”$0}’
侦测服务版本
$ nmap -sV -T4 -Pn -oG ServiceDetect -iL LiveHosts.txt
扫做系统扫描
$ nmap -O -T4 -Pn -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 – 躲避防火墙
分段
$ nmap -f
修改默认 MTU 大小,但必须为 8 的倍数(8,16,24,32 等等)
$ nmap --mtu 24
生成随机数量的欺骗
$ nmap -D RND:10 [target]
手动指定欺骗使用的 IP
$ nmap -D decoy1,decoy2,decoy3 etc.
僵尸网络扫描, 首先需要找到僵尸网络的IP
$ nmap -sI [Zombie IP] [Target IP]
指定源端口号
$ nmap --source-port 80 IP
在每个扫描数据包后追加随机数量的数据
$ nmap --data-length 25 IP
MAC 地址欺骗,可以生成不同主机的 MAC 地址
$ nmap --spoof-mac Dell/Apple/3Com IP
Nmap 进行 Web 漏洞扫描
cd /usr/share/nmap/scripts/
wget http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz && tar xzf nmap_nse_vulscan