十大黑客工具之一——nmap

安全 数据安全
端口扫描不但可以为黑客所利用,同时端口扫描还是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况,对网站安全方面有着不可或缺的贡献。

端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利用,同时端口扫描还是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况,对网站安全方面有着不可或缺的贡献。

端口的几种状态

扫描对于黑客和安全人员来说,扫描的流程是这样的:

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

其基本功能有三个,一是探测一组主机是否在线;其次是扫描主机端口,所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中,供进一步分析操作。

[[249075]]

Nmap使用TCP/IP协议栈指纹准确地判断目标主机的操作系统类型。首先,Nmap通过对目标主机进行端口扫描,找出有哪些端口正在目标主机上监听。当侦测到目标主机上有多于一个开放的TCP端口、一个关闭的TCP端口和一个关闭的UDP端口时,Nmap的探测能力是最好的。Nmap工具的工作原理如表所示。

Nmap工具的工作原理

Nmap对目标主机进行一系列测试。利用得出的测试结果建立相应目标主机的Nmap指纹。最后,将此Nmap指纹与指纹库中指纹进行查找匹配,从而得出目标主机的操作系统类型。

[[249076]]

Nmap常用扫描类型

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:

  • NULL方法的精确度不高,端口的状态返回的不是很准确
  • 要获取目标主机的运行系统,可以使用参数(-O),来获取对于一些操作系统无法准确判断的,可以加上参数(-osscan-guess)
  • NULL扫描易被过滤
  • FIN扫描

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

4. ACK扫描

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

运行原理图:

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

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

5. 自定义TCP扫描包的参数为(--scanflags)

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

命令:nmap --scanflags ACKSYN nmap.org

好了,接下来还有各种扫描方法的端口列表参数。

  • PS 端口列表用,隔开[tcp80 syn 扫描]-PA 端口列表用,隔开[ack扫描](PS+PA测试状态包过滤防火墙【非状态的PA可以过】)【默认扫描端口1-1024】-PU 端口列表用,隔开[udp高端口扫描 穿越只过滤tcp的防火墙]

其他的常见命令

输出命令

  • oN 文件名 输出普通文件
  • oX 文件名 输出xml文件

错误调试:

  • log-errors 输出错误日志
  • packet-trace 获取从当前主机到目标主机的所有节点
责任编辑:赵宁宁 来源: 今日头条
相关推荐

2018-12-03 05:06:53

2018-12-14 08:35:16

2019-04-02 08:05:01

2019-06-03 08:22:18

2019-01-02 09:01:22

2018-10-31 08:55:02

2021-06-02 05:55:23

黑客组织网络攻击网络安全

2019-02-13 10:44:52

2009-08-04 11:08:29

2010-08-30 14:59:46

2012-01-12 14:06:34

2018-09-14 14:27:43

2013-09-17 10:04:26

2019-11-01 09:00:00

Kubernetes开源监控工具

2018-09-13 05:19:28

2015-03-09 11:33:43

2012-11-13 17:05:50

2019-12-12 19:26:06

网络犯罪黑客工具网络安全

2023-03-22 18:21:27

2016-02-24 09:19:54

点赞
收藏

51CTO技术栈公众号