TCP connect()扫描 : -sT
TCP SYN或半开放扫描 : -sS
TCP FIN、NULL和XMAS :-sF, -sN和-sX
UDP扫描: -sU
1、获取远程主机的端口信息和识别主机操作系统 (Get info about remote host ports and OS detection)
nmap -sS -P0 -sV -O <target>
< target > 可以是独立IP, 一个主机名 或一个子网
-sS TCP SYN扫描(也叫半开或隐蔽扫描)
-P0 选项允许你关闭ICMP ping
-sV 选项启用版本检测
-O 表示试图识别远程操作系统
其它选项:
-A 选项启用OS指纹和版本检测
-v 使用两次-v查看细节信息
nmap -sS -P0 -A -v < target>
nmap -sT -p 80 -oG – 192.168.1.* | grep open
改变-p的参数可指定端口,查看nmap主页寻找指定地址范围的不同方式。
nmap -sP 192.168.0.*
还有许多其它的选项,这个只是一个简单的例子。
另一个选项:
nmap -sP 192.168.0.0/24
针对特定子网
nmap -sP 192.168.1.100-254
namp接受多种类型的地址符号,多个目录/范围等。
nmap -T4 -sP 192.168.2.0/24 && egrep "00:00:00:00:00:00″ /proc/net/arp
nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns–script-args safe=1 192.168.0.1-254
可以把192.168.0.1-256替换成你想要检测的地址。
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 wapscan10.0.0.0/8
我使用这个在非常巨大的网络中成功找出多个非法接入点。
这里使用--max-rtt-timeout 和使用 -T 选项将能够显著的缩短扫描的时间,因为有的时候nmap发送的扫描探针,会被对方的防火墙给drop掉,这样导致nmap期望接收到的SYN/ACK或者RST/ACK就遥遥无期,所以使用这两个选项可以缩短扫描时间。
--max-rtt-timeout 毫秒
这个时间值的一种比较好的设置方法是在使用nmap之前,ping一下要扫描的主机
-T[0-5] 设置时间速度模板,值越大,扫描速度越快,具体的见man namp
sudo nmap -sS 192.168.0.10 -D 192.168.0.2
扫描目标设备/计算机(192.168.0.10)的开放端口并设置一个诱骗地址(192.168.0.2),在目标的安全日志中将会显示诱骗地址而不是你的IP地址。诱骗地址必须是存活的,检查目标主机的安全日志(/var/log/)确定它是否工作。
nmap -R -sL 209.85.229.99/27 | awk '{if ($3=="not") print "("$2") no PTR" ; else print $3 ″ is " $2}' | grep '('
这个命令是使用nmap字在子网中查询DNS反向信息。它会生成子网中的ip地址列表和相应的PTR纪录。你可以在CDIR符号中输入子网(i.e. /24 for a ClassC),如果你需要查询一个特定的DNS服务器,你可以在-sL后边添加“–dns-serversx.x.x.x”,一些安装版的namp可能需要sudo,我也希望awk是大多数发行版的标准。
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) devices"