首先我们需要弄清楚SYN_RCVD状态是怎样产生的,通过TCP状态转换图(如下图)我们可以清楚的看到,SYN_RCVD是TCP三次握手的中间状 态,是服务端口(监听端口,如应用服务器的80端口)收到SYN包并发送[SYN,ACK]包后所处的状态。这时如果再收到ACK的包,就完成了三次握 手,建立起TCP连接。     如果服务器上出现大量的SYN_RCVD状态的TCP连接说明这些连接一直没有收到ACK包,这主要有两种可能,一种是对方(请求方或客户端)没有收到服务器发送的[SYN,ACK]包,另一种可能是对方收到了[SYN,ACK]包却没有ACK。

对于第一种情况一般是由于网络结构或安全规则限制导致(SYN,ACK)包无法发送到对方,这种情况比较容易判断:只要在服务器上能够ping通互联网的任意主机,基本可以排除这种情况。

对于第二种情况要稍微复杂一些,这种情况还有两种可能:一种是对方根本就不打算ACK,一般在对方程序有意为之才会出现,如 SYN Flood类型的 DOS/DDOS 攻击;另一种可能是对方收到的[SYN,ACK]包不合法,常见的是SYN包的目的地址(服务地址)和应答[SYN,ACK]包的源地址不同。这种情况在 只配置了DNAT而不进行SNAT的服务网络环境下容易出现,主要是由于inbound(SYN包)和outbound([SYN,ACK]包)的包穿越 了不同的网关/防火墙/负载均衡器,从而导致[SYN,ACK]路由到互联网的源地址(一般是防火墙的出口地址)与SYN包的目的地址(服务的虚拟IP) 不同,这时客户机无法将SYN包和[SYN,ACK]包关联在一起,从而会认为已发出的SYN包还没有被应答,于是继续等待应答包。这样服务器端的连接一 直保持在SYN_RCVD状态(半开连接)直到超时。

对服务器上出现大量的SYN_RCVD状态的TCP连接的问题分析相关推荐

  1. 【MySQL】在云服务器上安装配置mysql,并使用IDEA连接

    在云服务器上安装配置mysql 前言 1.Mysql安装 2.设置密码 3.防火墙开放3306端口 4.配置mysql默认编码为utf-8 5.在云服务器代理商的控制台放行3306端口 6.IDEA中 ...

  2. 在 TIME_WAIT 状态的 TCP 连接,收到 SYN 后会发生什么?

    周末跟朋友讨论了一些 TCP 的问题,在查阅<Linux 服务器高性能编程>这本书的时候,发现书上写了这么一句话: 书上说,处于 TIME_WAIT 状态的连接,在收到相同四元组的 SYN ...

  3. 能找到工作组的打印机,但共享时显示共享的打印机不在服务器上,打印机共享后为什么有的电脑能连接上,有的不能?...

    不请自来由题而知,题主已经设置好打印机服务器,而且部分电脑可以连接打印机,并且正常打印,说明题主工作用心完成,而且连接打印机的打印服务器安装正确(这里略过设置如何设置共享打印机的步骤),现在部分电脑搜 ...

  4. pb怎么打开服务器上的文件夹,前台PB客户端怎么连接服务器上的SQL后台数据库...

    连接前台和后台数据库是一样的,问题是你想采用哪种技术连接数据库,每种连接都有所差别 1.C#连接连接Access 程序代码: ------------------------------------- ...

  5. 贝壳ip连接服务器没响应,贝壳物联通讯协议TCP连接测试教程

    一.目的 在PC上使用网络串口调试助手测试贝壳物联通信协议,模拟设备在线通信. 二.所需软件网络串口调试助手(下载) 三.所需硬件PC一台 四.测试过程 1.打开网络串口调试助手 2.点击[TCP客户 ...

  6. 项目在云服务器上的绝对路径,服务器上的绝对路径怎么写

    服务器上的绝对路径怎么写 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远程备 ...

  7. 新中大系统如何在服务器上备份,新中大服务器地址

    新中大服务器地址 内容精选 换一换 本方案中,四川鲲鹏生态创新中心提供鲲鹏硬件资源.适配迁移方案和技术支持,数据库部分由达梦数据库厂家提供技术支持.联合方案主要由TaiShan服务器.Linux操作系 ...

  8. 在服务器上关闭smtp协议,SMTP 协议入门教程

    Email 是最常用的用户识别手段. 开发者常常需要验证邮箱的真实性.一般的方法是,注册时向该邮箱发出一封验证邮件,要求用户点击邮件里面的链接. 但是很多时候(比如要搞邮件营销时),拿到的是成千上万现 ...

  9. vs2008 64位 如何连接64位oracle,vs2008中如何连接服务器上Oracle实例?

    vs2008中如何连接服务器上Oracle实例? 本地机器tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = f ...

  10. 配置windows服务器+服务器上安装mysql数据库+远程访问数据库

    今天做了如下事情,其中遇到了一个问题,然后搜资料都一一解决了,写一篇博客mark一下 购买服务器 远程操控服务器 在服务器上安装mysql+navicat 在自己的电脑上远程访问服务器上的数据库 购买 ...

最新文章

  1. 定义交货类型的装运点确定规则
  2. mysql字符串逆时针旋转180度_mysql 函数示例(转)
  3. WiFi网络编程(带OTA功能)
  4. 【bug】HbuilderX运行到微信小程序 报错
  5. LeetCode篇之栈:20(括号匹配问题)
  6. 程序员的算法课(8)-贪心算法:理解霍夫曼编码
  7. 33、JSONP跨域
  8. java pdf分页显示,java读取pdf(可分页读取)
  9. 液晶显示器背光测试软件,液晶屏背光灯驱动板故障检测方法_维修技术
  10. 算法设计与分析期末复习
  11. 一步步破解app协议第二步(审计代码)
  12. NVIDIA Game Ready 显卡驱动517.48发布!为《守望先锋2》做好游戏准备
  13. 如何在WPS里添加字体?
  14. php阴历阳历互转类(1900~2100年)
  15. java sqrt函数源码_Java sqrt源码解析
  16. 知道创宇发布统一云防御,“开明兽”亮相“山海·创”
  17. arm-2d库详细介绍
  18. 【11g】屏蔽敏感数据 (Masking Sensitive Data)
  19. Java 设计模式 本文代码拉取链接 https://gitlab.com/zhangpengweiLJ/designpettern.git
  20. 使用hibernate映射oracle两个表空间的表,Hibernate每个具体类一张表映射(使用XML)

热门文章

  1. 10大习惯让你变年轻
  2. C语言 梯形面积
  3. 如何在MacBook中录制iphone模式的视频?macbook屏幕模糊如何解决?
  4. 怎么用电脑录音,在电脑上录制音频的方法
  5. 裁判文书数据docid解密,提供api接口,直接使用
  6. c语言if常见的错误,C语言if语句的一些小错误
  7. 计算机管理调整磁盘分区,win7系统硬盘分区调整方法图解
  8. matlab上位机电机,基于MATLAB的电机综合性能测试系统上位机软件设计
  9. 淘宝返利是怎么回事?是真的还是假的?
  10. springcloud如何搭建支付宝pay-service微服务