1.TCP扫描相对来说是速度比较慢的一种,为什么会慢呢?因为这种方法在扫描的时候会从本地主机的一个端口向目标主机的一个端口发出一个连接请求报文段,而目标主机在收到这个这个请求报文后:

有回复:

若同意的话则发回一个确认报文段,那么我们本地主机收到确认报文段之后就可以确认目标主机的该端口是活动的了;

端口未开放,端口没有服务存在,目标主机不会发回确认报文,会回复rst报文;

没有回复:

无法判断端口是否打开:报文被防火墙过滤掉,被端口上的服务接收到然后丢弃;

2.SYN扫描
这种扫描方式相对来说速度比较快.
原理为:
(1):本地主机向目标主机发送一个SYN数据段.(这里牵扯到TCP报文结构的问题,在TCP报文中SYN标志位用来建立连接,让连接的双方同步序列号.如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1且ACK=1,则表示接受连接.)
(2):如果目标主机的回应报文中SYN=1,ACK=1,则说明该端口是活动的,那么接着,我们再发一个RST给目标主机,拒绝建立连接.
在这里,如果目标主机的回应为RST,则表示该端口为死端口,在这种情况下,我们不用再做任何回应.
3.FIN扫描
也被称为秘密扫描,在TCP报文结构中,FIN段负责表示发送端已经没有数据要传输了,希望释放连接.
我们发送一个FIN=1的报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文.但是,当FIN报文到一个活动的端口时,该报文只是被简单的丢掉,而不回应任何信息.
这种扫描方法的好处就是完全不建立TCP连接,从而大大减少了被目标主机记录下来的可能性,安全性较高.

SYN只不过是TCP报文结构中的一小块罢了,FIN、RST、PSH、ACK、URG等等都是属于TCP中的.而UDP才是和TCP在一个级别的,千万别把SYN和UDP混淆了!

TCP,SYN,FIN扫描的更多相关文章

  1. TCP SYN扫描学习笔记

    1.TCP SYN包扫描主机状态的原理:tcp协议规定,当目标主机收到一个tcp syn 包时,若目标主机处于开放状态,会返回给源主机一个tcp ack 包(目的端口开放),或者向源主机发送一个tcp ...

  2. 浅谈TCP扫描与SYN扫描与FIN扫描

    下面就这三种方法来小小的探讨一下,不对的地方还请多多指教! 1:TCP扫描 相对来说是速度比较慢的一种,为什么会慢呢?因为这种方法在扫描的时候会从本地主机的一个端口向目标主机的一个端口发出一个连接请求 ...

  3. TCP的几个状态 (SYN, FIN, ACK, PSH, RST, URG)

    在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段. 它们的含义是: SYN表示建立连 ...

  4. TCP报文中的SYN,FIN,ACK,PSH,RST,URG

    TCP的三次握手是怎么进行的:发送端发送一个SYN=1,ACK=0标志的数据包给接收端,请求进行连接,这是第一次握手:接收端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发 ...

  5. TCP的几个状态(SYN/FIN/ACK/PSH/RST)

    在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段. 含义: SYN 表示建立连接, ...

  6. HCNP学习笔记之TCP中FLAGS字段SYN, FIN, ACK, PSH, RST, URG

    在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段. 含义: SYN 表示建立连接, ...

  7. ipv4的TCP的几个状态 (SYN, FIN, ACK, PSH, RST, URG)

    1 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 2 3 其中,对于我们日常的分析有用的就是前面的五个字段. 4 5 它们的含义是 ...

  8. tcp 中 FLAGS字段,几个标识:SYN, FIN, ACK, PSH, RST, URG.

    在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段.它们的含义是: 1.SYN表示建立 ...

  9. 小白日记10:kali渗透测试之端口扫描-UDP、TCP、僵尸扫描、隐蔽扫描

    端口扫描 二三四层发现的目的只是为了准确发现所有活着主机IP,确定攻击面,端口扫描即发现攻击点,发现开放端口.端口对应网络服务及应用端程序,服务端程序的漏洞通过端口攻入.[所有的扫描结果,都不要完全相 ...

随机推荐

  1. 【多线程与并发】Java并发工具类

    主要有两类 ①并发流程控制相关:CountDownLatch.CyclicBarrier.Semaphore ②线程间交换数据相关:Exchanger: CountDownLatch 作用:允许一个或 ...

  2. various system release [online]

    1. 金丝雀发布 Canary 简单的金丝雀测试一般通过手工测试验证,复杂的金丝雀测试需要比较完善的监控基础设施配合,通过监控指标反馈,观察金丝雀的健康状况,作为后续发布或回退的依据. 金丝雀发布,一 ...

  3. Chapter One

    spring-boot-starter-parent spring-boot-starter-parent是一个特殊的Starter,提供了Maven的默认配置,同时还提供了dependency-ma ...

  4. 详解Unity Profiler内存分析问题

    在使用Unity开发游戏的过程中,借助Profiler来分析内存使用状况是至关重要的.但许多开发者可能还对Profiler中各项数据表示的含义不甚明确,今天我们Unity官方的技术工程师柳振东,将针对 ...

  5. receipt

    receipt - 必应词典 美[riˈsiːt]英[rɪ'siːt] n.收据:收入:接受:字据 v.开收据 网络收到:收条:发票 变形复数:receipts: 搭配give receipt:sig ...

  6. vue.js的app.js太大怎么优化?

    vue.js的app.js太大怎么优化? # http://nginx.org/en/docs/http/ngx_http_gzip_module.htmlgzip on;gzip_min_lengt ...

  7. C#读取Word指定页的内容

    /// <summary> /// Word按页读取内容 /// </summary> /// <param name="page">页数< ...

  8. Linux下不借助工具实现远程linux服务器上传下载文件

    # Linux下不借助工具实现远程linux服务器上传下载文件 ## 简介 - Linux下自带ssh工具,可以实现远程Linux服务器的功能- Linux下自带scp工具,可以实现文件传输功能 ## ...

  9. Vue中创建单文件组件 注册组件 以及组件的使用

    <template> <div id="app"> <v-home></v-home> <hr > <br> ...

  10. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...