????? Nmap是一款开源的免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具,是最为流行的安全必备工具之一。其主要包括四个方面的扫描功能,分别是主机发现、端口扫描、应用与版本侦测、操作系统侦测。这里,凌舞就端口扫描介绍一下其工作原理。
???端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。默认情况下,Nmap会扫描1000个最有可能开放的TCP端口。Nmap通过探测将端口分为6个状态:open、closed、filtered、unfiltered、open|filtered、closed|filtered。
?? ?实验工具:Nmap、WireShark
??? 一、TCP SYN scanning
??? 这是Nmap默认的扫描方式,通常被称为半开放扫描(half-open scanning)。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明端口是关闭的。如果没有收到回复,那么判断该端口被屏蔽(Filtered)。因为该方式尽发送SYN包到目标主机的特定端口,但不建立完整的TCP连接,所以相对比较隐蔽,而且效率较高,适用范围较广。但这种方法的缺点是必须要有root权限才能建立自己的SYN数据包。
??? 我们来看一下用TCP SYN scanning捕到的数据包。
?
???????? (图一)
? 这个是检测到开放端口135的数据包,咱们再看一下关闭的端口21。
?
(图二)??
? 由此,咱们分析这两个数据包可以得出TCP SYN scanning扫描技术的过程:
?? (一)、端口开放的时候分别发3个包:
????? ① C给S发送SYN;
????? ② S返回C端SYN/ACK,表明端口开放;(到此步就可以确定端口开放)
????? ③C给S发送RST断开连接。
(二)、端口关闭的时候分别发2个包:
??????① C给S发送SYN;
???? ?②S返回C端SYN/ACK,表明端口未开放;
二、TCP connect scanning
???? TCP 全连接扫描是一种最简单的扫描技术,TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式的扫描速度比较慢,而且由于建立完整的TCP连接会在目标主机上留下记录,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑选择的方式。下面我们分析一下用TCP connect scanning扫描捕获到的数据包。
(图三)????
这个是检测到开放端口135的数据包,咱们再看一下关闭的端口21。
???(图四)
补充部份:这里呢,首先感谢id为cymx2002的留言,知道这里没有说清,好的大家再看下一个图,
(图五)
图五是我没开防火墙的情况下抓取的,大家可以看到图四没有返回的数据包,如果仔细看,大家会发现上面有一句话“Not show:994 filtered ports”。这更证明了这个方式不够隐秘。
由此,咱们就可以得出TCP connect scanning扫描技术的原理:
?? (一)、端口开放的时候分别发4个包:
① C给S发送SYN;
② S返回C端SYN/ACK,表明端口开放;
③ C端返回ACK,表明连接已建立;
④ C端主动断开连接。(RST/ACK)。
???? (二)、端口关闭的时候分别发2个包:
?? ? ① C给S发送SYN;
???? ②S返回C端RST/ACK,表明端口未开放;
?? 通过这两个方法的对比,大家应更清楚为什么说TCP SYN scanning相对比较隐蔽,而且效率较高了吧。
?? 三、UDP scanning
????? UDP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没有收到回复,那说明端口可能是开放的或屏蔽的。因此,通过反向排除法来判断哪些UDP端口可能是开放的。由于UDP协议很简单,所以扫描变得相对比较困难。
(图六)???
这个是检测到开放端口137的数据包,咱们再看一下关闭的端口21。
??? 现在,咱们分析这两个数据包来看看UDP scanning扫描技术的过程:
????? (一)、端口开放或屏屏的时候分别发1个包:
??????????????????① C给S发送一个UDP包。
???? (二)、端口关闭的时候分别发2个包:
????????????????? ①C给S发送一个UDP包。
??????????????? ? ②S给C回复一个“ICMP port unreachable”包。
注:本人水平有限,原理性东西有什么没说明白或者说有什么错误,欢迎大家指正。
转载请注明:即刻安全 » 原理篇:常用的扫描技术(一)