您的位置:首页 > 其它

高速抓包内容分析过滤项目进度

2016-07-05 18:07 218 查看
开题:项目实现要采用的技术以及实现方法

1.采用pf_ring 多通道 实现线速抓包,多线程来对应处理

2.保证抓包线程,解析线程,重组线程,处理超时线程的开启顺序

3.为项目代码中添加日志库,日志在linux下起到的调试作用很明显.

4.无锁队列采用的是C语言开源版本,liblfds库

5.项目主要是抓去手机网络数据包,手机网络传输时多采用keep-alive的方式

6.tcp会话重组参考的是libnids的代码实现的.

7.内存泄漏的检测工具是valgrind,此工具不能检测静态栈数组的越界访问问题.

2016-07-05

已搭建好主要框架,摸着石头过河,遇到问题解决问题

面临的问题:

keepalive数据包的问题如何解决.

一方面可以参考下nginx的源代码,另一个方面参考下Wireshark的代码实现部分.

在第一次http交互时建立tcp连接,如果是keep-alive类型,则将tcp连接信息缓存起来,放到map表中进行存储.

待keepalive http新数据到来时,就直接复用以前的tcp连接.

问题1:需要缓存起来的tcp连接信息量大不大?用什么来存储?内存数据库

问题2:什么时候释放这些tcp连接,当connection = closed 的时候

2016-07-06  

规范化代码管理流程,保持良好的开发心态

项目上采用了svn作为版本控制工具,规范项目开发流程,大家都要养成良好的代码编写习惯.

项目文件夹中有lib include src目录,使用sourceInsight作为编辑写代码工具,以makefile作为编译脚本执行.

项目上大家都很齐心,有问题的时候积极的解决问题,前面的几个问题已经解决的差不多了,加强同事之间的合作和沟通,及时沟通提高工作效率.

2016-07-07

项目测试阶段,拟采用加载并解析pcap文件来进行各种测试,和领导沟通后,得到的反馈是目前现在抓取网卡测试数据不现实,所以我的想法是保留原来Capture接口的前提下,增加命令行参数指定pcap文件,如./your_program -r  test.pcap

很方便测试.

同时在项目代码中增加了日志库的部分,日志库的作用在linux开发以及调试过程中的作用不言而喻,采用的glog库,主要是VLOG等级日志,文件日志,以及带颜色日志.

暂时存在问题:

http协议的上行和下行数据的解析出现少数据的情况,明天去公司好好调试下.哈哈 这几天写代码写的好舒服
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息