Nmap 又叫做Network Mapper(网络映射器)是一个开源并且为了Linux系统管理员或者网络管理员的万能的工具。Nmap用于浏览网络,执行安全扫描,网络审计以及在远程机器找到开放端口。它可以扫描在线主机,操作系统,滤包器和远程主机打开的端口。


Nmap 命令 用法



# nmap [扫描类型] [选项] {目标说明}


最详细的信息 nmap -sS -sU -T4 -A -v -O -Pn [ip]


1. 使用Hostname和IP地址来扫描系统

hostname

[root@server1 ~]# nmap [Hostname]

利用ip扫描

[root@server1 ~]# nmap [IP]

或扫描多个ip

[root@server1 ~]# nmap [IP] [IP] [IP] ...
或者
[root@server1 ~]# nmap A.B.C.D1,D2,D3 ...
或者
[root@server1 ~]# nmap A.B.C.D1-D2 ...
或者
[root@server1 ~]# nmap A.B.C.Dx-Dy ...

或扫描除某ip外其他ip

[root@server1 ~]# nmap A.B.C.* --exclude A.B.C.D


2、扫描整个子网

[root@server1 ~]# nmap 192.168.0.*
或者
[root@server1 ~]# nmap 192.168.0/24


3、扫描文件中 ip,hostname  (nmaptest.txt为文件名)

[root@server1 ~]# nmap -iL nmaptest.txt



nmap 常用参数


-sS TCP SYN 扫描 (又称半开放,或隐身扫描)

-P0/-Pn 绝大多数主机都拒绝ICMP,不加这个参数无法扫描

-sV 打开系统版本检测

-O 尝试识别远程操作系统

-sT (TCP connect()扫描)当SYN扫描不能用时

-p 指定端口(Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9)

-oG (Grep输出)

-sP 该选项告诉nmap仅仅进行ping扫描(主机发现),然后打印出对扫描做出响应的那些主机。

-T 设置时间模版 如:-T4 针对TCP端口禁止动态扫描延迟超过10ms,-T5对应值为5ms。

-D 使用诱饵隐蔽扫描 为使诱饵扫描起作用,需要使远程主机认为是诱饵在扫描目标网络。

-sL 列表扫描是主机发现的退化形式,它仅仅列出指定网络上的每台主机,不发送任何报文到目标主机。

-R (为所有目标解析域名)告诉nmap永远对目标ip地址作反向域名解析。一般只有当发现机器正在允许时才进行这项操作。

-F  (快速(有限的端口)扫描)

-vv 让你明白扫描的详细过程,如果发现哪些过程是你不需要的,可以马上调整

-n  在大范围扫描地址时侯没有用这个参数导致nmap异常慢,半天卡到那我却不知道为什么,结果加-vv参数发现,原来是把每个ip都dns解析一遍,加-n就可以不解析dns了

--script=showSMTPVersion.nse  nmap加入了脚本扫描引擎,可以扫描网站目录还有远程溢出和弱口令等

-iL c:\xx.txt   读取c:\xx.txt的主机列表文件的ip

-oN c:\Vulnerable.txt  将探测结果保存在c:\Vulnerable.txt

-oX 以xml形式输出

-A 同时打开操作系统指纹和版本检测

-v 详细输出扫描情况.