CN112929239B - 一种防火墙重置tcp链路的检测方法 - Google Patents

一种防火墙重置tcp链路的检测方法 Download PDF

Info

Publication number
CN112929239B
CN112929239B CN202110304761.6A CN202110304761A CN112929239B CN 112929239 B CN112929239 B CN 112929239B CN 202110304761 A CN202110304761 A CN 202110304761A CN 112929239 B CN112929239 B CN 112929239B
Authority
CN
China
Prior art keywords
tcp
packet
ipid
firewall
reset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110304761.6A
Other languages
English (en)
Other versions
CN112929239A (zh
Inventor
安怀志
韩韶华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Aishu Intelligent Technology Co ltd
Original Assignee
Wuxi Changyun Network Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Changyun Network Co ltd filed Critical Wuxi Changyun Network Co ltd
Priority to CN202110304761.6A priority Critical patent/CN112929239B/zh
Publication of CN112929239A publication Critical patent/CN112929239A/zh
Application granted granted Critical
Publication of CN112929239B publication Critical patent/CN112929239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种防火墙重置TCP链路的检测方法,该方法包括:读取网络报文并进行深度包解析,利用IP层的IPID信息和TCP流会话信息,对TCP重置包进行分析,判断该重置包是否为防火墙发出。如果该重置包的TCP Sequence、TCP ACK与TCP流会话当前状态明显不一致,又或者IPID增长量超过较大的第一阈值,还或者IPID增长量超过较小的第二阈值且IPID符合某些防火墙特征,则判断为由于防火墙导致的TCP链路关闭。本申请提供的检测方法可以应用到旁路或者串行网络流量分析设备中,也可以应用到报文分析软件中,也可以应用到一个多采集点的网络故障分析系统中。

Description

一种防火墙重置TCP链路的检测方法
技术领域
本申请涉及计算机通信技术领域,尤其涉及一种防火墙重置TCP链路的检测方法。
背景技术
随着互联网技术的发展,为了保证网络安全,在通信网络中串行接入了大量的防火墙设备。这些防火墙设备从链路层、网络层、传输层和应用层对网络流量进行分析、控制和拦截。由于防火墙可能发生误判,导致正常通信被拦截,引发业务异常。另外,某些特殊场景允许正常网络流量携带敏感信息,部署防火墙反而会引发通信异常。上述情况下需要设计一种方法能够快速判断出是否有防火墙对网络通信进行了干预,并快速定位出防火墙在网络中的位置。
对防火墙干预网络通信的检测,目前并没有很好的办法,多数情况下采用多次开启/关闭防火墙或者修改网络结构的方法进行对比测试,从而推断防火墙是否干预了网络通信。这种方法低效费时,而且由于其改变了网络结构,干扰了网络通信,或者违反了网络安全要求,往往是无法应用在生产环境的。
发明内容
本发明提供了一种对防火墙重置TCP链路的检测方法,能够对比较常见的传输层/应用层防火墙是否干预TCP网络通信进行判断和定位。应用这种检测方法的设备可以通过旁路(推荐方式)和串接的方式接入网络,由于设备本身只做检测分析,对现有网络通信不会产生干扰。
具体地,本申请是通过如下技术方案实现的:
通过旁路镜像(SPAN/TAP/HUB等方式)或者串接方式从网络中读取报文,也可以读取本地抓包文件,对网络报文进行深度包分析和TCP流会话分析。
通过L3网络层IPID与L4层TCP流会话的分析和比较,判断出在客户端Client方向或者服务端Server方向TCP链路是否发生了重置,并判断出重置是否由于防火墙导致。
若TCP流会话中第一个重置(RST)包符合如下条件中的一种,则判断RST包由防火墙发出:
与TCP流会话当前的TCP Sequence和TCP ACK状态明显不一致。
IPID增长量超过较大的第一阈值。
IPID增长量超过较小的第二阈值且IPID出现在特殊名单中。
附图说明
图1~图3是本申请实施例提供的一种对防火墙重置TCP链路检测方法的流程图。
图1是该方法的总体描述,描述了网络报文分析方法的流程图。
图2是网络报文分析方法中TCP流量分析模块的流程图。
图3是TCP流量分析模块中RST包的处理逻辑图。
具体实施方式
在介绍本申请提供的防火墙重置TCP链路的检测方法之前,先对本申请涉及的技术和术语进行介绍:
l L2链路层,OSI七层模型中的第二层(数据链路层),主要携带MAC信息。
L3网络层,OSI七层模型中的第三层,协议包括:ICMP、IGMP、IP(IPV4 IPV6)等,主要携带源/目的IP地址信息。如果是IPV4,还携带了互联网协议标识(Internet ProtocolHeader Identification,IPID)、分片(Fragment)、业务类型(TOS)、生存时间(TTL)、下一层协议编号等信息。
L4传输层,OSI七层模型中的第四层,协议主要包括TCP和UDP,主要携带传输数据的协议端口号,以及流控和差错校验。数据包一旦离开网卡即进入网络传输层。
本申请基于以下规律:
在同一个网络会话(TCP、UDP或者ICMP)中同一个设备发送的包,它们的IPID基本是连续的,即使发生网络丢包,IPID的变化也不会很大。如果IPID发生明显变化,则判定是来自于不同网络设备的。
TCP协议保证了TCP报文在Sequence和ACK的变化是比较平稳和连续的,Sequence不断增长,差值为上一个包TCP Payload的长度;一个方向的ACK与另外一个方向的Sequence保持一致。如果观察某个TCP包的TCPSequence或者TCPACK,如果发生了明显的变化和不一致,则判断来自于不同的网络设备。
下面对本申请提供的防火墙重置TCP链路检测方法进行详细地说明。
参见图1~图3,按照分层分模块的方法,描述的是本申请提供的一种防火墙重置TCP链路检测方法的流程图。
图1描述了对网络报文进行深度报文解析(DPI:Deep packet inspection)的总体描述:
S201、读取网络报文:包括通过驱动读取本机流量、通过驱动读取交换机镜像流量(镜像方案包括SPAN、TAP、HUB等方式)、也包括读取抓包文件,前两种方式实现实时或者准实时分析和检测,第三种方法实现事后分析和检测。
S202、L2层处理:完成链路层解析,链路层中的MAC信息和VLAN信息(如果存在),在本申请中基本用不到,此处不做展开。
S203、L3层处理:完成网络层解析,获取IPID、源IP地址、目的IP地址、下一层协议Protocol。如果为IPV4报文,从IP头获取本包的IPID;如果为IPV6报文则尝试从ExtensionHeader中Fragment header获取,如果获取不到,填写一个默认值0XFFFF。
需要注意的是,如果下一层协议Protocol为IP隧道协议(IP in IP、最小封装以及通用路由封装GRE)中的一种,则需要继续解析,直到解析到最内层的IP头(下一层为TCP/UDP/ICMP等协议),则从这层包头读取IPID、源IP地址、目的IP地址、下一层协议Protocol。
S204、根据之前获得的Protocol进行分发:TCP协议报文进入TCP处理子模块,UDP协议报文进入UDP处理子模块,ICMP协议报文进入ICMP处理子模块。
S205、TCP处理子模块,详细说明由图2描述。
图2描述了对网络报文深度解析处理中的TCP处理子模块:
S301、根据四元组在TCP流表中查找TCP流会话,四元组包括:从IP层得到的源IP地址和目的IP地址,从传输层得到的源端口和目的端口。如果找到则执行S303,否则执行S302。
S302、根据四元组在TCP流表中创建流会话,流会话包含三个状态:流会话状态、客户端状态和服务端状态,然后执行S303。
S303、根据流会话和本包确认本包方向,确认本包是客户端还是服务端发出的报文,然后执行S304。
下文为介绍简单,将与本包方向相同定义为本端(local),与本包方向相反定义为对端(peer)。
S304、对本端状态更新bytes、packets层IP层数据。
S305、根据TCP Flags对TCP流会话进行不同逻辑的处理,对应逻辑完成后需要更新本端的IPID和包时戳,还需要更新本端的TCP Sequence和TCP ACK(按照TCP协议,分别记录最大值)。
S306、如果当前包为RST包,则进入RST包处理逻辑,详细说明由图3描述。
图3描述了TCP处理子模块中关于RST包的处理逻辑,实现对防火墙重置TCP链路的检测:
S401、判断本TCP流会话是否已经进入FIN/RST状态,如果不是,则表明不是第一个拆链包,跳到S411。
S402、更新本TCP流会话状态,标记为RST(reset_by_client或者reset_by_server)。
S403、对比本包和TCP流会话中TCP Sequence和TCP ACK的变化,判断是否发生明显不一致的情况。
具体描述如下:
1.如果两侧状态都未建立,表明这是本TCP流会话的第一个包,跳至S409。
2.如果本端状态已建立,记录本端的Sequence和ACK作为参照:
Figure RE-RE-DEST_PATH_IMAGE002
Figure RE-RE-DEST_PATH_IMAGE004
否则记录对端的ACK和Sequence作为参照:
Figure RE-RE-DEST_PATH_IMAGE006
Figure RE-RE-DEST_PATH_IMAGE008
3.分别计算Sequence和ACK的变化量:
Figure RE-RE-DEST_PATH_IMAGE010
Figure RE-RE-DEST_PATH_IMAGE012
4.如果
Figure RE-RE-DEST_PATH_IMAGE014
Figure RE-RE-DEST_PATH_IMAGE016
符号相反,则跳到S410。
5.如果
Figure RE-DEST_PATH_IMAGE018
超过一个预先指定的阈值(相邻两包Sequence/ACK允许的最大增加量),则跳到S410。
其中:
Figure RE-DEST_PATH_IMAGE020
为计算最小值,
Figure RE-DEST_PATH_IMAGE022
为计算绝对值;
Figure RE-DEST_PATH_IMAGE024
Figure RE-DEST_PATH_IMAGE026
分别表示本包的TCP Sequence和TCP ACK;
Figure RE-DEST_PATH_IMAGE028
Figure RE-DEST_PATH_IMAGE030
分别表示本端状态的TCP Sequence和TCP ACK;
Figure RE-DEST_PATH_IMAGE032
Figure RE-DEST_PATH_IMAGE034
分别表示对端状态的TCP Sequence和TCP ACK。
S404、根据本端状态判断本包是否为本端的第一个包,如果是则跳到S409。
S405、根据本包IPID与本端状态中的IPID计算差值,作为IPID增长量。
S406、如果IPID增长量超过第一阈值,则跳到S410,否则执行S407。
S407、如果IPID增长量超过第二阈值,则执行S408,否则跳到S409。
S408、如果IPID在特殊名单列表中,则跳到S410,否则执行S409。
S409、判断为本侧主机主动重置TCP链路,对TCP流会话添加标记(host_reset),执行S411。
S410、判断为防火墙重置TCP链路,对TCP流会话添加标记(firewall_reset),执行S411。
S411、其它TCP协议处理逻辑。
对上述流程进行补充说明如下:
l 第一阈值和第二阈值由经验给出,或者通过对TCP流会话记录分析得到。
第二阈值小于第一阈值。
在普通网络情况下,在较低的TCP重传率情况,要求第二阈值不小于10。
如果网络工程师根据网络配置好合适的第一阈值和第二阈值,可以保证非常准确的检测率和比较低的漏检率。
IPID特殊名单需要预先给出,其记录了不同防火墙设备RST包的IPID特征。

Claims (3)

1.一种防火墙重置TCP链路的检测方法,其特征在于,包括:
读取网络报文并进行深度包解析,利用IP层的IPID信息和TCP流会话信息,对TCP重置包进行分析,检测出该重置包是否为防火墙发出;
具体包括以下步骤:
S201、读取网络报文;
S203、完成网络层解析,获取IPID、源IP地址、目的IP地址、下一层协议;
S204、根据之前获得的协议进行分发:TCP协议报文进入TCP处理子模块,UDP协议报文进入UDP处理子模块,ICMP协议报文进入ICMP处理子模块;
S205、TCP处理子模块中的操作具体包括:
S301、根据四元组在TCP流表中查找TCP流会话,四元组包括:从IP层得到的源IP地址和目的IP地址,从传输层得到的源端口和目的端口;如果找到则执行S303,否则执行S302;
S302、根据四元组在TCP流表中创建流会话,流会话包含三个状态:流会话状态、客户端状态和服务端状态,然后执行S303;
S303、根据流会话和本包确认本包方向,确认本包是客户端还是服务端发出的报文,然后执行S304;
S304、对本端状态更新bytes、packets层IP层数据;
S305、根据TCP Flags对TCP流会话进行不同逻辑的处理,对应逻辑完成后需要更新本端的IPID和包时戳,还需要更新本端的TCP Sequence和TCP ACK,按照TCP协议,分别记录最大值;
S306、如果当前包为RST包即重置包,则进入RST包处理逻辑, 具体操作包括:
S401、判断本TCP流会话是否已经进入FIN/RST状态,如果不是,则表明不是第一个拆链包,跳到S411;
S402、更新本TCP流会话状态,标记为RST;
S403、对比本包和TCP流会话中TCP Sequence和TCP ACK的变化,判断是否发生明显不一致的情况;
S404、根据本端状态判断本包是否为本端的第一个包,如果是则跳到S409;
S405、根据本包IPID与本端状态中的IPID计算差值,作为IPID增长量;
S406、如果IPID增长量超过第一阈值,则跳到S410,否则执行S407;
S407、如果IPID增长量超过第二阈值,则执行S408,否则跳到S409;
S408、如果IPID在特殊名单列表中,则跳到S410,否则执行S409;
S409、判断为本侧主机主动重置TCP链路,对TCP流会话添加标记host_reset,执行S411;
S410、判断为防火墙重置TCP链路,对TCP流会话添加标记firewall_reset,执行S411;
S411、其它TCP协议处理逻辑;
其中,第二阈值小于第一阈值。
2.如权利要求1所述的防火墙重置TCP链路的检测方法,其特征在于,
所述第一阈值和第二阈值由经验给出,或者通过对TCP流会话记录分析得到。
3.如权利要求1所述的防火墙重置TCP链路的检测方法,其特征在于,
所述第二阈值不小于10。
CN202110304761.6A 2021-03-23 2021-03-23 一种防火墙重置tcp链路的检测方法 Active CN112929239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110304761.6A CN112929239B (zh) 2021-03-23 2021-03-23 一种防火墙重置tcp链路的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110304761.6A CN112929239B (zh) 2021-03-23 2021-03-23 一种防火墙重置tcp链路的检测方法

Publications (2)

Publication Number Publication Date
CN112929239A CN112929239A (zh) 2021-06-08
CN112929239B true CN112929239B (zh) 2023-02-17

Family

ID=76175460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110304761.6A Active CN112929239B (zh) 2021-03-23 2021-03-23 一种防火墙重置tcp链路的检测方法

Country Status (1)

Country Link
CN (1) CN112929239B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024765B (zh) * 2021-11-15 2022-07-22 北京智维盈讯网络科技有限公司 基于旁路流量与防火墙配置相结合的防火墙策略收敛方法
CN114727302B (zh) * 2022-03-30 2024-05-14 华中科技大学 一种基于数据流的网络干扰状况检测方法、装置和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680929B1 (en) * 2006-07-31 2010-03-16 Insecure.Com LLC Operating system determination
CN104506482A (zh) * 2014-10-10 2015-04-08 香港理工大学 网络攻击检测方法及装置
CN110213124A (zh) * 2019-05-06 2019-09-06 清华大学 基于tcp多会话的被动操作系统识别方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281213B (zh) * 2013-04-18 2016-04-06 西安交通大学 一种网络流量内容提取和分析检索方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680929B1 (en) * 2006-07-31 2010-03-16 Insecure.Com LLC Operating system determination
CN104506482A (zh) * 2014-10-10 2015-04-08 香港理工大学 网络攻击检测方法及装置
CN110213124A (zh) * 2019-05-06 2019-09-06 清华大学 基于tcp多会话的被动操作系统识别方法及装置

Also Published As

Publication number Publication date
CN112929239A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
US10972391B2 (en) Full-path validation in segment routing
CN108781171B (zh) 用于在ipv6环境中用数据平面信号通知分组捕获的系统和方法
CN107005439B (zh) 用于在线服务链接的被动性能测量
US10164851B2 (en) Transmission and reception of a diagnostic request in an IP network
CN111953604B (zh) 一种为业务流提供业务服务的方法和装置
CN1937541B (zh) 一种网络性能测试方法
US7366101B1 (en) Network traffic synchronization mechanism
CN112929239B (zh) 一种防火墙重置tcp链路的检测方法
CN108696402A (zh) 虚拟路由器的基于会话的业务统计记录
US20120033663A1 (en) Discovery of Services Provided by Application Nodes in a Network
CN100512142C (zh) 一种网络实现采样的方法
CN106416171A (zh) 一种特征信息分析方法及装置
US10284460B1 (en) Network packet tracing
US10063444B2 (en) Network traffic capture analysis
US8599692B2 (en) System, apparatus and method for removing unwanted information from captured data packets
CN113595891B (zh) 数据通信方法、装置和电子设备
EP2230803A1 (en) Path characterisation in networks
CN109120540B (zh) 传输报文的方法、代理服务器和计算机可读存储介质
US6850530B1 (en) Methods and apparatus for providing and obtaining resource usage information
US7233593B2 (en) System, device, and method for routing information in a communication network using policy extrapolation
CN101267353B (zh) 一种载荷无关的检测网络滥用行为的方法
US20230327983A1 (en) Performance measurement in a segment routing network
KR20130044002A (ko) 애플리케이션 인지와 트래픽 제어를 위한 라우터 장치 및 그 방법
CN113973134A (zh) 数据传输方法、装置、电子设备及计算机存储介质
Albadri Development of a network packet sniffing tool for internet protocol generations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240326

Address after: 407, 4th Floor, Science and Technology Innovation Building, No. 16 Datong Road, Suzhou High tech Zone, Suzhou City, Jiangsu Province, 215000

Patentee after: Suzhou Aishu Intelligent Technology Co.,Ltd.

Country or region after: China

Address before: 214131 999-8-b1-501, gaolang East Road, Wuxi City, Jiangsu Province

Patentee before: Wuxi Changyun Network Co.,Ltd.

Country or region before: China

Patentee before: Han Shaohua

TR01 Transfer of patent right