下面就这三种方法来小小的探讨一下,不对的地方还请多多指教!

1:TCP扫描

相对来说是速度比较慢的一种,为什么会慢呢?因为这种方法在扫描的时候会从本地主机的一个端口向目标主机的一个端口发出一个连接请求报文段,而目标主机在收到这个这个请求报文后若同意的话则发回一个确认报文段,那么我们本地主机收到确认报文段之后就可以确认目标主机的该端口是活动的了.因为如果目标主机的该端口是死端口的话,目标主机不会发回确认报文.(这里还有一个问题,就是如果该端口是死端口的话,那目标主机能收到我们的连接请求吗?我自己感觉应该是收不到的...谁要知道了一定要告诉我啊)

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报文到一个活动的端口时,该报文只是被简单的丢掉,而不回应任何信息. chi flat iron
这种扫描方法的好处就是完全不建立TCP连接,从而大大减少了被目标主机记录下来的可能性,安全性较高.chi flat irons
好了,三种方法的原理都已经说完了,下面说一下一个非常严重的问题,就是在很多小小菜的印象中,TCP和SYN是平起平坐的.其实并不是这样,SYN只不过是TCP报文结构中的一小块罢了,FIN、RST、PSH、ACK、URG等等都是属于TCP中的.而UDP才是和TCP在一个级别的,千万别把SYN和UDP混淆了!

参考:https://blog.51cto.com/cckdc/233835

浅谈TCP扫描与SYN扫描与FIN扫描的更多相关文章

  1. 浅谈TCP IP协议栈(三)路由器简介

    读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识和第二篇浅谈TCP/IP协议栈(二)IP地址,在第一篇中,可能我对协议栈中这个栈的解释有问题,栈在数据结构中是一种先进后出的常见结构,而在整个T ...

  2. 浅谈 TCP、IP、DNS 和 HTTP 的关系

    一.浅谈三个协议的基本概念 1.IP 协议 按层次分,IP网际协议位于网络层,几乎所有的网络的系统都会用到 IP 协议,其重要性非同一般.IP 协议作用就是把各种数据包传送给对方,对方的地址就要看其 ...

  3. 浅谈TCP/IP网络编程中socket的行为

    我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉: 1. TCP/IP协议(如连接的建立和终止.重传和确认.滑动窗口和拥塞控制等等) 2. Socket I/O系统 ...

  4. 浅谈TCP三次握手和四次挥手

    学习三次握手和四次挥手前,先了解下几个基础的概念. Seq:数据段序号,我们都知道TCP是提供有序传输的,有序传输的基础就是数据段序号,接收方在收到发送方乱序包的情况下可以根据Seq进行重新排序,确保 ...

  5. Linux网络编程——浅谈 TCP 三次握手和四次挥手

    一.tcp协议格式 二.三次握手 在 TCP/IP 协议中.TCP 协议提供可靠的连接服务,採用三次握手建立一个连接. 第一次握手:建立连接时,client发送 syn 包(tcp协议中syn位置1. ...

  6. 面试:浅谈tcp/udp

    tcp是一种面向连接的.可靠的.基于字节流的传输层通信协议.是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的,面向字节流. udp(用户数据报协议)是iso参考模型中一种无连接的传输层 ...

  7. 浅谈tcp socket的backlog参数

    最近看netty源码碰到ChannelOption.SO_BACKLOG参数,通过跟踪代码发现其实是用于设置底层tcp socket的backlog参数,由于不了解这个参数,有必要彻底的理解一下. 底 ...

  8. 浅谈TCP协议,总算明白它是干什么的了

    一.什么是TCP,他是干什么的? TCP即传输控制协议(Transmission Control Protocol)是一种面向连接的.可靠的.基于字节流的传输层通讯协议. TCP是为了在不可靠的互联网 ...

  9. 浅谈TCP优化

    原文地址:http://kb.cnblogs.com/page/197406/ 很多人常常对TCP优化有一种雾里看花的感觉,实际上只要理解了TCP的运行方式就能掀开它的神秘面纱.Ilya Grigor ...

随机推荐

  1. hadoop中的JournalNode

    1.在HADOOP扮演的角色 JournalNode是在MR2也就是Yarn中新加的,journalNode的作用是存放EditLog的, 在MR1中editlog是和fsimage存放在一起的然后S ...

  2. yii框架学习(安装)

    安装yii: 在本地安装前, 要确保PHP配置了环境变量, 通过cmd输入PHP -v 即可检测. 能看到PHP版本号, 则OK. PHP不是内部命令,则需要添加PHP环境变量.   使用compos ...

  3. mysql 导出导入数据库(Mysqldump)备份

    使用mysql不熟练啊!!! mysqldump导出数据库,必须以cmd命令行的形式,在Navicat中以新建查询形式使用Mysqldump不好使的.(本来使用Navicat转储SQL,再导入SQL, ...

  4. C# 多线程任务分配辅助类

    1)首先实现一个多线程的辅助类,代码如下: public class ThreadMulti { public delegate void DelegateComplete(); public del ...

  5. rander()函数执行条件

    调用this.setState({}),如果数据改变了,rander()就行执行

  6. HYSBZ - 3813 奇数国 欧拉函数+树状数组(线段树)

    HYSBZ - 3813奇数国 中文题,巨苟题,巨无敌苟!!首先是关于不相冲数,也就是互质数的处理,欧拉函数是可以求出互质数,但是这里的product非常大,最小都2100000,这是不可能实现的.所 ...

  7. CentOS8编译openocd-0.10.0

    1.sudo yum install libusbx-devel 2. ./configure --prefix=$HOME/openocd-0.10.0 --enable-jlink CFLAGS= ...

  8. Latex里的引用定理只出现编号,不出现定理名?

    在前面先定义了: \newtheorem{prb}{Problem Formulation} 然后: \begin{prb} \label{problem} xx\end{prb}效果: Proble ...

  9. HDU 5115 Dire Wolf ——(区间DP)

    比赛的时候以为很难,其实就是一个区间DP= =..思路见:点我. 区间DP一定要记住先枚举区间长度啊= =~!因为区间dp都是由短的区间更新长的区间的,所以先把短的区间更新完.. 代码如下: #inc ...

  10. 「CF803C」 Maximal GCD

    题目链接 戳我 \(Solution\) 令\(gcd\)为\(x\),那么我们将整个序列\(/x\),则序列的和就变成了\(\frac{n}{x}\),所以\(x\)必定为\(n\)的约数所以现在就 ...