最新消息:

原理篇:常用的扫描技术(一)

安全科普 凌舞 1137浏览 0评论

      Nmap是一款开源的免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具是最为流行的安全必备工具之一。主要包括四个方面的扫描功能,分别是主机发现、端口扫描、应用与版本侦测、操作系统侦测。这里,凌舞就端口扫描介绍一下其工作原理。

   端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。默认情况下,Nmap会扫描1000个最有可能开放的TCP端口。Nmap通过探测将端口分为6个状态:openclosedfilteredunfilteredopen|filteredclosed|filtered

    实验工具NmapWireShark

    一、TCP SYN scanning

    这是Nmap默认的扫描方式,通常被称为半开放扫描(half-open scanning)。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明端口是关闭的。如果没有收到回复,那么判断该端口被屏蔽(Filtered)。因为该方式尽发送SYN包到目标主机的特定端口,但不建立完整的TCP连接,所以相对比较隐蔽,而且效率较高,适用范围较广。但这种方法的缺点是必须要有root权限才能建立自己的SYN数据包。

    我们来看一下用TCP SYN scanning捕到的数据包。

 3

         (图一)

  这个是检测到开放端口135的数据包,咱们再看一下关闭的端口21

 4

(图二)  

  由此,咱们分析这两个数据包可以得出TCP SYN scanning扫描技术的过程:

   (一)、端口开放的时候分别发3个包:

      ① CS发送SYN
      ② S返回CSYN/ACK,表明端口开放;到此步就可以确定端口开放

      ③CS发送RST断开连接。
、端口关闭的时候分别发2个包:

      ① CS发送SYN

      ②S返回CSYN/ACK,表明端口未开放
二、TCP connect scanning

     TCP 全连接扫描是一种最简单的扫描技术,TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式的扫描速度比较慢,而且由于建立完整的TCP连接会在目标主机上留下记录,不够隐蔽。所以,TCP connectTCP SYN无法使用才考虑选择的方式下面我们分析一下用TCP connect scanning扫描捕获到的数据包。

1

(图三)    

这个是检测到开放端口135的数据包,咱们再看一下关闭的端口21

2

   (图四)


补充部份:这里呢,首先感谢id为cymx2002的留言,知道这里没有说清,好的大家再看下一个图,

dfn3f4q9unnbag1r9zf5

(图五)

图五是我没开防火墙的情况下抓取的,大家可以看到图四没有返回的数据包,如果仔细看,大家会发现上面有一句话“Not show:994 filtered ports”。这更证明了这个方式不够隐秘。


 

由此,咱们就可以得出TCP connect scanning扫描技术的原理:

   (一)、端口开放的时候分别发4个包:

① CS发送SYN
② S返回CSYN/ACK,表明端口开放;
③ C端返回ACK,表明连接已建立;
④ C端主动断开连接。(RST/ACK)。

     (二)、端口关闭的时候分别发2个包:

     ① CS发送SYN

     ②S返回C端RST/ACK,表明端口未开放

   通过这两个方法的对比,大家应更清楚为什么说TCP SYN scanning相对比较隐蔽,而且效率较高了吧。

   三、UDP scanning

      UDP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没有收到回复,那说明端口可能是开放的或屏蔽的。因此,通过反向排除法来判断哪些UDP端口可能是开放的由于UDP协议很简单,所以扫描变得相对比较困难。

5

(图六)   

个是检测到开放端口137的数据包,咱们再看一下关闭的端口21

6

    现在,咱们分析这两个数据包来看看UDP scanning扫描技术的过程:

      (一)、端口开放或屏屏的时候分别发1个包:

                  ① CS发送一个UDP包。

     (二)、端口关闭的时候分别发2个包:

                  ①CS发送一个UDP包。

                  ②SC回复一个“ICMP port unreachable”包。

注:本人水平有限,原理性东西有什么没说明白或者说有什么错误,欢迎大家指正。

转载请注明:即刻安全 » 原理篇:常用的扫描技术(一)

您必须 登录 才能发表评论!

网友最新评论 (2)

  1. tcp_syn tcp_connect 端口关闭第二个包不对吧
    cymx20021年前 (2016-11-26)
    • 谢谢你的留言,这是因为这个扫描自身不够隐秘,被防火墙过滤掉了,,我对文章做了补充,你再看一下
      凌舞1年前 (2016-11-26)


合作伙伴