[内容摘要]:TCP SYN扫描之所以叫半开放扫描,或半打开式扫描,是相对完整的TCP连接而言的。它是一次未完成的,由一方有意中止的TCP连接。因此它的本质还是一个TCP协议的具体应用。
[关键词]:端口;数据包;解析
端口扫描是入侵技术的基础,而TCP SYN扫描又是其中常用的扫描方法,但遗憾的是相当一部份网络技术爱好者,对这种扫描方法的认识仅仅停留在使用上,而对TCP协议在TCP SYN扫描中的具体应用却不是很清楚,从而影响了对这种扫描方法的完整认识。当然对于初学者而言,要搞懂比较抽象的网络协议,是有些难以入手。今天我们不妨尝试另外一种思路,通过对具体的数据包解码分析来认识TCP SYN扫描中蕴涵的协议应用。
一、什么是端口扫描
通常我们说网络中的计算机如同一座座城堡,而端口就好比是一个又一个的城门和各式各样的窗口,我们要想进入这些城堡,就必须先弄清哪道门或者哪扇窗是开着的。在网络技术中,“端口”是一个非常重要的概念。它是专为计算机通信而设计的,它区别于计算机中的“插槽”,可以说是个软端口。我们是如何知道网络中某台计算机究竟开放哪些端口呢?其实道理很简单,生活中要知道门窗是不是开着, 我们通常会用肉眼去观察、用肢体直接去接触,这实际就是目光、肢体与门窗的一种连接方式。在计算机网络世界中我们对需要探测的端口,也是按照一定的连接方法去探测,然后根据回应信息来判断该端口是否开放。在网络技术中我们把这种探测叫端口扫描,这种连接叫TCP连接。其中根据TCP连接的不同状态,又把端口扫描方法分成了全TCP连接(TCP CONNECT)、半开放式扫描(TCP SYN)等不同的种类。
二、TCP协议和TCP报文格式
TCP协议(Transmission Control Protocol)是TCP/IP协议簇中传输层的协议。它提供可靠的、面向连接的传输服务,用于高可靠数据的传输。TCP具有完善的错误检测与恢复、顺序控制和流量控制等功能。
图1