Nmap网络安全审计

什么是Nmap

Nmap是由Gordon Lyon设计并实现的,于1997开始发布。最初设计Nmap的目的只是希望打造一款强大的端口扫描工具。但是随着时间的发展,Nmap的功能越来越全面。2009年7月17日,开源网络安全扫描工具Nmap正式发布了5.00版,代表着Nmap从简单的网络连接端扫描软件转变为全方面的安全和网络工具组件

Nmap的功能:

1. 主机发现功能:向目标计算机发送特制的数据包组合,然后根据目标的反应来判断它是否处于开机并连接到网络的状态。

**2. 端口扫描:**向目标计算机的指定端口发送特制的数据包组合,然后根据目标端口的反应来判断它是否开放。

**3. 服务及版本检测:**向目标计算机的端口发送特制的数据包组合,然后根据目标的反应来检测它运行服务的服务类型和版本。

**4. 操作系统检测:**向目标计算机发送特制的数据包组合,然后根据目标的反应来检测它的操作系统类型和版本。

除了这些基本功能之外,Nmap还实现一些高级审计技术,例如伪造发起扫描端的身份,进行隐蔽扫描,规避目标的安全防御设备,对系统进行安全漏洞检测,并提供完善的报告选项等。此外Nmap还推出了强大的脚本引擎(NSE)。

Nmap的安装

这么简单的东西就不写了...

Nmap的基本操作

最简单的方法就是直接在命令行输入:

Nmap 192.168.0.1

这里可以拿自己的以太网ip做下测试 扫描结果就不用多说了,端口,端口状态,运行服务等

扫描范围的确定

在知道自己的IP地址时,如何找出该网络下的其他存活主机,假如我们的IP地址的192.168.0.103,如何将192.168.0这个网段内的存活主机找出来呢

nmap -sn 192.168.0.1-255

通过扫描结果我们可以看到在这个网段中有三台设备,通过扫描结果可以发现有一台tp-link的路由器哈

对整个子网进行扫描

Nmap支持使用CIDR(无类别域间路由)的方式来扫描整个子网

nmap -sn 192.168.0.1/24 

我这里是多新连接了一台设备,显示为四台设备,可以看到括号里的内容,我这里是一台oneplus一加手机

对多个不连续的主机进行扫描

Nmap可以一次扫描多个主机,如果这些扫描的地址没有任何关系,那么可以通过将目标地址用空格隔开的方式来同时对这些主机进行扫描 我们根据上面扫描的四个ip进行测试,扫描结果都是一样的这里也就不贴图了

nmap -sn 192.168.0.1 192.168.0.100 192.168.0.101 192.168.0.103

在扫描的时候排除指定目标

我们进行批量主机扫描的时候,如果需要排除某些指定主机,可以使用 exclude选项 根据上面扫描子网的方式我这里对路由器进行排除

nmap -sn 192.168.0.1/24 --exclude 192.168.0.100

这里语法的先后顺序发生了变化,我感觉上面的这种方式好记一些,只要输上以后nmap会自动变更一下,并无大碍 这里可能要问了,为什么之前扫描子网的时候是192.168.0.1网段,这里就成了192.168.0.0了,因为当我输入192.168.0.1/24进行扫描的时候它可能会认为你要扫描的是192.168.0.1网段,但实际上我们需要的是192.168.0网段,懂我意思就好。

对一个文件文本中的IP地址进行扫描

如果需要经常针对某些IP地址进行扫描的话,每次输入很麻烦,我们这时候就可以把这些IP地址编写到文本中。我这里将四个地址写到了ip.txt文本中,我们使用nmap的 iL参数

nmap -sn -iL ip.txt

当然你创建完文档后直接扫描当然是报错的,你需要将编写完的文本放到nmap的文件目录下即可

随机确定扫描目标

nmap中的 iR参数可以随机产生一些目标,然后对其进行扫描,iR参数后跟目标的数量

nmap -sn -iR 10

这里建议多扫描一些数量,数量太少的话没法发现存活主机

常见问题

1.如果安装完Nmap进行扫描的时候提示 Failed to open device eth0的时候,这个原因可能是因为你的npcap版本不是最新的,如果你是在官网下载的最新版Nmap,那你的这个npcap的版本应该是0.9982,正常的话应该是0.9983,所以报错了以后你需要去npcap的官网下载最新版的npcap,然后放到Nmap的目录下即可,亲测

附言

将持续更新Nmap的使用方法,我也是在边看边用边学边写,有错误的地方还请大家及时指出,切勿非法扫描网站,主机,谨遵网络安全法,测试请使用自己的地址或者虚搭建虚拟主机...

nmap系列内容大部分来自《Nmap网络安全审计技术解密》一书,仅供学习参考