????? 这次的扫描相对来说是对前两个扫描技术的一个补充。原理相对来说更简单一些,好了,直接进入主题,这次主要说的是TCP ACK scanning、TCP FIN?scanning、Xmas?scanning和NULL scanning。
实验环境: windows 系统和linux系统
实验工具: wireshark、nmap
一、TCP ACK scanning
?????? 好了,咱们首先来看一下TCP ACK scanning,还是老规据,为了大家更明白其过程,咱们看一下捕获的包。
大家可以看到扫描的1000个端口全提示为被过滤。
大家来看一下提示没过虑的包,比较一下很容易看出来其过程。
(一)、端口没有被防火墙屏弊
?????? 1、C给S发送ACK包
????? ?2、S给C发送RST包
????? (二)、端口被防火墙屏弊
????? ?1、C给S发送ACK包
??????? 提示:该方式只能用于确认防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。
?????? 二、TCP FIN?scanning、Xmas?scanning和NULL scanning
????? ?这三种方式因为相对比较隐蔽,所以被称为秘密扫描(Stealthy Scan)。
?????? 这里以Xmas?scanning为例,给大家说明其过程。?
?????? 这是windows下的抓的包,咱们可以看到没有扫到开放的端口,现在来看下linux的包。
?????? 从linux的包中,我们可以清楚的看到nmap利用Xmas?scanning方式扫的过程。
????? (一)、端口开放
?????? 1、C向S发送一个FLAGS(包括FIN 、PSH、 URG)
????? (二)、端口关闭
?????? 1、C向S发送一个FLAGS(包括FIN 、PSH、 URG)
?????? 2、S向C发送一个RST、ACK的包
?????? 到这里,咱们返回来说,windows下为什么没有扫到端口呢?原来根据RFC793,所有的关闭的剖端口,都应该返回一个RST包,但是他正好不尊守这个,所以~~~~
?????? 也正是由于这个,所以这些扫描方法是可以分辨出操作系统是windows还是unix的。
?????? 其它两种扫描方式和圣诞树扫描基本一致~~~这里呢,就不多赘诉了~唯一不同的就是Xmas包是flags中的FIN 、PSH、 URG都置为1,而NULL包是所的flags都置为0,FIN包只有fin置为1。
转载请注明:即刻安全 » 原理篇:常用的扫描技术(三)