CN112468343A - 基于x86卡进行网络数据包重要素材的还原平台及方法 - Google Patents

基于x86卡进行网络数据包重要素材的还原平台及方法 Download PDF

Info

Publication number
CN112468343A
CN112468343A CN202011386706.8A CN202011386706A CN112468343A CN 112468343 A CN112468343 A CN 112468343A CN 202011386706 A CN202011386706 A CN 202011386706A CN 112468343 A CN112468343 A CN 112468343A
Authority
CN
China
Prior art keywords
protocol
password
card
packet
user name
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.)
Granted
Application number
CN202011386706.8A
Other languages
English (en)
Other versions
CN112468343B (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.)
Tianjin Optical Electrical Communication Technology Co Ltd
Original Assignee
Tianjin Optical Electrical Communication Technology 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 Tianjin Optical Electrical Communication Technology Co Ltd filed Critical Tianjin Optical Electrical Communication Technology Co Ltd
Priority to CN202011386706.8A priority Critical patent/CN112468343B/zh
Publication of CN112468343A publication Critical patent/CN112468343A/zh
Application granted granted Critical
Publication of CN112468343B publication Critical patent/CN112468343B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7803System on board, i.e. computer system on one or more PCB, e.g. motherboards, daughterboards or blades
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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/08Protocols for interworking; Protocol conversion
    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于X86卡进行网络数据包重要素材的还原平台及方法,它是包括一张主控板、两张线路卡、一张交换卡、一张x86卡组成的机箱式结构,通过X86板卡对ftp、telnet协议中的用户名密码、SSL协议中CA证书以及SIP协议的短信内容等的还原方法,在应用中接入PTN网络信号作为专门网络数据源,还原出的数据结果存入数据库或者直接还原为文件。提供了TCP/IP数据流IP五元组相同流的分离功能,省去自己考虑数据IP五元组包的麻烦,对于种类繁多的协议大大提高了还原效率,解决了ftp、telnet这些协议还原出的用户名和密码对应错位不匹配的问题,对于CA证书的拼包也大大减轻了工作量,还实现了对sip协议中短信内容的提取。

Description

基于X86卡进行网络数据包重要素材的还原平台及方法
技术领域
本发明涉及一种网络数据包重要素材的还原方法,特别涉及一种基于X86卡进行网络数据包重要素材的还原平台及方法。
背景技术
随着日益增加的网络应用数量,在网络上的流量种类越来越多,像CA等安全性方面的挑战,传统的方法已经开始吃力,过去单单基于IP、端口的工具很难识别这类应用的流量,因此有必要对网络数据的数据包报文进行深度解析,对于协议内容的重要素材进行还原,目前对于网络数据包进行协议解析素材还原的技术上,有DPI深度包检测技术,包括Libnids、Snort、OpenDPI等开源的协议解析项目。Libnids是一个用于网络入侵检测开发的专业编程接口;Snort能够对网络上的数据包进行抓包分析,它能根据所定义的规则进行响应及处理;OpenDPI作为一个开源的深度报文检测系统,实现了很多协议的识别,它源自PCIE,运行第三方开发者在不同的解决方案上编写DPI应用程序。但是已有的这些技术仅仅是对TCP/IP等数据包进行了解析,它在传统IP数据包检测技术之上增加了对应用层数据的应用协议识别,但对于重要的素材并不能进行还原。
发明内容
鉴于新技术的发展和现有技术存在的问题,本发明提供一种基于X86卡进行网络数据包重要素材的还原平台及方法,在x86板卡计算刀片上将nDPI深度包检测的开发库进行了代码级别的二次开发和融合,实现对多种主流协议的识别,同时对于主流协议ftp、telnet中的用户名密码这些素材进行还原,对SSL协议中CA证书进行还原,对SIP协议中短信内容进行还原。具体技术方案是,一种基于X86卡进行网络数据包重要素材的还原平台,它是包括一张主控板、两张线路卡、一张交换卡、一张x86卡组成的机箱式结构,其中线路卡在运用中只插入一块,其特征在于:所述的线路卡的一个10GE光口与x86卡的一个10GE光口通过光纤单向连接,交换卡四个10GE网口与x86卡的四个10GE网口、主控板、线路卡、交换卡、x86卡的千兆网口在背板通过PCB走线接连在一起。
还原方法包括以下步骤,
一、在x86板卡上安装DPDK的开发框架,绑定x86板卡的intel网卡实现数据抓取,将nDPI的工程部署到x86板卡上,安装ndpi所需的库,包括flex、bison、m4、lipcap、bcg729-decoder、zlib、Openssl、sofia-sip,安装数据库;
二、基于x86板卡进行初始化配置,启动硬件资源并调用收包接口进行收包,
1、依托于DPDK框架下的核线程机制,指定分析核线程id,启用分析核线程来对分析处理数据目录进行扫描,
2、调用收包接口,起线程进行接收网路数据,循环收包;
三、将收到的数据包调用nDPI进行协议解析,
1、获取当前扫描目录下未分析的pcap包文件,调用包读取接口进行每个以太网包的内容读取操作,
2、进入包处理回调函数,然后调用shell脚本启动nDPI深度分析,
3、调用pcap_process_packet对包进行解析,针对ptn信号的结构特征,分析外层mac头和type类型,然后识别Vlan结构及mpls标签,根据type类型值再判断携带的以太网数据是ARP包还是CDP包还是IP包,对IP包内的协议进行识别,打上对应协议的标签,
4、根据打上的协议标签进入各个协议解析器;四、根据不同的协议进入到不同的协议解析器进行素材还原操作,
重要素材还原模块包括ftp协议用户名密码还原模块、telnet协议用户名密码还原模块、ssl协议CA证书还原模块、SIP协议的短信还原模块,
1、ftp协议用户名密码还原模块,
(1)符合ftp-control协议的特征,进入ftp-control协议解析器,
(2)判断是否是客户端数据,如“是”则进行指令匹配,如果指令内容包括USER或者user,则此指令后面的就是对应的用户名,找到用户名后将标志用户名的标志位置1,如果指令内容包括PASS或者pass,则此指令后面的就是对应的密码,找到密码后将密码的标志位置1,如果是服务端数据,也进行标志位匹配,如果指令内容包括“331-”或者 “331”并且内容里有 “access”的字段则后面为用户名,找到用户名后将标志用户名的标志位置1,及“331-”或者“331”并且内容里有“Password”的字段,则后面为密码,找到密码后将密码的标志位置1,
(3)将获取到的用户名、密码进行存储,存入数据库或者存入文件,然后将标志位置回0,
2、telnet协议用户名密码还原模块,
(1)符合telnet协议的特征,进入telnet协议解析器,
(2)判断指令内容,如果指令内容包括“\n\rlogin:”、“\r\nUsername:”、“login:”或“localhost login”,则表示用户名出现了,将找到用户名的标志位置为1,如果用户名标志位为1,分为两种情况,有的是全部一次传输用户名,用"\r\n"作为结束符,如果指令内容中包括“Login”并且包括“\r\n”或者包括“login”并且包括“\r\n”,则将中间的内容取出为用户名,另一种情况是需要拼接用户名,在没有碰到“\r\n”的结束符时将此条流中的每个包的用户名进行拼接,直到碰到“\r\n”的结束符,则用户名拼接完成,对于密码,如果指令内容包括“\n\rpassword:”、“\r\nPassword:”或“Password:”,则表示密码出现了,将找到密码的标志位置为1,如果密码标志位为1,分为两种情况,有的是全部一次传输密码,用“\r\n”作为结束符,如果指令内容中包括“Login”并且包括 “\r\n”或者包括“login”并且包括“\r\n”,则将中间的内容取出为密码,另一种情况是需要拼接密码,在没有碰到 “\r\n”的结束符时将此条流中的每个包的密码进行拼接,直到碰到“\r\n”的结束符,则密码拼接完成,
(3)获取到的用户名密码进行存储,存入数据库或者存入文件,
3、SSL协议的CA证书还原模块,
(1)符合SSL协议交互特征,进入SSL协议解析器,
(2)根据包计算相关CA证书的总长度,判断SSL协议中handshake的标志位是否为0x02并且是否为CA证书的标志为0,“是”则根据总长度和该包中的长度进行对比,看CA证书的总长度与该包的长度是否一致,如果该包长度不够则先进行拼包,如果是拼包情况则包拼够以后将是否为CA证书的标志置为1,如果不需要拼包则直接对数据进行解析,
(3)如果CA证书标志为1或者不拼包直接解析数据这两种情况对数据进行解析,每个需要解析的数据包里可能包含若干个CA证书,将数据按照各个CA证书的长度进行分割,对每个分割后的数据进行CA证书数据解析和CA证书还原,解析方式主要是调用的Openssl中的x509的库进行解析,
(4)对于解析出的版本号、序列号、签名算法、公钥、有效期及扩展的字段存入数据库,将整个CA证书以.pem文件的形式还原出来,如果想以.cert文件进行存储,还可运用Openssl中的指令将文件转为.cert格式,
4、SIP协议的短信内容还原模块,
(1)符合SIP协议特征,进入SIP协议解析器,
(2)调用sofia-sip库进行sip内容提取,包括sip版本、主被叫号码等重要信息,判断sip方法是否为“MESSAGE”,如果是进入下一步,如果不是则返回,
(3)提取message body部分进行解析,根据标志位识别短信的TP-MTI,主要分为Submit和Deliver两种,
(4)通过判定短信是否有头,偏移对应的字节,找到短信内容,根据短信的编码格式,用不同的解码算法对短信内容进行解码,分为7bit解码、8bit解码和UCS2解码,将解码后的短信内容存入数据库或者直接存为.txt。
本发明的有益效果,对于种类繁多的协议大大提高了还原效率,解决了ftp、telnet这些协议还原出的用户名和密码对应错位不匹配的问题,对于CA证书的拼包也大大减轻了工作量,同时将sip协议的短信内容进行了正确的还原,降低了额外开销,根据端口尝试直接用一些有可能识别成功的协议解析器进行解析,能支持PTN信号该种非标准的以太网数据,解析带标签格式的以太网数据包格式,并能按照用户需求来还原一些重要的素材,可并行处理多种协议业务或单独处理单个协议业务,在网路数据的素材还原领域中使用x86板卡该种硬件形态开发算法夯实了该实现技术手段。nDPI适合作为一些用于检测流量并判断流量属于何种应用的高层应用程序的基础,具有较好的移植性,在其他设备中也能直接安装部署该素材还原算法,进行随时随地的针对重要素材的还原,在实际应用中有很大应用前景。
附图说明;
图1为本发明的平台框架图;
图2为本发明的整体流程框架图;
图3为本发明的X86卡初始化和收包模块流程图;
图4为本发明的的nDPI协议解析流程图;
图5为本发明的ftp协议用户名密码还原模块流程图;
图6为本发明的telnet协议用户名密码还原模块流程图;
图7为本发明的SSL协议CA证书还原模块流程图;
图8为本发明的SIP协议短信内容还原模块流程图。
具体实施方式
原理
本发明是在1U的硬件形态的X86卡上进行素材还原的一些方法,通过DPDK启动分析核线程,扫描未分析的数据包,将数据包通过shell脚本调用nDPI进行分析,nDPI根据默认端口和承载协议尝试猜应用协议,并使用猜出来的协议解析器尝试解析,根据承载协议使用该承载协议分类下的全部协议解析器按顺序尝试解析,如果没有解析成功可能是协议不被支持或者没有抓到关键的包,nDPI用来进行识别的包都是双向流的前面的包,针对加密流量,通过url识别应用类别,发现自签名的ssl证书,通过行为识别来识别流量,针对识别为ftp、telnet的协议类型,通过二次开发将协议中的素材用户名密码通过指令标志进行寻找并匹配然后还原存储,针对识别为ssl的协议类型,通过二次开发将协议中的SSL包先进行拼接然后根据长度分割出各个CA证书,对于每个CA证书调用库Openssl中的x509进行解析,主要还原内容包括版本号、序列号、签名算法、公钥、有效期及扩展的字段,并将CA证书以.pem格式进行存储,也可以将.pem格式转化为.cert文件,还可以通过Openssl中的指令去检测生成的CA证书是否合理,针对识别为sip的协议类型,通过代码二次开发运用sofia-sip的开源库将sip中的主被叫号码等重要信息进行还原,同时对“MESSAGE”的短信内容进行还原。
下面结合附图并实施例来详细说明本发明。
如图1所示,基于X86卡网络数据包的重要素材还原平台,将x86卡插入PTN信号处理设备,整个PTN信号处理设备包括主控板、两块线路卡、交换卡、x86卡,分别来进行不同功能的处理,其中x86卡是设备里的数据分析模块,其卡的外部接口包括4个10GE的光口,两个RG45的网口,一个console调试接口,HDMI接入接口,两个USB口,背板具备40G网口,一个千兆网口。将x86卡与设备中线路卡通过10G光口用光纤进行连接,然后通过该光口接收来自线路板的网络数据流量;
如图2所示,实现素材还原包括以下步骤:
1、首先基于x86卡进行初始化配置,启动使用的硬件资源并调用收包接口进行收包;
2、将收到的数据包调用nDPI进行协议解析;
3、最后根据不同的协议进入到不同的协议解析器进行素材还原操作。
其中,步骤1中开发环境部署,具体方法如下:
在x86卡上安装DPDK的开发框架,绑定x86板卡的intel网卡实现数据抓取;
将nDPI的工程部署到x86卡上,安装ndpi所需的库,包括flex、bison、m4、lipcap、bcg729-decoder、zlib、Openssl、sofia-sip,还需安装数据库。
如图3所示, x86卡初始化和收包模块的执行方法,具体如下:
依托于DPDK框架下的核线程机制,指定分析核线程id,启用分析线程来对分析处理数据目录进行扫描;
获取当前扫描目录下未分析的pcap包文件,调用包读取接口进行每个以太网包的内容读取操作;
进入包处理回调函数,然后调用shell脚本启动nDPI深度分析。
如图4所示,nDPI协议解析的执行方法,方法如下:
起线程进行接收网路数据,循环收包;
调用pcap_process_packet对包进行解析,针对ptn信号的结构特征,分析外层mac头和type类型,然后识别Vlan结构及mpls标签,根据type类型值再判断携带的以太网数据是ARP包还是CDP包还是IP包,区分具体包类型,我们关注的主要是IP包;
对IP包内的协议进行识别,打上对应协议的标签;
根据打上的协议标签进入各个协议解析器。
主要借助于开源库nDPI的tcp流IP五元组相同的流重组功能,将开源代码进行重构修改,添加分析外层mac头和type类型,然后识别Vlan结构及mpls标签,在flow结构体中加入数据还原算法需要用到的用户名密码字段,SSL包拼接字段,方便后续处理。协议识别完成后打上不同的协议标签进入不同的协议解析器,然后走入不同协议的素材还原模块算法中。
其中,所述步骤3中素材还原模块包括ftp协议用户名密码还原模块、telnet协议用户名密码还原模块、ssl协议CA证书还原模块以及SIP协议短信内容还原模块。
如图5所示, ftp协议用户名密码还原模块,根据ftp_control协议的特征,进行算法设计,客户端收到USER或user,PASS或pass指令时客户端才会有用户名密码数据,服务端发送“331-”或者“331”并且内容里有“access”时,服务端才能获取到用户名,服务端发送“331-”或者“331”并且内容里有“Password”时,服务端才能获取到密码,具体执行方法如下:
符合ftp-control协议的特征,进入ftp-control协议解析器;
判断是否是客户端数据,如果是则进行指令匹配,如果指令内容包括USER或者user,则此指令后面的就是对应的用户名,找到用户名后将标志用户名的标志位置1,如果指令内容包括PASS或者pass,则此指令后面的就是对应的密码,找到密码后将密码的标志位置1,如果是服务端数据,则也进行标志位匹配,如果指令内容包括“331-”或者“331”并且内容里有“access”的字段,则后面为用户名,找到用户名后将标志用户名的标志位置1,以及 “331-”或者“331”并且内容里有“Password”的字段,则后面为密码,找到密码后将密码的标志位置1,将获取到的用户名密码进行存储,存入数据库或者存入文件,然后将标志位置回0;
如图6所示,telnet协议用户名密码素材还原模块,根据telnet协议特征,进行算法设计,该算法和ftp类似,不同的是对用户名密码的标志不同,telnet还可能需要对用户名密码进行拼接操作,具体执行方法如下:
符合telnet协议的特征,进入telnet协议解析器;
判断指令内容,如果指令内容包括“\n\rlogin:”、“\r\nUsername:”、“login:”或“localhost login”,则表示用户名出现了,将找到用户名的标志位置为1,如果用户名标志位为1,分为2种情况,有的是全部一次传输用户名,用“\r\n”作为结束符,如果指令内容中包括“Login”并且包括“\r\n”或者包括“login”并且包括“\r\n”,则将中间的内容取出为用户名,另一种情况是需要拼接用户名,在没有碰到“\r\n”的结束符时将此条流中的每个包的用户名进行拼接,直到碰到“\r\n”的结束符,则用户名拼接完成。对于密码,如果指令内容包括“\n\rpassword:”、“\r\nPassword:”或“Password:”,则表示密码出现了,将找到密码的标志位置为1,如果密码标志位为1,分为2种情况,有的是全部一次传输密码,用“\r\n”作为结束符,如果指令内容中包括“Login”并且包括“\r\n”或者包括“login”并且包括“\r\n”,则将中间的内容取出为密码,另一种情况是需要拼接密码,在没有碰到“\r\n”的结束符时将此条流中的每个包的密码进行拼接,直到碰到“\r\n”的结束符,则密码拼接完成,
获取到的用户名密码进行存储,存入数据库或者存入文件。
如图7所示, SSL协议CA证书还原模块,该模块根据SSL协议交互特征,找到有关CA证书的包,根据长度对包进行拼接,然后对拼接好的包或者不需拼接的包进行分割,分割出若干个CA证书,调用Openssl进行还原。具体执行方法如下:
符合SSL协议交互特征,进入SSL协议解析器;
根据包计算相关CA证书的总长度,判断SSL协议中handshake的标志位是否为0x02并且是否为CA证书的标志为0,如果是则根据总长度和该包中的长度进行对比看CA证书的总长度与该包的长度是否一致,如果该包长度不够则先进行拼包,如果是拼包情况则包拼够以后将是否为CA证书的标志置为1,如果不需要拼包则直接对数据进行解析;
如果CA证书标志为1或者不拼包直接解析数据这两种情况对数据进行解析,每个需要解析的数据包里可能包含若干个CA证书,数据按照各个CA证书的长度进行分割,对每个分割后的数据进行CA证书数据解析和CA证书还原,解析方式主要是调用的Openssl中的x509的库进行解析;
对于解析出的版本号、序列号、签名算法、公钥、有效期及扩展的字段存入数据库,将整个CA证书以.pem文件的形式还原出来,如果想以.cert文件进行存储,还可运用Openssl中的指令将文件转为.cert格式。
如图8所示, SIP协议短信内容还原模块,该模块根据SIP协议特征,调用sofia-sip的开源库,首先解析出sip版本号、主被叫号码等重要信息,然后获取可能有短信内容的包,对于sip方法为“MESSAGE”的包获取message body部分,对这部分进行解析根据偏移找到短信内容,调用不同的解码算法对短信内容进行解码,最后将内容存入数据库或者直接存为.txt。具体执行方法如下:
符合SIP协议交互特征,进入SIP协议解析器,
调用sofia-sip库进行sip内容提取,包括sip版本、主被叫号码等重要信息,判断sip方法是否为“MESSAGE”,如果是进入下一步,如果不是则返回,
提取message body部分进行解析,根据标志位识别短信的TP-MTI,主要分为Submit和Deliver两种,
通过判定短信是否有头,偏移对应的字节,找到短信内容,
根据短信的编码格式,用不同的解码算法对短信内容进行解码,分为7bit解码、8bit解码和UCS2解码,将解码后的短信内容存入数据库或者直接存为.txt。

Claims (2)

1.一种基于X86卡进行网络数据包重要素材的还原硬件平台,它是包括一张主控板、两张线路卡、一张交换卡、一张x86卡组成的机箱式结构,其中线路卡在运用中只插入一块,其特征在于:所述的线路卡的一个10GE光口与x86卡的一个10GE光口通过光纤单向连接,交换卡四个10GE网口与x86卡的四个10GE网口、主控板、线路卡、交换卡、x86卡的千兆网口在背板通过PCB走线接连在一起。
2.采用权利要求1所述的基于X86卡进行网络数据包重要素材的还原硬件平台的还原方法,其特征在于:还原方法包括以下步骤,
一、在x86板卡上安装DPDK的开发框架,绑定x86板卡的intel网卡实现数据抓取,将nDPI的工程部署到x86板卡上,安装ndpi所需的库,包括flex、bison、m4、lipcap、bcg729-decoder、zlib、Openssl、sofia-sip,安装数据库;
二、基于x86板卡进行初始化配置,启动硬件资源并调用收包接口进行收包,
1、依托于DPDK框架下的核线程机制,指定分析核线程id,启用分析核线程来对分析处理数据目录进行扫描,
2、调用收包接口,起线程进行接收网路数据,循环收包;
三、将收到的数据包调用nDPI进行协议解析,
1、获取当前扫描目录下未分析的pcap包文件,调用包读取接口进行每个以太网包的内容读取操作,
2、进入包处理回调函数,然后调用shell脚本启动nDPI深度分析,
3、在nDPI内调用pcap_process_packet对包进行解析,针对ptn信号的结构特征,分析外层mac头和type类型,然后识别Vlan结构及mpls标签,根据type类型值再判断携带的以太网数据是ARP包还是CDP包还是IP包,对IP包内的协议进行识别,打上对应协议的标签,
4、根据打上的协议标签进入各个协议解析器;
四、根据不同的协议进入到不同的协议解析器进行素材还原操作,
重要素材还原模块包括ftp协议用户名密码还原模块、telnet协议用户名密码还原模块、ssl协议CA证书还原模块、SIP协议的短信还原模块,
1、ftp协议用户名密码还原模块,
(1)符合ftp-control协议的特征,进入ftp-control协议解析器,
(2)判断是否是客户端数据,如“是”则进行指令匹配,如果指令内容包括USER或者user,则此指令后面的就是对应的用户名,找到用户名后将标志用户名的标志位置1,如果指令内容包括PASS或者pass,则此指令后面的就是对应的密码,找到密码后将密码的标志位置1,如果是服务端数据,也进行标志位匹配,如果指令内容包括“331-”或者“331”并且内容里有“access”的字段则后面为用户名,找到用户名后将标志用户名的标志位置1,及“331-”或者“331”并且内容里有“Password”的字段,则后面为密码,找到密码后将密码的标志位置1,
(3)将获取到的用户名、密码进行存储,存入数据库或者存入文件,然后将标志位置回0,
2、telnet协议用户名密码还原模块,
(1)符合telnet协议的特征,进入telnet协议解析器,
(2)判断指令内容,如果指令内容包括“\n\rlogin:”、“\r\nUsername:”、“login:”或“localhost login”,则表示用户名出现了,将找到用户名的标志位置为1,如果用户名标志位为1,分为两种情况,有的是全部一次传输用户名,用"\r\n"作为结束符,如果指令内容中包括"Login"并且包括"\r\n"或者包括"login"并且包括"\r\n",则将中间的内容取出为用户名,另一种情况是需要拼接用户名,在没有碰到"\r\n"的结束符时将此条流中的每个包的用户名进行拼接,直到碰到"\r\n"的结束符,则用户名拼接完成,对于密码,如果指令内容包括“\n\rpassword:”、“\r\nPassword:”或“Password:”,则表示密码出现了,将找到密码的标志位置为1,如果密码标志位为1,分为两种情况,有的是全部一次传输密码,用“\r\n”作为结束符,如果指令内容中包括“Login”并且包括 “\r\n”或者包括“login”并且包括“\r\n”,则将中间的内容取出为密码,另一种情况是需要拼接密码,在没有碰到 “\r\n”的结束符时将此条流中的每个包的密码进行拼接,直到碰到“\r\n”的结束符,则密码拼接完成,
(3)获取到的用户名密码进行存储,存入数据库或者存入文件,
3、SSL协议的CA证书还原模块,
(1)符合SSL协议交互特征,进入SSL协议解析器,
(2)根据包计算相关CA证书的总长度,判断SSL协议中handshake的标志位是否为0x02并且是否为CA证书的标志为0,“是”则根据总长度和该包中的长度进行对比,看CA证书的总长度与该包的长度是否一致,如果该包长度不够则先进行拼包,如果是拼包情况则包拼够以后将是否为CA证书的标志置为1,如果不需要拼包则直接对数据进行解析,
(3)如果CA证书标志为1或者不拼包直接解析数据这两种情况对数据进行解析,每个需要解析的数据包里可能包含若干个CA证书,数据按照各个CA证书的长度进行分割,对每个分割后的数据进行CA证书数据解析和CA证书还原,解析方式主要是调用的Openssl中的x509的库进行解析,
(4)对于解析出的版本号、序列号、签名算法、公钥、有效期及扩展的字段存入数据库,将整个CA证书以.pem文件的形式还原出来,如果想以.cert文件进行存储,还可运用Openssl中的指令将文件转为.cert格式,
4、SIP协议的短信内容还原模块,
(1)符合SIP协议特征,进入SIP协议解析器,
(2)调用sofia-sip库进行sip内容提取,包括sip版本、主被叫号码等重要信息,判断sip方法是否为“MESSAGE”,如果是进入下一步,如果不是则返回,
(3)提取message body部分进行解析,根据标志位识别短信的TP-MTI,主要分为Submit和Deliver两种,
(4)通过判定短信是否有头,偏移对应的字节,找到短信内容,根据短信的编码格式,用不同的解码算法对短信内容进行解码,分为7bit解码、8bit解码和UCS2解码,将解码后的短信内容存入数据库或者直接存为.txt。
CN202011386706.8A 2020-12-02 2020-12-02 基于x86卡进行网络数据包重要素材的还原平台及方法 Active CN112468343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011386706.8A CN112468343B (zh) 2020-12-02 2020-12-02 基于x86卡进行网络数据包重要素材的还原平台及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011386706.8A CN112468343B (zh) 2020-12-02 2020-12-02 基于x86卡进行网络数据包重要素材的还原平台及方法

Publications (2)

Publication Number Publication Date
CN112468343A true CN112468343A (zh) 2021-03-09
CN112468343B CN112468343B (zh) 2023-10-24

Family

ID=74806318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011386706.8A Active CN112468343B (zh) 2020-12-02 2020-12-02 基于x86卡进行网络数据包重要素材的还原平台及方法

Country Status (1)

Country Link
CN (1) CN112468343B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448819A (zh) * 2021-12-24 2022-05-06 固安县艾拉信息科技有限公司 基于网络实时数据的密码分析和实现方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664739A (zh) * 2012-04-26 2012-09-12 杜丽萍 一种基于安全证书的pki实现方法
CN103188104A (zh) * 2011-12-31 2013-07-03 中国移动通信集团浙江有限公司 一种用户行为分析的方法及装置
CN103685477A (zh) * 2013-11-26 2014-03-26 珠海中慧微电子有限公司 具有ftp传输功能的gprs模块及其ftp文件传输方法
WO2016082371A1 (zh) * 2014-11-25 2016-06-02 中国科学院声学研究所 一种基于ssh协议的会话解析方法及系统
CN105897611A (zh) * 2016-06-24 2016-08-24 武汉绿色网络信息服务有限责任公司 一种基于sdn采用dpi技术实现业务识别和流量调度的系统和方法
CN106656919A (zh) * 2015-10-30 2017-05-10 中国科学院声学研究所 一种基于Telnet协议的会话解析方法及系统
CN107204916A (zh) * 2017-06-21 2017-09-26 天津光电通信技术有限公司 基于Tilera多核板卡网络数据包的邮件还原方法
CN111190662A (zh) * 2020-03-17 2020-05-22 天津光电通信技术有限公司 基于x86板卡的网络数据平台及数据采集过滤分析方法
CN214042311U (zh) * 2020-12-02 2021-08-24 天津光电通信技术有限公司 基于x86卡进行网络数据包重要素材的还原平台

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188104A (zh) * 2011-12-31 2013-07-03 中国移动通信集团浙江有限公司 一种用户行为分析的方法及装置
CN102664739A (zh) * 2012-04-26 2012-09-12 杜丽萍 一种基于安全证书的pki实现方法
CN103685477A (zh) * 2013-11-26 2014-03-26 珠海中慧微电子有限公司 具有ftp传输功能的gprs模块及其ftp文件传输方法
WO2016082371A1 (zh) * 2014-11-25 2016-06-02 中国科学院声学研究所 一种基于ssh协议的会话解析方法及系统
CN105704091A (zh) * 2014-11-25 2016-06-22 中国科学院声学研究所 一种基于ssh协议的会话解析方法及系统
CN106656919A (zh) * 2015-10-30 2017-05-10 中国科学院声学研究所 一种基于Telnet协议的会话解析方法及系统
CN105897611A (zh) * 2016-06-24 2016-08-24 武汉绿色网络信息服务有限责任公司 一种基于sdn采用dpi技术实现业务识别和流量调度的系统和方法
CN107204916A (zh) * 2017-06-21 2017-09-26 天津光电通信技术有限公司 基于Tilera多核板卡网络数据包的邮件还原方法
CN111190662A (zh) * 2020-03-17 2020-05-22 天津光电通信技术有限公司 基于x86板卡的网络数据平台及数据采集过滤分析方法
CN214042311U (zh) * 2020-12-02 2021-08-24 天津光电通信技术有限公司 基于x86卡进行网络数据包重要素材的还原平台

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448819A (zh) * 2021-12-24 2022-05-06 固安县艾拉信息科技有限公司 基于网络实时数据的密码分析和实现方法
CN114448819B (zh) * 2021-12-24 2024-03-22 固安县艾拉信息科技有限公司 基于网络实时数据的密码分析和实现方法

Also Published As

Publication number Publication date
CN112468343B (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
CN108183916B (zh) 一种基于日志分析的网络攻击检测方法及装置
KR101888831B1 (ko) 디바이스 정보 수집 장치 및 그 방법
Leita et al. Scriptgen: an automated script generation tool for honeyd
Cui et al. Discoverer: Automatic Protocol Reverse Engineering from Network Traces.
US8095983B2 (en) Platform for analyzing the security of communication protocols and channels
Auffret SinFP, unification of active and passive operating system fingerprinting
KR100895102B1 (ko) 파일 탐색 시스템 및 방법
CN114157502B (zh) 一种终端识别方法、装置、电子设备及存储介质
CN114050979B (zh) 一种工业控制协议安全测试系统及装置
CN110768951B (zh) 验证系统漏洞的方法及装置、存储介质、电子装置
CN112491917B (zh) 一种物联网设备未知漏洞识别方法及装置
CN106155882B (zh) 一种Android软件动态行为分析中的路径感知方法
CN113645224A (zh) 一种网络攻击检测方法、装置、设备及存储介质
Li et al. Automatically discovering surveillance devices in the cyberspace
JP2007096847A (ja) 光アクセス・ネットワーク試験装置
CN214042311U (zh) 基于x86卡进行网络数据包重要素材的还原平台
CN110879891A (zh) 基于web指纹信息的漏洞探测方法及装置
CN112468343B (zh) 基于x86卡进行网络数据包重要素材的还原平台及方法
Singh et al. A honeypot system for efficient capture and analysis of network attack traffic
CN112769635B (zh) 多粒度特征解析的服务识别方法及装置
CN110324199B (zh) 一种通用的协议解析框架的实现方法及装置
CN113179229A (zh) 一种验证方法、装置、存储介质及电子设备
CN112653657A (zh) 网络数据分析融合方法、系统、电子设备及存储介质
KR101081433B1 (ko) IPv6 기반 네트워크의 공격 패킷의 역추적 방법 및 그 기록매체
CN112640392B (zh) 一种木马检测方法、装置和设备

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