欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

端口扫描类型

程序员文章站 2022-01-15 12:00:58
...

端口扫描属于信息收集阶段,主要是判断目标主机的端口是否开放,其关键应该是2点:

  1. 请求:用什么去探
  2. 响应:回来什么属于什么情况(开或关)

请求

请求
TCP类型
UDP类型
全连接
SYN
flag
FIN
XMAS
NULL

响应

两种情况
有响应为端口开
如全连接和SYN
无响应为端口开
如flag

下面分别介绍:

全连接

顾名思义,全连接就是完整的三次握手,跟正常的TCP连接相同,只是目的不是为了建立连接,而只是为了探探端口开关,因此总共应该有四步。

  1. A发SYN给B
  2. B可能两种响应情况:
    无响应,则是被过滤
    有响应,也有两种情况:
    * RST响应,表明端口关闭;
    * SYN+ACK响应,表明端口开启
    
  3. A再发ack给B,TCP连接建立成功
  4. A随之再发RST给B

SYN

SYN连接与全连接最大的区别在于不会进行三次握手的第三次ack,步骤如下:

  1. A发SYN给B
  2. B响应(与全连接的判断相同)
    无响应,则是被过滤
    有响应,也有两种情况:
    * RST响应,表明端口关闭;
    * SYN+ACK响应,表明端口开启
    
  3. A发RST给B

flag

三种flag标志位改变的包(FIN,XMAS,NULL),之所以可行,是因为RFC标准中对这些包做了区别大的规定,接收到以下三种包都是端口开则不理,端口关则返RST

  1. FIN,即设置了FIN位
  2. XMAS,即设置了FIN,URG,PSH位(本来不能同时设置)
  3. NULL,即不设置任何位(本来应该至少1位)
相关标签: 网络