Skip to content

基于MFC和WinPcap库开发的网络抓包和协议分析软件

Notifications You must be signed in to change notification settings

mbgxbz/SnifferUI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 

Repository files navigation

SnifferUI

这是一款基于MFC和WinPcap库开发的网络抓包和协议分析软件,你可以用它来抓取本机网络流量,或者读取pcap文件离线分析流量。

开发环境:Win7 + Visual Studio 2015
依赖:WinPcap 4.1.3

目录

功能

  • 实时网络数据包捕获和协议解析

  • 支持实时、离线解析 (实时:边抓包边解析 离线:读取pcap文件)

  • 提供显示过滤器

  • 支持常见协议解析

    • ICMP只支持解析类型为3、4、5、11、8、0的报文

    • DNS只支持解析类型A、NS、CNAME、PTR的报文

    • DHCP只能解析选项0、1、3、6、12、50、51、53、54、60、61、255

      层次 协议
      应用层 DNS / HTTP / DHCP
      传输层 UDP / TCP
      网络层 IPv4 / ICMP
      数据链路层 Ethernet / ARP
  • 支持快捷键

    快捷键 功能
    Ctrl + G 获得数据包列表中选中项焦点
    Ctrl + O 打开文件
    Ctrl + W 关闭文件
    Ctrl + S 另存为
    Alt + F4 退出

运行截图

v2.0

v1.0

更新说明

  • 2019/6/24

    • 完善菜单栏
      • 新增”清理缓存文件“菜单项
      • 新增”快捷键一览“菜单项
    • 新增工具栏
      • 原网卡列表、过滤器列表、按钮等移动至工具栏上
      • 用图标代替按钮文本
    • 完善数据包列表控件
      • 调整各列初始宽度
      • 允许拖拽列表的列
    • 完善状态栏
      • 调整各栏宽度
      • 新增“已显示”数据包个数
    • 完善“关于”窗口
  • 2019/5/23

    • 代码重构
      • 新增PacketCatcher类、PacketDumper类、PacketPool类,降低抓包与界面之间耦合
      • PacketCatcher类:实现数据包捕获,底层使用winpcap库函数
      • PacketDumper类:实现捕获数据包转储到文件,仅支持转储.pcap文件
      • PacketPool类:实现数据包管理,底层使用stl关联容器map存储数据包
    • 新增菜单栏
    • 新增状态栏
    • 删除“暂停”按钮
    • 新增快捷键
  • 2019/1/22

    • 新增Packet类封装数据包,解决内存泄露问题
    • 界面更换为Win7风格
  • 2019/1/14

    • 新增显示过滤器
  • 2017/2/15 - 2017/3/12

    • 完成v1.0开发
    • 实现数据包实时捕获和常见协议解析

ToDoList

  • v2.0中DHCP,DNS,HTTP解析的实现
  • 根据协议名过滤数据包
  • 数据包保存为.pcap格式文件
  • 鼠标移开list控件,保持选中行高亮
  • 添加菜单栏
  • 优化内存占用率(目前抓取数据包数量很大时,内存占用率高)
  • 添加工具栏

Known Issues

  • 过滤后原来位置的底色保持不变
  • DNS协议无法正确解析回答、授权回答、附加信息区域
  • 数据包16进制字节流格式不对齐
  • 按下结束后再开始,界面卡死
  • 使用过滤器后,若线程仍在抓包,新抓到的的数据包没有过滤就打印

参考资料

回到顶部

About

基于MFC和WinPcap库开发的网络抓包和协议分析软件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 60.7%
  • C++ 38.9%
  • Clarion 0.4%