最近某同学的有个程序跑得好慢,疑似有点问题。程序的核心是读取pcap数据包,然后白名单过滤插入数据库。在实际使用中发现每秒插入数据库条数在1000条每秒左右,而且是在占用了30个左右的数据库连接情况下,效率有点低。
刚开始我以为是数据库插入部分写得有点问题,这里采用的是逐条insert的方式,我经过查阅资料选择了改进为
insert all into test(a,b,c) values ('a1','a','a')
into test(a,b,c) values ('a2','a','a')
into test(a,b,c) values ('a3','a','a')
into test(a,b,c) values ('a4','a','a')
into test(a,b,c) values ('a5','a','a')
select * from dual
这样子的插入,从理论上来说应该是有较大提高的。
但是实际中发现速度提升很不明显,我就往前面看,发现白名单过滤这里采用了正则表达式,这是比较耗资源的一个行为,他首先采用了正则表达式来去匹配这是否是个正规的域名,这里我觉得没什么必要删掉了,其次他大量采用了临界区去锁这个资源,我表示理解不能。。。删掉
然后发现效率有小量提升,但不是特别明显,继续研究。
然后到了程序的起始
写道
pcap_loop(fp,0,packet_handler,NULL);
pcap_close(fp);
位置
这里在packet_handler发现了问题,他把对包的解析功能写在了里面,这是比较复杂的一个过程,合理的方式应该是在这里只做一件事,把包放到队列里,然后结束,另外开多线程去处理包。
问题定位到。ok
分享到:
相关推荐
PCAP 包回放是一种网络流量回放技术,通过对 PCAP 文件的处理和修改,可以实现网络流量的重放、修改和发送。本文将对 PCAP 包回放技术进行详细的介绍,包括 PCAP 文件的处理、修改和发送等方面。 PCAP 文件处理 ...
本篇文章将深入探讨如何利用PCAP(Packet Capture)包对TCP、UDP和FTP协议进行分析,以及如何在VS2015环境中结合WinCap工具实现这些操作。 首先,我们需要理解什么是PCAP包。PCAP文件是一种数据包捕获格式,它记录...
在IT行业中,"pcap包"(Packet Capture Package)是指使用libpcap或WinPCAP库捕获和分析网络数据包的一种文件格式。这些文件通常用于网络安全监控、故障排查、网络性能分析和协议开发等多个领域。本文将深入探讨pcap...
标题中的“解析pcap包工具”指的是用于处理网络封包捕获(packet capture)文件的软件,这类工具能够分析和解读网络数据传输过程中的详细信息。在IT领域,pcap(Packet Capture)文件通常用于网络故障排查、安全审计...
在本文中,我们将深入探讨Modbus协议、模拟器的使用以及如何通过示例pcap包进行协议分析。 首先,让我们了解Modbus协议的基础。Modbus是由Modicon公司(现为施耐德电气的一部分)于1979年推出的,是一种串行通信...
OMRON FINS pcap包,可以wireshake打开
该文件为pcap文件,抓取的pipeline数据包。 该数据包示例,一个包里多个请求 ,一个包里多个响应。
在“pcap2”这个压缩包文件中,可能包含了一个改进版的pcap捕包程序或相关的数据分析结果。通过解压并研究其中的内容,我们可以更深入地了解该程序是如何实现捕包和分析功能的,或许还能学习到作者在处理特定网络...
“PCAP”标签则明确表示该软件专注于处理PCAP文件,可能包括读取、解析、过滤、分析和导出PCAP数据等功能。 **WareShark(Wireshark的拼写错误)** 文件名称列表中的"WareShark"可能是用户输入的错误,正确的名称...
6. **自定义抓包程序**:开发自己的pcap程序可以满足特定需求,例如在特定网络环境中进行定制化的数据包监控,或者在分析特定协议时提供更细致的控制。 7. **应用场景**:pcap开发的抓包程序广泛应用于网络安全、...
将pcapedit 和 配置文件放到用一路径下,处理处的结果文件保存在当前路径。 [root@localhost cll]# ./pcapedit Input the pcap file name:3g_ctrl_data.pcap //符合帧格式的pcap文件处理结果 starting parse pcap ...
`pcap_next()`则一次返回一个包。 5. **使用过滤器**:Pcap支持BPF(Berkeley Packet Filter)语法,可以预先设定过滤条件,只捕获满足条件的数据包。`pcap_compile()`和`pcap_setfilter()`函数用于编译和设置过滤...
"Reader"在这里可能是指一个特定的程序或API,用于读取Pcap文件。这类工具或API通常会提供方法来遍历Pcap文件中的每一个包,获取包头信息并解码数据,从而分析网络流量。例如,你可以通过Reader获取每个包的时间戳,...
2. **解析DNS报文**: Pcap4J提供了`org.pcap4j.packet.dns`包来处理DNS报文。通过`DnsPacket`类,我们可以解析DNS头部信息(如查询ID、标志、问题计数等)和资源记录(如主机名、类型、类、TTL和数据)。 3. **处理...
标题中的“解析pcap包为wav文件工具”指的是一个能够处理网络抓包文件(pcap格式)并从中提取音频数据的程序。这类工具通常用于网络通信分析,特别是语音通信,如VoIP(Voice over Internet Protocol)服务。描述中...
`pcap`文件是一种通用的数据包捕获格式,广泛用于网络监控和故障排查。本文将深入探讨如何使用C语言解析`pcap`文件中的DNS(Domain Name System)数据包,并对数据流进行处理。 首先,理解`pcap`文件的结构至关重要...
2. **C#环境下的数据包处理**:在C#环境中,可以使用.NET框架或者第三方库来解析PCAP文件。一个常用的第三方库是`libpcap.net`,它是一个C#封装的libpcap库,提供了对PCAP文件的读取和写入功能。 3. **TCP和UDP解包...
标题中的“用于sip通话pcap音频”表明这是一个与网络通信协议SIP(Session Initiation Protocol)和网络数据包捕获工具pcap相关的主题。在IT领域,SIP是一种用于建立、管理和终止多媒体通信会话(如语音和视频通话)...
微控制器选择STM32F103VET6;pcap01-AD工作在单端接地模式,PC0 和 GND引脚连接49.55pF参考电容,PC1 和GND引脚连接待测电容,可在串口调试助手中打印出待测电容的数值,精确到小数点后两位。
这个pcap文件可能记录了客户端发起连接的SYN包以及服务器的SYN+ACK响应,最终形成完整的TCP三次握手过程。 2. **身份验证**:连接建立后,客户端发送用户名和密码进行身份验证。这可能在pcap文件中表现为明文或者...