博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nmap的使用
阅读量:5146 次
发布时间:2019-06-13

本文共 2443 字,大约阅读时间需要 8 分钟。

 

(1)Nmap简介

       NMap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。 Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

        正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。Nmap 常被跟评估系统漏洞软件Nessus混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。

 

(2)功能

         Nmap包括四项基本功能:

                           1. 主机发现

                           2. 端口扫描

                           3. 版本侦测

                           4. 操作系统侦测

 

1)主机发现

主机发现是指发现所要扫描的主机是否是正在运行的状态

例如:获取http://nmap.org 的主机是否开启

输入命令:nmap -F -sT -v nmap.org

-F:扫描100个最有可能开放的端口   -v 获取扫描的信息   -sT:采用的是TCP扫描 不写也是可以的,默认采用的就是TCP扫描

运行如下:

由上图1可以发现对URL进行解析花了16.5秒,这个地方花费的时间是可以进行优化的,优化的方法会稍后介绍

图中的2,是总共的运行时间

图中的3是说明有96个端口被屏蔽了,也就是说明了网站的防火墙是开启的,因为没有开启防火墙是不会对端口进行屏蔽的,

4是本次返回的关键信息

 

 端口一般是有以下几种状态的

 

2)端口扫描

获取端口的状态,不能使用参数(-sn),这个参数是可以跳过端口扫描,直接进行主机发现的输入命令:nmap -F -sT -v -n 45.33.49.119-120      45.33.49.119:nmap.org的IP地址

运行情况如下:

        图片中的1处指的是,采用sT的扫描方法,这种扫描方法准确,速度快,但是这样的扫描容易被防火墙和IDS发现并记录,所以这种方法,实际中并不多用

由图中的3处我们可以知道在不进行解析的情况下扫描用时为26.92秒,比解析的时候用的时间节约了不少

图中的4说明了扫描了2个主机,然后只有一个主机为开启。

 

分析一下扫描的各种方法:

 

1、TCP扫描(-sT)

这是一种最为普通的扫描方法,这种扫描方法的特点是:扫描的速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现

运行的原理:通过建立TCP的三次握手连接来进行信息的传递

① Client端发送SYN;

② Server端返回SYN/ACK,表明端口开放;

③ Client端返回ACK,表明连接已建立;

④ Client端主动断开连接。

 

 

 2、SYN扫描(-sS)

这是一种秘密的扫描方式之一,因为在SYN扫描中Client端和Server端没有形成3次握手,所以没有建立一个正常的TCP连接,因此不被防火墙和日志所记录,一般不会再目标主机上留下任何的痕迹,但是这种扫描是需要root权限(对于windows用户来说,是没有root权限这个概念的,root权限是linux的最高权限,对应windows的管理员权限)

运行的原理图如下:

 

3、NULL扫描

NULL扫描是一种反向的扫描方法,通过发送一个没有任何标志位的数据包给服务器,然后等待服务器的返回内容。这种扫描的方法比前面提及的扫描方法要隐蔽很多,但是这种方法的准确度也是较低的, 主要的用途是用来判断操作系统是否为windows,因为windows不遵守RFC 793标准,不论端口是开启还是关闭的都返回RST包

但是虽然NULL具有这样的一些用处,但是本人却认为不宜使用NULL

1、NULL方法的精确度不高,端口的状态返回的不是很准确

2、要获取目标主机的运行系统,可以使用参数(-O),来获取对于一些操作系统无法准确判断的,可以加上参数(-osscan-guess)

3、NULL扫描易被过滤

 

4、FIN扫描

FIN扫描的原理与NULL扫描的原理基本上是一样的在这里就不重复了

 

5、ACK扫描

ACK扫描的原理是发送一个ACK包给目标主机,不论目标主机的端口是否开启,都会返回相应的RST包,通过判断RST包中的TTL来判断端口是否开启

运行原理图:

TTL值小于64端口开启,大于64端口关闭

大致上主要的扫描方法就是这些,除了我们可以按照这样些参数去执行扫描外,还可以自己定义一个TCP扫描包

 

6、自定义TCP扫描包的参数为(--scanflags)

例如:定制一个包含ACK扫描和SYN扫描的安装包

命令:nmap --scanflags ACKSYN nmap.org

 

 (3)Nmap的优点

 

1.      灵活。支持数十种不同的扫描方式,支持多种目标对象的扫描。

2.      强大。Nmap可以用于扫描互联网上大规模的计算机。
3.      可移植。支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植。
4.      简单。提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip。
5.      自由。Nmap作为开源软件,在GPL License的范围内可以自由的使用。
6.      文档丰富。Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍。
7.      社区支持。Nmap背后有强大的社区团队支持。
8.      赞誉有加。获得很多的奖励,并在很多影视作品中出现(如帝国2、Die Hard4等)。
9.      流行。目前Nmap已经被成千上万的安全专家列为必备的工具之一。

 

转载于:https://www.cnblogs.com/jmjm/p/7840850.html

你可能感兴趣的文章
bzoj1086 [SCOI2005]王室联邦 树分块
查看>>
20.网络编程
查看>>
SQL基础
查看>>
C++中公有继承、保护继承、私有继承的区别
查看>>
等价二叉查找树
查看>>
iOS使用StroryBoard页面跳转及传值
查看>>
第二阶段冲刺每日站立会议02
查看>>
kafka基础知识
查看>>
Apache之.htaccess备忘录(一)
查看>>
tarfile zipfile bz2 gz
查看>>
解决脏读等并发问题
查看>>
百度地图通过坐标定位 自己的位置显示小圆点 (精度圈是否显示根据自己喜好) 上图...
查看>>
翻转子串
查看>>
Vue教程:windows下安装npm和cnpm
查看>>
九度OJ 1036:Old Bill (老比尔) (基础题)
查看>>
赠老师们
查看>>
堆的实现
查看>>
Nginx入门
查看>>
Fastreport使用经验
查看>>
CodeForces - 779D
查看>>