Token导航 LogoToken导航TokenDH.com
Packet Analyzer MCP logo
安全风控stdio官方级别未说明来源级核验

Packet Analyzer MCP

MCP Server

Packet Analyzer MCP 是一个分布式网络数据包捕获和分析系统,支持多主机数据收集、中央分析、威胁检测和安全监控。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
网络监控安全分析PythonClaude分布式系统Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

choihyuunmin

提供方

choihyuunmin

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

数据包分析器 MCP

这是一个用于捕获和分析网络数据包的MCP(模型上下文协议)服务器系统。它采用客户端-服务器架构,能够从多个主机收集数据包,并在中央进行分析。

概述

该项目是一个用于网络监控和分析的分布式系统:

  • 客户端在每个主机上使用tcpdump捕获数据包并传输到Kafka
  • 服务器在Kafka中收集数据包,存储到PostgreSQL后,通过外部安全API进行分析
  • RAG系统将脆弱IP信息存储在向量数据库中,并通过语义搜索进行匹配

系统架构

┌─────────────────┐
│   Client 1      │──┐
│  (Host A)       │  │
└─────────────────┘  │
                     │
┌─────────────────┐  │     ┌─────────────────┐     ┌──────────────────┐
│   Client 2      │──┼────▶│   Kafka         │────▶│   Server         │
│  (Host B)       │  │     │   Message Queue │     │  - Packet Store  │
└─────────────────┘  │     └─────────────────┘     │  - Analyzer      │
                     │                             │  - RAG System    │
┌─────────────────┐  │                             └──────────────────┘
│   Client N      │──┘                                      │
│  (Host N)       │                                         ▼
└─────────────────┘                                ┌──────────────────┐
                                                   │   PostgreSQL     │
                                                   │   + pgvector     │
                                                   │   Database       │
                                                   └──────────────────┘
                                                            │
                                                            ▼
                                                   ┌──────────────────┐
                                                   │  External APIs   │
                                                   │  - NVD CVE       │
                                                   │  - MITRE ATT&CK  │
                                                   │  - AbuseIPDB     │
                                                   └──────────────────┘

主要功能

客户端(数据包捕获)

  • 使用tcpdump进行实时数据包捕获
  • 使用Scapy进行数据包解析(TCP、UDP、ICMP)
  • 支持BPF过滤器
  • pcap文件解析及传输
  • 通过Kafka进行批量传输
  • 支持多种网络接口

服务器(数据包分析)

  • 使用Kafka消费者收集数据包
  • 在PostgreSQL + pgvector中存储和索引向量数据
  • 外部安全API集成

- NVD CVE 数据库搜索 - MITRE ATT&CK框架映射 - AbuseIPDB威胁情报

  • 自动数据包分析

- 恶意IP检测 - 端口扫描检测 - 检测到不安全协议 - 异常流量检测

  • 基于RAG的脆弱IP管理

- 通过向量嵌入的语义搜索 - 构建脆弱IP数据库 - 实时数据包-威胁匹配

  • 统计与报告

- 协议分布 - 最活跃的发言者 - 威胁概述

安装

1. 项目克隆

git clone 
cd packet-analyzer-mcp

2. 安装Python包

使用UV的情况:

uv sync

或者,如果使用pip:

pip install -e .

3. 基础设施设置

PostgreSQL的安装与配置

# Ubuntu/Debian
sudo apt-get install postgresql postgresql-contrib

# macOS
brew install postgresql
brew services start postgresql

# 데이터베이스 생성
sudo -u postgres psql
CREATE DATABASE packet_analyzer;
CREATE USER packet_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE packet_analyzer TO packet_user;
\q

RabbitMQ的安装与配置

# Ubuntu/Debian
sudo apt-get install rabbitmq-server
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

# macOS
brew install rabbitmq
brew services start rabbitmq

# 웹 관리 콘솔 활성화 (선택사항)
sudo rabbitmq-plugins enable rabbitmq_management
# http://localhost:15672 (guest/guest)

4. 设置环境变量

服务器设置(server/.env)

POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=packet_analyzer
POSTGRES_USER=packet_user
POSTGRES_PASSWORD=your_password

RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest
RABBITMQ_QUEUE=packet_queue

# 선택사항: 외부 API 키
NVD_API_KEY=your_nvd_api_key
ABUSEIPDB_API_KEY=your_abuseipdb_api_key

客户端设置 (client/.env)

RABBITMQ_HOST=your_server_ip
RABBITMQ_PORT=5672
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest
RABBITMQ_QUEUE=packet_queue

CLIENT_ID=laptop-01

使用方法

服务器运行

python -m server.server

客户端运行

python -m client.client

与Claude Desktop集成

Claude Desktop 设置文件(claude_desktop_config.json)中添加:

{
  "mcpServers": {
    "packet-analyzer-server": {
      "command": "python",
      "args": ["-m", "server.server"],
      "cwd": "/path/to/packet-analyzer-mcp",
      "env": {
        "POSTGRES_HOST": "localhost",
        "POSTGRES_DB": "packet_analyzer",
        "POSTGRES_USER": "packet_user",
        "POSTGRES_PASSWORD": "your_password",
        "RABBITMQ_HOST": "localhost"
      }
    },
    "packet-analyzer-client": {
      "command": "python",
      "args": ["-m", "client.client"],
      "cwd": "/path/to/packet-analyzer-mcp",
      "env": {
        "RABBITMQ_HOST": "localhost",
        "CLIENT_ID": "my-laptop"
      }
    }
  }
}

使用示例

客户端使用示例

사용 가능한 네트워크 인터페이스를 보여줘
→ list_interfaces 도구 실행

eth0 인터페이스에서 HTTP 트래픽 100개를 캡처해서 서버로 전송해줘
→ capture_and_send 도구 실행 (interface: eth0, filter: "tcp port 80", packet_count: 100)

/home/user/capture.pcap 파일을 분석을 위해 서버로 전송해줘
→ send_pcap_file 도구 실행

服务器使用示例

최근 1시간 동안의 패킷을 분석해줘
→ analyze_packets 도구 실행

192.168.1.100 IP의 위협 정보를 알려줘
→ query_threats 도구 실행

오늘 패킷 통계를 보여줘 (프로토콜 분포, Top Talkers)
→ get_statistics 도구 실행

SMB 취약점을 검색해줘
→ search_cve 도구 실행 (keyword: "SMB")

포트 스캔 관련 MITRE ATT&CK 기법을 알려줘
→ check_mitre_technique 도구 실행 (keyword: "port scanning")

최근 HIGH 심각도 위협 목록을 보여줘
→ get_recent_threats 도구 실행 (severity: "HIGH")

安全考虑事项

权限管理

  • 捕获数据包需要管理员权限
  • 遵循最小权限原则
  • 在生产环境中,请使用专用用户帐户

数据安全

  • 捕获的数据包中可能包含敏感信息
  • 实现对存储数据的访问控制
  • 定期删除不必要的数据
  • 考虑对数据库进行加密

网络安全

  • 限制对RabbitMQ和PostgreSQL的访问
  • 使用TLS/SSL来加密通信
  • 请适当配置防火墙规则

遵守事项

  • 遵守组织的安全政策
  • 请确认法律要求(例如:GDPR,HIPAA)
  • 在进行数据包捕获之前,请获得适当的批准

技术栈

组成部分技术
语言Python 3.11+
MCP SDKmcp
数据库PostgreSQL 12+
消息队列RabbitMQ 3.8+
数据包捕获tcpdump, Scapy
外部APINVD CVE, MITRE ATT&CK, AbuseIPDB
包管理uv

项目结构

packet-analyzer-mcp/
├── server/                 # 서버 패키지
│   ├── __init__.py
│   ├── server.py          # MCP 서버
│   ├── database.py        # PostgreSQL 연결
│   ├── message_queue.py   # RabbitMQ 컨슈머
│   ├── analyzers.py       # 패킷 분석 로직
│   ├── external_apis.py   # 외부 API 클라이언트
│   └── README.md          # 서버 문서
├── client/                # 클라이언트 패키지
│   ├── __init__.py
│   ├── client.py         # MCP 클라이언트
│   ├── packet_capture.py # tcpdump 래퍼
│   ├── message_queue.py  # RabbitMQ 프로듀서
│   └── README.md         # 클라이언트 문서
├── pyproject.toml        # 프로젝트 설정
├── main.py               # 기존 엔트리 포인트
└── README.md             # 이 파일

解决问题

常见问题

  1. 权限被拒绝(tcpdump)

- 确认sudo权限 - 使用setcap授予权限: sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump

  1. RabbitMQ连接失败

- 服务状态检查: sudo systemctl status rabbitmq-server - 端口检查: sudo netstat -tlnp | grep 5672 - 检查防火墙规则

  1. PostgreSQL连接失败

- 服务状态检查: sudo systemctl status postgresql - 验证设置确认: /etc/postgresql/.../pg_hba.conf - 数据库及用户验证

  1. 数据包未被捕获

- 确认网络流量存在 - 验证BPF过滤器语法 - 确认接口名称: ip link show

调试

# RabbitMQ 큐 상태 확인
sudo rabbitmqctl list_queues

# PostgreSQL 연결 테스트
psql -h localhost -U packet_user -d packet_analyzer

# 패킷 캡처 테스트
sudo tcpdump -i any -c 10

# Python 모듈 테스트
python -c "import mcp, asyncpg, pika, scapy.all"

性能优化

数据库

  • 确认索引是否已正确创建
  • 定期执行VACUUM操作
  • 旧数据应归档或删除

RabbitMQ

  • 消息大小优化
  • 使用批量传输
  • 适当的QoS设置

数据包捕获

  • 使用BPF过滤器排除不需要的数据包
  • 数据包数量限制
  • 有效载荷大小限制

目录标签

目录标签

网络监控安全分析PythonClaude分布式系统本地部署数据包捕获威胁检测

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP