nmap扫描命令格式
nmap [Scan Type(s)] [Options] {target specification}
主机扫描
-sL (列表扫描),-sP (Ping扫描),-P0 (无ping),-PS [portlist] (TCP SYN Ping),-PA [portlist] (TCP ACK Ping),-PU [portlist] (UDP Ping),
-PE; -PP; -PM (ICMP Ping Types),-PR (ARP Ping)
参数:-n (不用域名解析),-R (为所有目标解析域名),
可以同时指定多种扫描方式
端口扫描
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags <flags>: Customize TCP scan flags
-sI <zombie host[:probeport]>: Idle scan
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b <FTP relay host>: FTP bounce scan
nmap -sL ***.10.87.1-255
nmap -PE ***.10.87.1-255
nmap -PS80 ***.10.87.1-255指定在80端口进行主机发现SYN PING扫描
nmap -PR 192.168.1.1-255ARP Ping扫描
nmap -Pn ***.10.87.1-255(不使用ping扫描,因internet上一般禁PING,更适合internet)
nmap -sP ***.10.87.1-255(快速ping扫描)
-sn 参数,只探测存活主机,不扫描其他信息,例子:
nmap -Pn -sn ***.10.87.1-255
Nmap-端口扫描
1.单一主机扫描
2.多主机扫描
3.多端口扫描
nmap –sS ***.10.87.148(默认的1000个端口)
nmap –sS ***.10.87.1-255
nmap –sT ***.10.87.1-255
nmap –sU ***.10.87.1-255
nmap –sU –p 80,445 ***.10.87.1-255
nmap –sT -v ***.10.87.1-255(启用细节模式)
nmap –sU –p ***.10.87.1-255(扫描全部端口)
Nmap-操作系统探测
-O?(启用操作系统检测)
--osscan-limit (针对指定的目标进行操作系统检测,探测不到则停止探测)
--osscan-guess; --fuzzy (推测操作系统检测结果)
nmap –sT -O ***.10.87.148
nmap –sT -p 3390 -O --osscan-limit ***.10.87.148
nmap –sA -O ***.10.87.148
Nmap-服务程序探测
-sV
nmap –sV ***.10.87.148
nmap -sV -p 22,53,110,143,4564 ***.10.87.1-255
Nmap---一些高级选项
nmap --iflist (查看本地路由与接口)
nmap -e 08:00:27:47:63:E6 ***.10.87.148(指定mac和ip地址)
nmap -T4 -F -n -Pn -D192.168.1.100,192.168.1.101,192.168.1.102,ME 192.168.1.***(地址诱骗)
nmap –sV --spoof-mac 08:00:27:47:63:E6 ***.10.87.148(虚假mac地址)
nmap –sV --source-port 900 ***.10.87.148 --source-port(指定源端口)
nmap -p1-25,80,512-515,2001,4001,6001,9001 10.20.0.1/16(扫描思科路由器)
nmap -sU -p69 -nvv 192.168.1.253(扫描路由器的tftp协议)
nmap -O -F -n ***.10.87.148 (-F快速扫描)
nmap -iR 100000 -sS -PS80 -p 445 -oG nmap.txt(随机地产生10万个IP地址,对其445端口进行扫描。将扫描结果以greppable(可用grep命令提取)格式输出到nmap.txt文件。
可以使用grep命令从输出文件提取关心的细节信息)
Nmap---脚本使用
nmap --script=brute ***.10.87.148(暴力破解)
参考资料:
http://drops.wooyun.org/tips/2188
Zmap安装
apt-get install build-essential cmake libgmp3-dev libpcap-dev gengetopt byacc flex git dwarfdump libjson0 libunistring-dev libunistring0
git clone git://github.com/zmap/zmap.git
cd zmap/
cmake -DENABLE_HARDENING=ON
make
make install
Zmap常用选项
-p,--target-port=port TCP 端口号(比如443)
-o,--output-file=name 我们要保存的扫描结果,用- 表示屏幕输出
-b,--blacklist-file=path 子网排除使用 CIDR 表示方法,参考 /etc/zmap/blacklist.conf
Zmap—常规选项
-n,--max-target=n 最大目标数量,可以是一个数字比如-n 1000或者-n 0.1%(可扫描的地
址空间),不包含黑名单中的地址
-N,--max-results=n 接受到多少结果后,推退出
-t,--max-runtime=secs 发送数据包最长时间
-B,--bandwidth=bps 设置发送速率 数据包/秒
-c,--cooldown-time=secs 在发送数据包后多少时间收返回数据(默认8s)
-e,--seed=n 用于选择地址排序,如果你想运行多个 zmap 对地址进行扫描时使用
-T,--sender-threads=n 发包线程(默认1)
-P,--probes=n 对每个 IP 进行探测的次数(默认每个 IP 一次探测)-d,--dryrun 调试时使用,在屏幕显示每个数据包,但不发送
Zmap—网络选项
-s,--source-port=port|range 发送数据包的源端口
-S,--source-ip=ip|range 发送数据包的 IP 地址,可以是单个 ip 也可以是返回(e.g
10.0.1-10.0.0.9)
-G --gateway-mac-addr 发送数据包的网关 MAC 地址(不起作用下会自动检测)
Zmap—附加选项
-C,--config=filename 加载配置文件
-q,--quit 不再打印每秒更新的状态
-g,--summary 在扫描完成后打印出结构和总结结果
-v,--verbosity=n 详细级别(0-5,默认3)
-h,--help 帮助信息
-V,--version 打印出版本信息
Zmap-简单案例
zmap -B 20M -p 80 -n 1000000 -o results.txt(在20M网速下,随机100W个ip地址对80端口扫描)
zmap -B 20M -p 80 -n 1000000 -o results.txt -b /etc/zmap/blacklist.conf (使用黑名单文件)
zmap -B 20M -p 80 -n 1000000 -o results.txt –s 889 (指定源端口)
Zmap icmp扫描
--probe--module=icmp_echoscan
zmap -B 20M -p 80 -n 1000000 -o results.txt --probe--module=icmp_echoscan
Zmap--udp扫描
--probe-module=udp
zmap -B 20M -p 80 -n 1000000 -o results.txt --probe--module=udp
Zmap—使用配置文件
/etc/zmap/zmap.conf
zmap --config=/etc/zmap/zmap.conf