码迷,mamicode.com
首页 > 其他好文 > 详细

网络安全系列之二十八 端口扫描

时间:2014-11-07 19:23:05      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:端口扫描 tcp 三次握手 syn fin

端口扫描在系统攻防中占据非常重要的地位,在了解端口扫描之前,有必要先了解一些TCP协议以及三次握手的相关知识。

1. TCP协议

TCP报文格式如下图所示:

bubuko.com,布布扣

其中比较重要的几个字段:

  • 复位比特RST:当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其它原因),必须释放连接,然后再重新建立连接。

  • 同步比特SYN:同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。

  • 终止比特FIN:用来释放一个连接。当FIN=1时,表明此报文的发送端的数据已发送完毕,并要求释放连接。

TCP三次握手建立连接的过程:

bubuko.com,布布扣

 

2. 端口扫描类型

端口扫描就是尝试与目标主机的某些端口建立连接,如果目标主机该端口有回复,则说明端口开放,即为“活动端口”。通过端口扫描可以判断目标主机上开放了哪些服务,运行何种操作系统,以便使用相应的手段进行入侵。

根据扫描原理不同,端口扫描可以有以下分类:全TCP扫描、半开式扫描(SYN扫描)、FIN扫描。

(1)全TCP扫描

这种扫描方法使用三次握手,与目标计算机建立标准的TCP连接。但这种扫描方法很容易被目标主机记录。

(2)半开式扫描(SYN扫描)

在这种扫描方式中,扫描主机向目标计算机的指定端口发送SYN数据段,表示发送建立连接请求。

如果目标计算机的回应TCP报文中SYN=1,ACK=1,则说明该端口是活动的,接着扫描主机传送一个RST给目标主机,拒绝建立TCP连接,从而导致三次握手过程的失败。

如果目标计算机的回应是RST,则表示该端口是“死端口”,这种情况下,扫描主机不用做任何回应。

SYN扫描,由于扫描过程中全连接尚未建立,所以大大降低了被目标计算机记录的可能性,并且加快了扫描的速度。

(3)FIN扫描

当发送一个FIN=1的TCP报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文。但是当发送FIN报文到一个活动的端口时,该报文只是简单的丢掉,不会返回任何回应。

FIN扫描没有涉及任何TCP连接部分,因此这种扫描比前两种都安全,可以称之为秘密扫描。

本文出自 “一壶浊酒” 博客,转载请与作者联系!

网络安全系列之二十八 端口扫描

标签:端口扫描 tcp 三次握手 syn fin

原文地址:http://yttitan.blog.51cto.com/70821/1574064

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!