Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。Nmap工具可以用来扫描电脑上开放的端口,确定哪些服务运行在哪些端口,并且推断出计算机运行的
操作系统。通过使用该工具,可以评估网络系统安全。所以,Nmap是大部分用户所必要的工具之一。
1.扫描单个目标
nmap [目标] root@localhost:~# nmap 192.168.1.105
2.扫描多个目标
nmap [目标1 目标2 ...] root@localhost:~# nmap 192.168.1.1 192.168.1.101 192.168.1.105
3.扫描一个目标列表
nmap -iL [IP地址列表文件] root@localhost:~# nmap -iL list.txt
4.扫描随机目标
nmap -iR [主机数量] root@localhost:~# nmap -iR 2
5.IP地址范围扫描
nmap [IP地址范围] root@localhost:~# nmap 192.168.1.1-100
6.整个子网扫描
nmap [CIDR格式的网络地址] root@localhost:~# nmap 192.168.1.1/24
7.排除扫描目标
nmap [目标] --exclude [目标] root@localhost:~# nmap 192.168.1.1/24 --exclude 192.168.1.101
root@localhost:~# nmap 192.168.1.1/24 --exclude 192.168.1.100-103
8.排除列表中的目标
nmap [目标] --excludefile [目标列表]
十条常用nmap命令行格式
1)获取远程主机的系统类型及开放端口
nmap -sS -P0 -sV -O <target>
这里的 < target > 可以是单一 IP, 或主机名,或域名,或子网
-sS TCP SYN 扫描 (又称半开放,或隐身扫描)
-P0 允许你关闭 ICMP pings.
-sV 打开系统版本检测
-O 尝试识别远程操作系统
-sS TCP SYN scanning (also known as half-open, or stealth scanning)
-P0 option allows you to switch off ICMP pings.
-sV option enables version detection
-O flag attempt to identify the remote operating system
Other option:
-A 同时启用操作系统指纹识别和版本检测
-A option enables both OS fingerprinting and version detection
-v use -v twice for more verbosity.
nmap -sS -P0 -A -v < target >
2)列出开放了指定端口的主机列表
nmap -sT -p 80 -oG – 192.168.1.* | grep open
Change the -p argument for the port number.
See “man nmap” for different ways to specify address ranges.
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
Scan for open ports on the target device/computer (192.168.0.10) while setting up a decoy address (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.1.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) devices"