Nmap基础用法

自己搜集总结的Nmap常用命令及参数说明。

一、简介

NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。
nmap是在网络安全渗透测试中经常会用到的强大的扫描器,功能很强大。

二、参数说明

-sP 渗透内网之后判断当前网络哪些主机在线

nmap -sP 192.168.1/255

-vv 显示详细的扫描过程
-sS 使用SYN半开式扫描,这种扫描方式使得扫描结果更加正确(又称半开放,或隐身扫描)

nmap -vv -sS IP

-O 大写O代表OS,判断主机操作系统

nmap -O IP

延时策略
-T(0-5) 默认为 3
0 即 Paranoid 模式。为了避开IDS的检测使扫描速度极慢,nmap串所有的扫描,每隔至少5分钟发送一个包。
1 即 Sneaky 模式。也差不多,只是数据包的发送间隔是15秒。
2 即 Polite 模式。不增加太大的网络负载,串行每个探测,并使每个探测间隔0.4秒。
3 即 Normal 模式。nmap的默认选项,在不使网络过载或者主机/端口丢失的情况下尽可能快速地扫描。
4 即 Aggressive 模式。设置5分钟的超时限制,对每台主机的扫描时间不超过5分钟,并且对每次探测回应的等待时间不超过1.5秒。
5 即 lnsane 模式。只适合快速的网络或者不在意丢失默些信息,每台主机的超时限制为75秒,对每次探测只等待0.3秒。

nmap -sS -T1 IP

-sV 探测端口的服务类型/具体版本等信息

nmap -vv -sV IP

-p 端口号 对某个端口的服务版本进行详细探测,有助于升入的针对性攻击,比如缓冲溢出攻击

nmap -vv -sV IP -p 21

适用于内外网的探测,以内网操作为示例(外网参数同)

简单端口扫描:nmap -vv -sT(sS、sF、sU、sA) 192.168.0.1 -D 127.0.0.1
(-D 伪造的地址)

OS检测:nmap -vv -sS -O 192.168.0.1

RPC鉴别:nmap -sS -sR 192.168.0.1
Linux 上的 portmap 就是一个简单的 RPC 服务,监听端口为111(默认)

Ping 扫射:nmap -sP 172.16.15.0/24

三、十条nmap常用的扫描命令

1)获取远程主机的系统类型及开放端口

nmap -sS -P0 -sV -O <target>

这里的 < target > 可以是单一IP,或主机名,或域名,或子网
-sS TCP SYN 扫描(又称半开放,或隐身扫描)
-P0 允许你关闭 ICMP pings.
-sV 打开系统版本检测
-O 尝试识别远程操作系统
其它选项:
-A 同时启用操作系统指纹识别和版本检测
-v 详细输出扫描情况
nmap -sS -P0 -A -v

2)列出开放了指定端口的主机列表

nmap -sT -p 80 -oG – 192.168.1.* | grep open

更改-p参数来指定端口号。参考“man nmap”中指定地址范围的不同方法。

3)在网络中寻找所有在线主机

nmap -sP 192.168.0.*
# 或者也可用以下命令指定 subnet:
nmap -sP 192.168.0.0/24

4)Ping指定范围内的 IP 地址

nmap -sP 192.168.1.100-254

nmap接受多种寻址符号、多个目标/范围等。

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

将192.168.0.1-256替换成你想要检查的IP

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

我用这个扫描命令成功地在一个非常大的网络中找到许多流氓APs。

8)使用诱饵扫描方法来扫描主机端口
在扫描端口时使用诱饵,以避免被系统管理员捕获

sudo nmap -sS 192.168.0.10 -D 192.168.0.2

扫描目标设备/计算机(192.168.0.10)上打开的端口,同时设置一个诱饵地址(192.168.0.2)。这将在目标安全日志中显示诱饵ip地址,而不是您的ip。诱饵地址必须是活的。检查/var/log/secure上的目标安全日志,确保它工作正常。

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"

四、nmap命令完整思维导图

nmap命令完整思维导图


  转载请注明: 文渊博客 Nmap基础用法