#第一个包不是SYN包?用科来数据包分析软件排除一次故障。

某金融机构防火墙安全运维人员巡检发现,在互联网区域防火墙不断报送First packet isn’t SYN的日志(见图1),几乎时时刻刻有,影响了防火墙日志存储,但是无业务影响,运维人员觉得比较奇怪,为分析清楚问题,求助于网络抓包人员进行分析。网络抓包人员利用科来数据包分析软件进行分析。

图1 异常现象

分析过程

根据日志字面意思,第一个包不是SYN包,我们都知道,TCP三次握手,建立会话过程中,首先建立三次握手(见图2),三次握手第一个包就是SYN包,那这里第一个包不是SYN包,那是什么包呢,抓包人员决定通过部署科来回溯分析系统进行分析。

图2 三次握手
如图3所示拓扑结构,在防火墙发现有该异常日志,抓包人员决定首先在服务器接入交换机处进行抓包。

图3 网络拓扑
通过在服务器端抓包分析(图4),定位到防火墙发送First packet isn’t SYN日志时间点对比,发现在服务器发送ACK+FIN时防火墙出现相关异常日志,同时服务器不断发送ACK+FIN包,直到服务器超时。通过这个数据交互过程可以看到服务器不断重传ACK+FIN包,但是没有收到客户端的ACK回应。

图4 数据包
通过上述报文,我们知道正常TCP会话结束时要经历四次握手(图5),才能结束会话。但是上述会话在第二次会话时服务器再次进行第三次握手时就失败,结合防火墙日志,我们可以推断出:
1、防火墙在处理会话结束时,未完全按照标准TCP四次握手就将会话清除;
2、服务器按照正常流程进行TCP会话结束时的第三次握手,防火墙因为不存在会话,认为服务器主动新建会话,但是主动新建会话又不是TCP会话建立过程中的SYN包,经过对会话进行包状态检查,所以防火墙发出“First packet isn’t SYN”的异常日志;
3、服务器因为发出FIN+ACK包未收到回应,所以不断重传FIN+ACK包,每发一个包,防火墙就认为就是新建会话,就发出一次日志,导致大量的防火墙日志。

图5 TCP四次握手结束

分析结论与解决方案

根据以上分析,由于防火墙处理机制异常,导致该日志反复报送。经咨询防火墙厂家,因防火墙放置于互联网区域,有可能面临大量会话,为避免会话超标,配置两次握手后防火墙就清除会话。根据多方讨论综合讨论,认为相对于大量会话对防火墙造成的压力,这个日志可以接受,最终保持原状。
本案例,通过科来回溯分析系统进行回溯抓包,通过大量日志和数据包的匹配,在短时间内可以定位问题,通过接受该风险来解决问题。

第一个包不是SYN包?用科来数据包分析软件排除一次故障。相关推荐

  1. python构造icmp数据包_如何在python中构造ICMP数据包

    为了学习,我目前正在尝试创建一个简单的python porgram来向某个设备发送ICMP ping数据包.为了开始,我查看了python模块Pyping:https://github.com/Akh ...

  2. Wireshark使用(捕获过滤器、显示过滤器、TCP交互抓包示例、抓取本地回环数据包等)

    1.捕获过滤器规则 1.1 作用   捕获过滤器在开始捕捉之前设置,用于从源头控制被过滤的包内容,仅符合规则的包会被捕获并记录进捕获日志文件. 1.2 语法规则 字段:[Protocol][Direc ...

  3. 基于linux的netfilter处理数据包的过程分析,基于Linux的Netfilter处理数据包的过程分析...

    基于Linux的Netfilter处理数据包的过程分析 防火墙技术在保护网络安全方面的作用越来越明显.相比较window,Linux有更好的网络性能,因此基于Linux的Netfilter技术 (本文 ...

  4. java广播数据包发送_在Java中广播UDP数据包的正确和有效方法是什么?

    我需要在每个网络接口上广播UDP数据包.起初,我尝试播放到255.255.255.255,没有结果,后来我发现这个"已被弃用了大约20年".因此,我尝试在每个网络接口上进行迭代,以 ...

  5. python数据包的作用_使用Python将登录数据包发送到Minecraft服务器不起作用

    我在Python中有以下脚本 . 它的作用是尝试连接到MineCraft服务器,首先发送'handshake',然后发送登录请求 . 协议规格可以在这里找到:http://wiki.vg/Protoc ...

  6. linux tcp 包大小,linux – 通过大量连接和小数据包流量高的千兆网络提高TCP性能...

    我正在尝试通过"具有大量连接和小数据包流量的千兆网络"来提高TCP吞吐量.我的服务器操作系统是Ubuntu 11.10 Server 64bit. 有大约50.000(和不断增长的 ...

  7. linux 监听数据包,linux下网络监听与发送数据包的方法(即libpcap、libnet两种类库的使用方法)...

    linux下可以用libpcap函数库实现监听数据包,使用libnet 函数库发送数据包 安装: 在命令行下apt-get install 就可以了 libpcap的使用: /*author hjj ...

  8. 科来数据包生成器找不到网卡_CPU:网卡老哥,你到底怎么工作的?

    阿Q造访 我是一个网卡,居住在一个机箱内的主板上,负责整台计算机的网络通信,要是没有我,这里就成了一个信息孤岛了,那也太无聊了- 上个周末,服务器断电维护了,这是我难得的休息时间,我准备打个盹儿眯一会 ...

  9. python数据包分析_python | 数据分析(一)- Numpy数据包

    # 导入numpy包 import numpy as np """ ***************** 一.数组操作 ***************** "&q ...

  10. python解析http数据包_如何在python中嗅探HTTP数据包?

    I want to sniff all the HTTP packets in my computer via python(version2.6.. is this possible? can I ...

最新文章

  1. c3p0如何配置多数据源的解决方法
  2. 重工行业:IT运维精细化管理新篇章
  3. seata分布式事务框架原理
  4. Martix工作室考核题 —— 输入一串数字,按要求打印。
  5. xcopy复制文件夹及其子文件_嗨学习:如何给电脑中文件夹设置密码
  6. hapi返回xml格式 微信开发 node
  7. Mono Compatibility
  8. javascript实现页面中回到顶部功能
  9. java nio 关闭channel_JAVA NIO(二)Channel通道
  10. 2022-07-08 Unity Json2——LitJson
  11. ftp搭建和定时增量同步实现
  12. Python新手到熟练的百天之路
  13. #TCP你学得会# Wireshark中的TCP Spurious Retransmission
  14. 行人重识别论文阅读13-Parameter Sharing Exploration and Hetero-center Triplet Loss for Visible-Thermal Person
  15. 信息化系统软件实施工程师基础技能
  16. 服务器vmware新建虚拟机教程,如何创建虚拟机教程全解
  17. Oracle Grid Infrastructure架构
  18. 想从事人工智能方面,需要自学什么?
  19. mysql 微博 数据表_微博数据库如何设计-百度经验
  20. 看完测评你就会知道,ECS 还是不是轻量应用服务器

热门文章

  1. STM32 FSMC 地址
  2. PHP实现微信小程序免密支付,微信免密支付,微信小程序实现微信支付功能!!!...
  3. win7开启ftp被动模式_什么是FTP功能?Win7旗舰版下如何开启FTP功能?
  4. 【面经】Thoughtworks软件开发
  5. Google原生输入法LatinIME词库构建流程分析(一)
  6. RouterOS(ROS)设置动态域名(DDNS)
  7. 玩转软件|通过汉化WINRAR,手把手教你如何汉化软件
  8. 人工智能 猴子摘香蕉问题
  9. 【研究生本科论文】论文语言常见的五个问题
  10. Chrome 开发者工具 network 显示 Provisional headers are shown 的几种原因