网络扫描和嗅探工具之Nmap

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

https://nmap.org 这里下载。由于我是ubuntu系统,因此下载了:nmap-6.49BETA4.tar.bz2。编程

安装
ubuntu

$  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编程语言。spa

扫描

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

用IP地址扫描

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

$ nmap  192.168.137.1


用主机名扫描

$ nmap  wwos


用域名扫描

$ nmap  www.baidu.com

扫描使用"-v"选项

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

$ nmap -v www.baidu.com

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

$ nmap -vv www.baidu.com

扫描多个IP

$ nmap  192.168.1.187  192.168.1.23

扫描整个子网

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

$ nmap  192.168.137.*

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

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

$ nmap  192.168.137.195,196,197

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

若是你有多台主机须要扫描且全部主机信息都写在一个文件中,那么你能够直接让nmap读取该文件来执行扫描。先建立一个有IP地址的文件:

$ cat  >  ip
localhost
 
192.168.137.195

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

$ nmap -iL ip

扫描一个IP地址范围

你能够在nmap执行扫描时指定IP范围

$ nmap 192.168.137.190-200

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

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

$ nmap  192.168.3.*  -exclude  192.168.3.4

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

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

$ nmap  -A  www.baidu.com

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

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

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

$ sudo  nmap  -O  www.baidu.com

扫描主机侦测防火墙

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

$ sudo nmap -sA www.baidu.com

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

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

$ nmap  -PN  192.168.3.4


找出网络中的在线主机

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

$ nmap  -sP  192.168.3.*

执行快速扫描

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

$ nmap  -F  www.baidu.com

查看nmap的版本

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

$ nmap  -V

顺序扫描端口

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

$ nmap  -r  www.baidu.com

打印主机接口和路由

你可使用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

扫描UDP端口

nmap  -sU   www.baidu.com

扫描多个端口

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

$ nmap  -p80,443  192.168.3.4

扫描指定范围内的端口

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

$ nmap  -p1-160  www.baidu.com

查找主机服务版本号

咱们可使用“-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

路由跟踪

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

$ sudo  nmap  --traceroute  www.baidu.com

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

$ nmap  -sT  www.baidu.com

相关文章
相关标签/搜索