Nmap是由Gordon Lyon设计,用来探测计算机网络上的主机和服务的一种安全扫描器。为了绘制网络拓扑图,Nmap发送特制的数据包到目标主机,然后对返回数据包进行分析。Nmap是一款枚举和测试网络的强大工具。我们俗称:网络扫描和嗅探工具。

https://nmap.org 这里下载。因为我是ubuntu系统,所以下载了:nmap-6.49BETA4.tar.bz2。

安装

$  tar  xvf  nmap-6.49BETA4.tar.bz2
$  cd  nmap-6.49BETA4 
$  ./configure && make
$  sudo make install

当然你也可以直接用安装包管理器来安装:

$  sudo  aptitude  -y  install  nmap

nmap特点

主机探测 :探测网络上的主机,例如列出响应TCP和ICMP请求,开放特别端口的主机。

端口扫描 :沉测目标主机所开放的端口。

版本检测 :探测目标主机的网络服务,判断其服务名称及版本号。

系统检测 :探测目标主机的操作系统及网络设备的硬件特性。

支持探测脚本的编写 :使用Nmap的脚本引擎(NSE)和 Lua编程语言。

扫描

用主机名,域名和IP地址来扫描

用IP地址扫描

Nmap默认发送一个arp的ping数据包,来探测目标主机在1~10000范围内所开放的端口。示例:

$ nmap  192.168.137.1

用主机名扫描

$ nmap  wwos

Android 系统限制wifi扫描评率_IP

用域名扫描

$ nmap  www.baidu.com

扫描使用"-v"选项

你可以看到下面的命令使用"-v"选项后给出了远程机器更详细的信息:

$ nmap -v www.baidu.com

Android 系统限制wifi扫描评率_IP_02

加上-vv参数获得更加详细的信息

$ nmap -vv www.baidu.com

扫描多个IP

$ nmap  192.168.1.187  192.168.1.23

Android 系统限制wifi扫描评率_lua_03

扫描整个子网

你可以使用*通配符来扫描整个子网或某个范围的IP地址

$ nmap  192.168.137.*

使用IP地址的最后一个字节扫描多台服务器

你可以简单的指定IP地址的最后一个字节来对多个IP地址进行扫描.例如:

$ nmap  192.168.137.195,196,197

Android 系统限制wifi扫描评率_IP_04

从一个文件中扫描主机列表

如果你有多台主机需要扫描且所有主机信息都写在一个文件中,那么你可以直接让nmap读取该文件来执行扫描。先创建一个有IP地址的文件:

$ cat  >  ip
localhost
 
192.168.137.195

接下来运行带“iL”选项的nmap命令来扫描文件中列出的所有IP地址。

$ nmap -iL ip

Android 系统限制wifi扫描评率_IP_05

扫描一个IP地址范围

你可以在nmap执行扫描时指定IP范围

$ nmap 192.168.137.190-200

Android 系统限制wifi扫描评率_网络_06

排除一些远程主机后再扫描

在执行全网扫描或用通配符扫描时你可以使用“-exclude”选项来排除某些你不想扫描的主机:

$ nmap  192.168.3.*  -exclude  192.168.3.4

扫描操作系统信息和路由跟踪

使用nmap,你可以检测远程主机上运行的操作系统和版本。为了启用操作系统和版本检测,脚本扫描和路由跟踪功能,我们可以使用nmap的“-A”选项。

$ nmap  -A  www.baidu.com

Android 系统限制wifi扫描评率_lua_07

从上面的输出你可以看到,nmap显示出了远程主机操作系统的TCP/IP协议指纹,并且更加具体的显示出远程主机上的端口和服务。

启用nmap的操作系统探测功能

使用选项“-O”和“-osscan-guess”也帮助探测操作系统信息。

$ sudo  nmap  -O  www.baidu.com

Android 系统限制wifi扫描评率_操作系统_08

扫描主机侦测防火墙

下面的命令将扫描远程主机以探测该主机是否使用了包过滤器或防火墙。使用“-sA”选项:

$ sudo nmap -sA www.baidu.com

Android 系统限制wifi扫描评率_操作系统_09

描主机检测是否有防火墙保护

扫描主机检测其是否受到数据包过滤软件或防火墙的保护。使用-PN选项:

$ nmap  -PN  192.168.3.4

Android 系统限制wifi扫描评率_lua_10

找出网络中的在线主机

使用“-sP”选项,我们可以简单的检测网络中有哪些在线主机,该选项会跳过端口扫描其他一些检测。

$ nmap  -sP  192.168.3.*

执行快速扫描

你可以使用“-F”选项执行一次快速扫描,仅扫描列表在nmap-services文件中的端口而避开所有其他端口。

$ nmap  -F  www.baidu.com

Android 系统限制wifi扫描评率_网络_11

查看nmap的版本

你可以使用“-V”选项来检测你机子上nmap的版本。

$ nmap  -V

Android 系统限制wifi扫描评率_lua_12

顺序扫描端口

使用“-r”选项表示不会随机的选择端口扫描。

$ nmap  -r  www.baidu.com

Android 系统限制wifi扫描评率_IP_13

打印主机接口和路由

你可以使用nmap的“-iflist”选项检测主机接口和路由信息。下面的输出你可以看到,nmap列举出了你系统上的接口以及它们各自的路由信息。

$ nmap  --iflist

扫描特定端口

使用nmap扫描远程机器的端口有各种选项,你可以使用“-p”选项指定你想要扫描的端口,默认情况下nmap只扫描TCP端口。

$ nmap  -p  80  www.baidu.com

扫描TCP端口

你可以指定具体的端口类型和端口号来nmap扫描。

$ nmap  -p  T:8888,80  www.baidu.com

Android 系统限制wifi扫描评率_lua_14

扫描UDP端口

nmap  -sU   www.baidu.com

扫描多个端口

你可以使用选项“-p”来扫描多个端口。

$ nmap  -p80,443  192.168.3.4

Android 系统限制wifi扫描评率_IP_15

扫描指定范围内的端口

你可以使用表达式来扫描某个范围内的端口

$ nmap  -p1-160  www.baidu.com

Android 系统限制wifi扫描评率_网络_16

查找主机服务版本号

我们可以使用“-sV”选项找出远程主机上运行的服务版本。

使用TCP ACK(PA)和TCP Syn(PS)扫描远程主机

有时候包过滤防火墙会阻断标准的ICMP ping请求,在这种情况下,我们可以使用TCP ACK和TCP Syn方法来扫描远程主机。

$ nmap  -PS  www.baidu.com
$ nmap  -PA  www.baidu.com

使用TCP ACK扫描远程主机上特定的端口

$ nmap  -PA  -p22,80  www.baidu.com

Android 系统限制wifi扫描评率_lua_17

路由跟踪

路由追踪功能,能够帮助你了解网络通行情况。通过路由追踪可以轻松的查出从我们电脑所在地到目标地之间所经过的网络节点,并可以看到通过各个节点所花费的时间。

$ sudo  nmap  --traceroute  www.baidu.com

Android 系统限制wifi扫描评率_网络_18

使用TCP Syn扫描最常用的端口

$ nmap  -sT  www.baidu.com

Android 系统限制wifi扫描评率_lua_19