nmap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。
nmap是在网络安全渗透测试中经常会用到的强大的扫描器。功能之强大,不言而喻。下面介绍一下它的几种扫描命令。具体的还是得靠大家自己学习,因为实在太强大了。
nmap安装
yum install nmap
nmap场景命令参数
Usage: nmap [Scan Type(s)] [Options] {target specification}TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iL: Input from list of hosts/networks -iR : Choose random targets --exclude : Exclude hosts/networks --excludefile : Exclude list from fileHOST DISCOVERY: -sL: List Scan - simply list targets to scan -sn: Ping Scan - disable port scan -Pn: Treat all hosts as online -- skip host discovery -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes -PO[protocol list]: IP Protocol Ping -PR: ARP ping - does not need HW address -> IP translation -n/-R: Never do DNS resolution/Always resolve [default: sometimes] --dns-servers : Specify custom DNS servers --system-dns: Use OS's DNS resolver --traceroute: Trace hop path to each hostSCAN TECHNIQUES: -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 : Customize TCP scan flags -sI : Idle scan -sY/sZ: SCTP INIT/COOKIE-ECHO scans -sO: IP protocol scan -b : FTP bounce scanPORT SPECIFICATION AND SCAN ORDER: -p : Only scan specified ports Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 -F: Fast mode - Scan fewer ports than the default scan -r: Scan ports consecutively - don't randomize --top-ports : Scan most common ports --port-ratio : Scan ports more common than SERVICE/VERSION DETECTION: -sV: Probe open ports to determine service/version info -sR: Check what service uses opened ports using RPC scan --version-intensity : Set from 0 (light) to 9 (try all probes) --version-light: Limit to most likely probes (intensity 2) --version-all: Try every single probe (intensity 9) --version-trace: Show detailed version scan activity (for debugging)SCRIPT SCAN: -sC: equivalent to --script=default --script= : is a comma separated list of directories, script-files or script-categories --script-args= : provide arguments to scripts --script-trace: Show all data sent and received --script-updatedb: Update the script database.OS DETECTION: -O: Enable OS detection --osscan-limit: Limit OS detection to promising targets --osscan-guess: Guess OS more aggressivelyTIMING AND PERFORMANCE: Options which take
常见命令展示
1) 获取远程主机的系统类型及开放端口
nmap -sS -P0 -sV -O <target>
这里的 < target > 可以是单一 IP, 或主机名,或域名,或子网
-sS TCP SYN 扫描 (又称半开放,或隐身扫描)
-P0 允许你关闭 ICMP pings.
-sV 打开系统版本检测
-O 尝试识别远程操作系统
其它选项:
-A 同时打开操作系统指纹和版本检测
-v 详细输出扫描情况.
-------------------------------------------------------------------------------------------
1
nmap -sS -P0 -A -v < target >
2) 列出开放了指定端口的主机列表
-------------------------------------------------------------------------------------------
nmap -sT -p 80 -oG – 192.168.1.* | grep open
3) 在网络寻找所有在线主机
nmap -sP 192.168.0.*
-------------------------------------------------------------------------------------------
或者也可用以下命令:
nmap -sP 192.168.0.0/24
指定 subnet
-------------------------------------------------------------------------------------------
4) Ping 指定范围内的 IP 地址
nmap -sP 192.168.1.100-254
-------------------------------------------------------------------------------------------
5) 在某段子网上查找未占用的 IP
nmap -T4 -sP 192.168.2.0/24 && egrep “00:00:00:00:00:00″ /proc/net/arp
-------------------------------------------------------------------------------------------
6) 在局域网上扫找 Conficker 蠕虫病毒
nmap -PN -T4 -p139,445 -n -v –script=smb-check-vulns –script-args safe=1 192.168.0.1-254
-------------------------------------------------------------------------------------------
7) 扫描网络上的恶意接入点 (rogue APs).
nmap -A -p1-85,113,443,8080-8100 -T4 –min-hostgroup 50 –max-rtt-timeout
2000 –initial-rtt-timeout 300 –max-retries 3 –host-timeout 20m
–max-scan-delay 1000 -oA wapscan 10.0.0.0/8
-------------------------------------------------------------------------------------------
8 ) 使用诱饵扫描方法来扫描主机端口
sudo nmap -sS 192.168.0.10 -D 192.168.0.2
-------------------------------------------------------------------------------------------
9) 为一个子网列出反向 DNS 记录
nmap -R -sL 209.85.229.99/27 | awk ‘{if($3==”not”)print”(“$2″) no PTR”;else print$3″ is “$2}’ | grep ‘(‘
-------------------------------------------------------------------------------------------
10) 显示网络上共有多少台 Linux 及 Win 设备?
sudo nmap -F -O 192.168.0.1-255 | grep “Running: ” > /tmp/os; echo “$(cat /tmp/os | grep Linux
| wc -l) Linux device(s)”; echo “$(cat /tmp/os | grep Windows | wc -l) Window(s) device”
【更多参考】