CN106341288A - 一种检验pf_ring抓包模块是否丢包的方法和系统 - Google Patents
一种检验pf_ring抓包模块是否丢包的方法和系统 Download PDFInfo
- Publication number
- CN106341288A CN106341288A CN201610704022.5A CN201610704022A CN106341288A CN 106341288 A CN106341288 A CN 106341288A CN 201610704022 A CN201610704022 A CN 201610704022A CN 106341288 A CN106341288 A CN 106341288A
- Authority
- CN
- China
- Prior art keywords
- packet
- ring
- capturing module
- packet loss
- difference
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及linux操作系统,本发明公开了一种检验pf_ring抓包模块是否丢包的方法,其具体包括以下的步骤:步骤一、获取当前网卡上接收到的数据包个数x1,并采用pf_ring抓包模块抓取当前网卡上的数据包个数y1;步骤二、发报机发送一个包含多个数据包的数据包文件至采集卡,此时,再一次获取当前网卡上接收到的数据包个数x2,并采用pf_ring抓包模块抓取当前网卡上的数据包个数y2;步骤三、获取发包机发报前后采集卡上的数据包之差x2‑x1,并比较抓包模块获取到的数据包之差y2‑y1与采集卡本身获取到的数据包之差x2‑x1,当y2‑y1=x2‑x1,丢包判断单元判断pf_ring抓包模块未丢包,否则判断丢包。通过上述方法,快速判断pf_ring抓包模块是否丢包。
Description
技术领域
本发明涉及linux系统,本发明公开了一种检验pf_ring抓包模块是否丢包的方法和系统。通过该方法和系统快速且有效验证pf_ring抓包模块是否丢包。
背景技术
pf_ring抓包模块是运行在linux系统下有效获取数据包的模块,现有技术中一般直接认为pf_ring抓包模块不会丢包,没有考虑到pf_ring抓包模块也存在丢包的可能性。或者即使知道pf_ring抓包模块也存在丢包的可能性,但是因为没有一种简单可行的方法来验证是否丢包,如果要验证,则导致成本高企或者验证过程特别复杂,因此,对于pf_ring抓包模块的丢包并没有相关的有实际应用效果的研究。然而如果pf_ring抓包模块实际上存在丢包,那么后续的针对该抓包内容进行处理的结果也就必然不再准确,导致系统的准确度不高。
发明内容
针对现有技术没有验证pf_ring抓包模块是否丢包的技术问题,本发明公开了一种检验pf_ring抓包模块是否丢包的方法和系统。
本发明的技术方案如下:
本发明公开了一种检验pf_ring抓包模块是否丢包的方法,其具体包括以下的步骤:步骤一、获取当前网卡上接收到的数据包个数x1,并采用pf_ring抓包模块抓取当前网卡上的数据包个数y1;步骤二、发报机发送一个包含多个数据包(比如10000个数据包)的数据包文件至采集卡,此时,再一次获取当前网卡上接收到的数据包个数x2,并采用pf_ring抓包模块抓取当前网卡上的数据包个数y2;步骤三、获取发包机发报前后采集卡上的数据包之差x2-x1,并比较抓包模块获取到的数据包之差y2-y1与采集卡本身获取到的数据包之差x2-x1,当y2-y1=x2-x1,丢包判断单元判断pf_ring抓包模块未丢包,否则判断丢包。
更进一步地,上述方法运行在linux操作系统中。目前很多网络分析软件部署在linux操作系统下,在linux操作系统中实现上述方法极大地简化了判断丢包的过程。
更进一步地,上述获取当前网卡上接收到的数据包个数的命令为ifconfig。用单个命令就能快速获取到当前网卡上接收到的数据包个数,实现简单。
本发明还公开了一种检验pf_ring抓包模块是否丢包的系统,其具体包括:发报机、采集卡、pf_ring抓包模块以及丢包判断单元,所述发报机通过物理介质连接(比如网线)采集卡,所述pf_ring抓包模块用于发报机发报前后从采集卡上抓包,得到前后数据包之差y2-y1;丢包判断单元用于获取发包机发报前后采集卡上的数据包之差x2-x1,并比较抓包模块获取到的数据包之差y2-y1与采集卡本身获取到的数据包之差x2-x1,当y2-y1=x2-x1,丢包判断单元判断pf_ring抓包模块未丢包,否则判断丢包。
通过采用以上的技术方案,本发明的有益效果为:通过shell script前后两次同时采集网卡收到的数据包个数和pf_ring抓取到的数据包个数,通过求差后并对比采集网卡收到的数据包个数和pf_ring抓取到的数据包个数是否一致。检验过程简单易行,快速实现pf_ring抓包模块是否丢包的检验。
附图说明
图1为pf_ring抓包模块抓取采集卡上的数据包的结构示意图。
具体实施方式
下面结合说明书附图,详细说明本发明的具体实施方式。
本发明公开了一种检验pf_ring抓包模块是否丢包的方法,其具体包括以下的步骤:步骤一、获取当前网卡上接收到的数据包个数x1,并采用pf_ring抓包模块抓取当前网卡上的数据包个数y1;步骤二、发报机发送一个包含多个数据包(比如10000个数据包)的数据包文件至采集卡,此时,再一次获取当前网卡上接收到的数据包个数x2,并采用pf_ring抓包模块抓取当前网卡上的数据包个数y2;步骤三、获取发包机发报前后采集卡上的数据包之差x2-x1,并比较抓包模块获取到的数据包之差y2-y1与采集卡本身获取到的数据包之差x2-x1,当y2-y1=x2-x1,丢包判断单元判断pf_ring抓包模块未丢包,否则判断丢包。通过上述方法,shell script前后两次同时采集网卡收到的数据包个数和pf_ring抓取到的数据包个数,通过求差后并对比采集网卡收到的数据包个数和pf_ring抓取到的数据包个数是否一致。检验过程简单易行,快速实现pf_ring抓包模块是否丢包的检验。
目前很多网络分析软件部署在linux操作系统下,为了提高抓包性能采用pf_ring的抓包模式。本发明公开了一种检验pf_ring抓包模块是否丢包的方法,其具体包括以下的过程:
为流量通过媒介(比如网线)接入到采集网卡A,pf_ring再抓取采集卡A上的数据包,如图1所示的pf_ring抓包模块抓取采集卡A上的数据包的结构示意图。
验证pf_ring抓包模块是否完整采集网卡A上的数据包,过程如下:
1.假如配置linux操作系统下的ifcfg-eth5网卡为采集卡,则通过如下命名可获取当前网卡上接收到的数据包个数,此处假如采集到的个数为x1。
ifconfig eth5|grep "RX packets"|awk '{print $3}'
通过如下命令可得pf_ring所采集到网卡ifcfg-eth5的数据包个数,此处假如个数为y1。
cat /proc/net/pf_ring/*-eth5.*|grep "Tot Read"|awk '{print $4}'
2.发报机发送一个包含10000个数据包的数据包文件至采集卡ifcfg-eth5,发送完成之后,再次执行步骤1中的命令获取到ifcfg-eth5卡上的数据包个数为x2,pf_ring上的数据包个数为y2。
3.那么采集卡ifcfg-eth5上采集到的总数据包个数为x2-x1。linux操作系统中通过命令ifconfig eth5可以查看网卡名称为ifcfg-eth5的网卡信息,其中有一行信息为RXpackets x bytes x (0.0 B)是用来统计该网卡上接收到的数据包,在发包前假设网卡上已经存在100个包,也就是RX packets 100,然后用发报机发送10000个包到ifcfg-eth5网卡后再去取一次这个值假设是RX packets 10100,那么ifconfig eth5网卡实际接收到的包个数就是10100-100=10000个包。
pf_ring上采集到的总数据包个数为y2-y1。
如果x2-x1=y2-y1,则pf_ring未丢包。
如果x2-x1>y2-y1,则pf_ring丢包。
pf_ring抓取的数据包是在ifcfg-eth5网卡上抓取的,x2-x1为ifcfg-eth5上采集到的数据包个数,y2-y1为pf_ring采集到的数据包个数,如果个数相同者说明pf_ring采包完整,如果pf_ring上的数据包个数小于ifcfg-eth5上采集的数据包个数则说明存在丢包。
本实施例中不排除传输介质(网线)导致ifcfg-eth5采集卡丢包的情形。
本发明的实现代码如下
#!/bin/bash
d=`date`
RX2=$(cat /proc/net/pf_ring/*-eth5.*|grep "Tot Read"|awk '{print $4}')
RX0=$(ifconfig eth5|grep "RX packets"|awk '{print $3}')
read -p "if continue enter 'y':" ans
if [ $ans == y ];then
RX1=$(ifconfig eth5|grep "RX packets"|awk '{print $3}')
RX3=$(cat /proc/net/pf_ring/*-eth5.*|grep "Tot Read"|awk '{print $4}')
echo $d
date
RXC1=`expr ${RX1} - ${RX0}`
RXC2=`expr ${RX3} - ${RX2}`
echo -e "eth5 Recive packets : $RXC1"
echo -e "pfing Recive packets : $RXC2"
exit 0
fi。
本发明还公开了一种检验pf_ring抓包模块是否丢包的系统,其具体包括:发报机、采集卡、pf_ring抓包模块以及丢包判断单元,所述发报机通过物理介质连接(比如网线)采集卡,所述pf_ring抓包模块用于发报机发报前后从采集卡上抓包,得到前后数据包之差y2-y1;丢包判断单元用于获取发包机发报前后采集卡上的数据包之差x2-x1,并比较抓包模块获取到的数据包之差y2-y1与采集卡本身获取到的数据包之差x2-x1,当y2-y1=x2-x1,丢包判断单元判断pf_ring抓包模块未丢包,否则判断丢包。
上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用发明的,发明并不限定仅取前述公开的数值,在不脱离发明的思想的情况下,本领域的技术人员可以对上述实施例做出种种修改或调整,因而发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (5)
1.一种检验pf_ring抓包模块是否丢包的方法,其具体包括以下的步骤:步骤一、通过命令获取当前网卡上接收到的数据包个数x1,并采用pf_ring抓包模块抓取当前网卡上的数据包个数y1;步骤二、发报机发送一个包含多个数据包的数据包文件至采集卡,此时,再一次获取当前网卡上接收到的数据包个数x2,并采用pf_ring抓包模块抓取当前网卡上的数据包个数y2;步骤三、获取发包机发报前后采集卡上的数据包之差x2-x1,并比较抓包模块获取到的数据包之差y2-y1与采集卡本身获取到的数据包之差x2-x1,当y2-y1=x2-x1,丢包判断单元判断pf_ring抓包模块未丢包,否则判断丢包。
2.如权利要求1所述的检验pf_ring抓包模块是否丢包的方法,其特征在于所述方法运行在linux操作系统中。
3.如权利要求1所述的检验pf_ring抓包模块是否丢包的方法,其特征在于所述获取当前网卡上接收到的数据包个数的命令为ifconfig。
4.一种检验pf_ring抓包模块是否丢包的系统,其特征在于具体包括:发报机、采集卡、pf_ring抓包模块以及丢包判断单元,所述发报机通过物理介质连接采集卡,所述pf_ring抓包模块用于发报机发报前后从采集卡上抓包,得到前后数据包之差y2-y1;丢包判断单元用于获取发包机发报前后采集卡上的数据包之差x2-x1,并比较抓包模块获取到的数据包之差y2-y1与采集卡本身获取到的数据包之差x2-x1,当y2-y1=x2-x1,丢包判断单元判断pf_ring抓包模块未丢包,否则判断丢包。
5.如权利要求4所述的检验pf_ring抓包模块是否丢包的系统,其特征在于发报机与采集卡通过网线连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610704022.5A CN106341288A (zh) | 2016-08-23 | 2016-08-23 | 一种检验pf_ring抓包模块是否丢包的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610704022.5A CN106341288A (zh) | 2016-08-23 | 2016-08-23 | 一种检验pf_ring抓包模块是否丢包的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106341288A true CN106341288A (zh) | 2017-01-18 |
Family
ID=57825488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610704022.5A Pending CN106341288A (zh) | 2016-08-23 | 2016-08-23 | 一种检验pf_ring抓包模块是否丢包的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106341288A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118632A (zh) * | 2022-06-21 | 2022-09-27 | 中电信数智科技有限公司 | 一种基于云网融合的主机丢包自动检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005159807A (ja) * | 2003-11-27 | 2005-06-16 | Yokogawa Electric Corp | ネットワーク品質評価測定方法およびネットワーク品質評価装置 |
CN102662907A (zh) * | 2012-03-02 | 2012-09-12 | 北京百度网讯科技有限公司 | 多处理器环境下的tcp连接的指标获取方法及装置 |
CN103650570A (zh) * | 2013-07-01 | 2014-03-19 | 华为技术有限公司 | 一种模拟拨测用户侧和网络侧的方法及设备 |
CN103796228A (zh) * | 2012-10-31 | 2014-05-14 | 中兴通讯股份有限公司 | 一种无线网络毛细管道性能评估方法及装置 |
CN104618192A (zh) * | 2015-02-12 | 2015-05-13 | 网神信息技术(北京)股份有限公司 | 数据库审计设备的测试方法和装置 |
-
2016
- 2016-08-23 CN CN201610704022.5A patent/CN106341288A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005159807A (ja) * | 2003-11-27 | 2005-06-16 | Yokogawa Electric Corp | ネットワーク品質評価測定方法およびネットワーク品質評価装置 |
CN102662907A (zh) * | 2012-03-02 | 2012-09-12 | 北京百度网讯科技有限公司 | 多处理器环境下的tcp连接的指标获取方法及装置 |
CN103796228A (zh) * | 2012-10-31 | 2014-05-14 | 中兴通讯股份有限公司 | 一种无线网络毛细管道性能评估方法及装置 |
CN103650570A (zh) * | 2013-07-01 | 2014-03-19 | 华为技术有限公司 | 一种模拟拨测用户侧和网络侧的方法及设备 |
CN104618192A (zh) * | 2015-02-12 | 2015-05-13 | 网神信息技术(北京)股份有限公司 | 数据库审计设备的测试方法和装置 |
Non-Patent Citations (1)
Title |
---|
刘柳: "PF_RING技术在移动业务监控系统中的研究与应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118632A (zh) * | 2022-06-21 | 2022-09-27 | 中电信数智科技有限公司 | 一种基于云网融合的主机丢包自动检测方法 |
CN115118632B (zh) * | 2022-06-21 | 2024-02-06 | 中电信数智科技有限公司 | 一种基于云网融合的主机丢包自动检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101980506B (zh) | 一种基于流量特征分析的分布式入侵检测方法 | |
CN106878064A (zh) | 数据监控方法和装置 | |
CN102904766B (zh) | 串行通信波特率识别方法、装置及监控设备 | |
CN103401698B (zh) | 用于服务器集群运算中对服务器状况报警的监控系统 | |
CN104917645B (zh) | 一种在线检测报文传输超时的方法与装置 | |
CN101567884B (zh) | 网络窃密木马检测方法 | |
CN106598815B (zh) | 一种实时异步日志收集方法及系统 | |
CN101667342A (zh) | 公路事故监测系统 | |
JPH07221760A (ja) | データ捕獲装置 | |
CN107800663A (zh) | 流量离线文件的检测方法及装置 | |
CN104092588B (zh) | 一种基于SNMP与NetFlow结合的网络异常流量检测方法 | |
CN107995066A (zh) | 一种自动化测试网卡的方法和装置 | |
CN109831462A (zh) | 一种病毒检测方法及装置 | |
CN106341288A (zh) | 一种检验pf_ring抓包模块是否丢包的方法和系统 | |
CN102566460B (zh) | Soe采集卡及其采集方法 | |
CN107317708A (zh) | 一种法院业务应用系统的监测方法及装置 | |
CN107025737A (zh) | 一种自助服务终端安防系统安全联动方法和系统 | |
CN103472797B (zh) | 一种通讯效率高的风电振动状态监测系统 | |
CN104040951B (zh) | 告警相关信息的传输方法和装置 | |
CN101902758A (zh) | 基于协议测试的无线网络中的数据处理方法和装置 | |
CN104867293B (zh) | 一种非智能型火警探测器故障检测方法及系统 | |
CN208890823U (zh) | 支持实现对网络隔离产品性能进行测试控制的装置 | |
CN103684865B (zh) | 一种交换系统及一种信息交换方法 | |
CN106878103A (zh) | 一种mms报文遥测数据提取方法 | |
CN101815076A (zh) | 一种内网蠕虫主机检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170118 |
|
RJ01 | Rejection of invention patent application after publication |