基于Libpcap实现了一个简单的嗅探器,可分析各层协议并打印结果,实现了简单的流量统计,并将结果实时打印至界面控件中。
抓包与分析的实现部分参考了这位大佬 的系列文章。
具体经验教程之后会写(多么鲜艳的Flag)
- 开发环境:Ubuntu 18.04、CLion、QtCreator
- 运行须安装配置libpcap和Qt5
环境配置完成后,进入build目录下打开终端,运行./Sniffer
即可。
P.S.也可通过cmake重新构建项目运行,或在Qt Creator中打开.pro运行。
- protocol.h:定义各协议结构体
- analyze类:定义各协议解析函数
- widget类:Libpcap抓包函数、以太网数据帧解析(回调函数)、窗口功能
- sniffer类:无界面循环抓包实现(是widget的简化版,但运行时不需要)