Nmap入门(nmap是一款常见的漏洞分析工具,被称为扫描之王)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43460822/article/details/96423613

**

Nmap的介绍:

**

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
Nmap 常被跟评估系统漏洞软件Nessus 混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。(来自百度)

**

作用:

**

  1. 主机探测
  2. 端口扫描
  3. 服务版本扫描
  4. 主机系统指纹识别
  5. 密码破解
  6. 漏洞探测
  7. 创建扫描脚本

**

使用方法:

**
1、主机探测
在这里插入图片描述
下面我扫描一下我的win2003的主机,172.20.10.14是我win2003的ip地址,"1/24"是表示从1~255,如图所示:

在这里插入图片描述
其他的命令你们在自己去试试。

在这里插入图片描述

2.端口扫描

在这里插入图片描述
nmap -F -sT -v 172.20.10.14 命令效果如图:
在这里插入图片描述
(1)端口扫描状态:

扫描二维码关注公众号,回复: 7200835 查看本文章

Open:端口处于开放状态,例如:当nmap使用TCP SYN对目标主机某一范围的端口进行扫描时,我们知道 TCP SYN报文是TCP建立连接的第一步,所以,如果目标主机返回SYN+ACK的报文,我们就认为此端口开放了并且使用了TCP服务。

Closed:端口处于关闭状态。例如:TCP SYN类型的扫描,如果返回RST类型的报文,则端口处于管理状态。这里我们值得注意的是关闭的端口也是可访问的,只是没有上层的服务在监听这个端口,而且,只是在我们扫描的这个时刻为关闭,当我们在另一个时间段进行扫描的时候,这些关闭的端口可能会处于open的状态。

Filtered(过滤的):由于报文无法到达指定的端口,nmap不能够决定端口的开放状态,这主要是由于网络或者主机安装了一些防火墙所导致的。当nmap收到icmp报文主机不可达报文(例如:type为3,code为13(communication administratively prohibit)报文)或者目标主机无应答,常常会将目标主机的状态设置为filtered。

Unfiltered(未被过滤的),当nmap不能确定端口是否开放的时候所打上的状态,这种状态和filtered的区别在于:unfiltered的端口能被nmap访问,但是nmap根据返回的报文无法确定端口的开放状态,而filtered的端口直接就没就没能够被nmap访问。端口被定义为Unfilterd只会发生在TCP ack扫描类型时当返回RST的报文。而端口被定义为filtered 状态的原因是是报文被防火墙设备,路由器规则,或者防火墙软件拦截,无法送达到端口,这通常表现为发送NMAP的主机收到ICMP报错报文,如:TYPE为3,code为13的报文(通信被认为的禁止 communication administratively prohibited),或者主机通过多次重复发送没有收到任何回应)。

Open|filtered状态,这种状态主要是nmap无法区别端口处于open状态还是filtered状态。这种状态只会出现在open端口对报文不做回应的扫描类型中,如:udp,ip protocol ,TCP null,fin,和xmas扫描类型。

Closed|filtered状态,这种状态主要出现在nmap无法区分端口处于closed还是filtered时。此状态只会出现在IP ID idle scan(这个类型我现在也不太理解,过段时间进行总结一些)中。

(2)端口扫描方式:

在这里插入图片描述
在这里插入图片描述
3.服务版本扫描:

在这里插入图片描述
示例:nmap -sV 172.20.10.14
在这里插入图片描述
看扫描结果,可知nmap的扫描还是比较准确的

4.主机系统指纹识别

在这里插入图片描述
我们试试nmap -O 172.20.10.14的效果

在这里插入图片描述
5. 密码破解

在这里插入图片描述
具体用的时候,只要把密码字典位置和目标主机的IP换了就行。nmap一般很少用密码破解这个功能,重要的是使用扫描端口功能

  1. 漏洞探测

在这里插入图片描述
7. 创建扫描脚本
参考博客:https://blog.csdn.net/whatday/article/details/85247901
(1)、介绍
  在上一篇文章Nmap脚本引擎原理中我们介绍了基本的NSE知识,这篇文章介绍如何基于Nmap框架编写简单的NSE脚本文件,下一篇文章,Nmap脚本文件分析(AMQP协议为例)会详细分析Nmap自带脚本的执行过程,以及各语句含义。

根据上一篇文章的知识,我们知道编写NSE脚本,主要是写rule函数和action,rule函数返回true时,action函数执行。

(2)、例子
  (1)如果某个IP开放80端口则脚本扫描输出 “This IP open 80 port!”。

我们通过shodan搜索,得知92.62.34.104下开通了80端口。

脚本http_test.nse,放在Nmap安装路径的scripts文件夹下面(基于Windows,也可以放在其他下面)

portrule = function(host, port)

return port.protocol == "tcp" 
        and port.number == 80 
        and port.state == "open"

end

– The Action Section –
action = function(host, port)

return "This IP ".. host.ip .." open 80 port!"

end
  输出结果:

在这里插入图片描述

参考博客:https://blog.csdn.net/m0_37268841/article/details/80234365
强烈推荐地址:官方Nmap参考指南(超详细
** : https://nmap.org/book/man.html

如有侵权,请联系删除

猜你喜欢

转载自blog.csdn.net/weixin_43460822/article/details/96423613