Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Wireshark 仿制软件

简介

这是一个用Python开发的网络监控软件,功能类似于Wireshark。它可以捕获进出本机的网络数据包,并进行统计分析和可视化展示。

功能

  • 可视化界面 (GUI):基于PyQt5开发,界面友好。
  • 数据包捕获:使用Scapy库实时捕获网络数据包。
  • 数据包详细信息:在GUI中逐字段展开展示数据包的详细信息。
  • 过滤器:支持简单的过滤器设计,如tcp, udp, ip等。
  • 统计分析
    • IPv4和IPv6报文的饼图统计
    • TCP、UDP、ARP报文的柱状图
    • DNS报文占比随时间变化的折线图
  • 数据保存与加载:支持将捕获的数据保存为PCAP文件,并重新加载。
  • 资源监控:实时监控应用程序的CPU和内存使用情况,并记录日志。

安装

  1. 克隆仓库

    git clone https://github.com/yourusername/network_monitor.git
    cd network_monitor
  2. 创建虚拟环境(可选但推荐)

    python -m venv venv
    source venv/bin/activate  # 在Windows上使用 venv\Scripts\activate
  3. 安装依赖

    pip install -r requirements.txt
  4. 运行应用程序

    python main.py

    注意:捕获网络数据包通常需要管理员权限,请确保以管理员身份运行程序。

使用

  1. 开始捕获:在菜单栏中点击“开始捕获”按钮,开始实时捕获网络数据包。
  2. 停止捕获:点击“停止捕获”按钮,停止数据包捕获。
  3. 应用过滤器:在过滤器输入框中输入过滤条件(如tcp),然后点击“应用过滤”按钮。
  4. 查看详细信息:在数据包列表中选择一个数据包,详细信息将在下方显示。
  5. 保存数据:点击“保存数据”按钮,将当前捕获的数据包保存为PCAP文件。
  6. 加载数据:点击“加载数据”按钮,从PCAP文件中加载并展示已保存的数据包。
  7. 查看统计和资源使用:统计图表和资源监控信息将在界面中实时更新。

注意事项

  • 权限:捕获网络数据包需要管理员权限,确保程序具有相应权限。
  • 性能:Python在处理高频率的数据包时性能可能不足,必要时可以优化代码或使用更高效的库。
  • 安全性:处理网络数据包时注意安全,避免处理恶意数据包导致程序崩溃。
  • 跨平台:确保所使用的库在目标操作系统上兼容,特别是捕获数据包的库。

许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages