TCP的标志位有SYN,FIN,RST,ACK,PSH,URG

SYN:建立连接。

FIN:关闭连接。

RST:连接重置。

ACK:响应。

PSH:有数据传输。

URG:urgent紧急。

ACK可以和其他的命令同时使用:比如SYN和ACK同时为1,代表建立连接之后立即相应,如果只有SYN为1,则代表只是建立了链接。

TCP的三次握手是通过ACK来体现的:

第一次:A主机发送位码为SYN=1,产生一个随机数seq number = 1234567的数据包到达主机B,主机B通过SYN=1就会知道,A要建立一个链接。

第二次:B主机收到连接请求后要确认联机信息,向A发送ack number = (seq+1),SYN=1,ACK=1,随机产生seq=7654321的包。

第三次:A主机收到后检查ack number是否正确,number=1234567+1,以及ACK=1,若正确,A发送ACK number=B的sql+1,主机B收到以检查正确number=7654321+1,切ACK=1则成功建立连接。

RST一般是在FIN之后才会有1的情况。出现RST的原因大概有以下几点:

1、服务器端口未打开。

去请求一个端口未打开的机器,会返回RST连接重置,这个取决于操作系统对于这种情况的处理,有点操作系统会返回,而有的操作系统,在这种情况下,不会返回任何数据。

2、异常终止一个连接。

终止一个连接的正确方式是发送FIN,这叫有序释放。只有在所有的排队的数据发送完成之后才会发送FIN,这样能保证没有任何数据丢失,但也有可能发送一个复位报文段而不是FIN来中途释放一个连接。这叫异常释放。

异常终止的好处:

1、丢弃任何待发数据,并立即发送复位报文段。

2、RST的接收方,会区分另一端是正常释放还是异常释放,应用程序使用的API必须提供产生异常关闭而不是正常关闭的手段。

RST报文不会导致另一端产生任何相应,另一端根本不进行确认。收到RST的一方将终止该连接,并通知应用层连接复位

TCP的状态(SYN,FIN等)的更多相关文章

  1. TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)

    状态说明 SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置. 其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 查看 Apache并发请求数及其TCP连接状态

    查看 Apache并发请求数及其TCP连接状态 (2011-06-27 15:08:36) 服务器上的一些统计数据: 1)统计80端口连接数 netstat -nat|grep -i "80 ...

  10. 查看 并发请求数及其TCP连接状态【转】

    服务器上的一些统计数据: 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议连接数ps -ef|grep httpd|wc ...

随机推荐

  1. Android与html5交互 -- WebView使用(一)

    Android中使用WebView可加载html5,具体步骤如下: (前提:本地Html5存放到assets文件夹下) 一:使用WebView加载Html5,简单显示 1:清单文件中添加访问权限:an ...

  2. CentOS7安装私有gitlab

    1.安装依赖包 yum install -y curl policycoreutils openssh-server openssh-clients postfix systemctl start p ...

  3. HP自动检查html标签是否闭合

    function HtmlClose($body) { $strlen_var = strlen($body); // 不包含 html 标签 if (strpos($body, '<') == ...

  4. git add . 的时候遇到warning: LF will be replaced by CRLF in ...... 解决办法

    输 入 git add . 后出现 warning: LF will be replaced by CRLF in ...... The file will have its original lin ...

  5. 洛谷——P1680 奇怪的分组

    P1680 奇怪的分组 题目背景 终于解出了dm同学的难题,dm同学同意帮v神联络.可dm同学有个习惯,就是联络同学的时候喜欢分组联络,而且分组的方式也很特别,要求第i组的的人数必须大于他指定的个数c ...

  6. poj 2739(筛法求素数)

    Sum of Consecutive Prime Numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 21613 ...

  7. poj 2262 筛法求素数(巧妙利用数组下标!)

    Goldbach's Conjecture Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 41582   Accepted: ...

  8. luogu P1137 旅行计划

    题目描述 小明要去一个国家旅游.这个国家有N个城市,编号为1-N,并且有M条道路连接着,小明准备从其中一个城市出发,并只往东走到城市i停止. 所以他就需要选择最先到达的城市,并制定一条路线以城市i为终 ...

  9. Codeforces 379 F. New Year Tree

    \(>Codeforces \space 379 F. New Year Tree<\) 题目大意 : 有一棵有 \(4\) 个节点个树,有连边 \((1,2) (1,3) (1,4)\) ...

  10. 【BFS】bzoj2252 [2010Beijing wc]矩阵距离

    要注意一开始将所有为'1'的点入队,然后通过一次BFS去更新所有点的距离,直到无法更新为止. #include<cstdio> #include<queue> #include ...