Supports containerized deployment for analyzing PCAP/PCAPNG network captures in isolated environments
Provides cross-platform network packet analysis capabilities on Linux systems for port scan detection and network security analysis
Operates as a local MCP server for analyzing network capture files stored on the local filesystem with configurable security restrictions
Provides cross-platform network packet analysis capabilities on macOS systems for port scan detection and network security analysis
Includes testing framework integration for validating network analysis functionality and PCAP processing capabilities
Built with Python 3.11+ for network packet analysis, providing tools for PCAP/PCAPNG file processing and port scan detection
PortHunter MCP — Local MCP server for port-scan analysis (PCAP/PCAPNG)
PortHunter es un servidor MCP local (transport STDIO) que:
analiza capturas PCAP/PCAPNG,
detecta técnicas comunes de escaneo (SYN, FIN/NULL/Xmas),
clasifica patrones (horizontal / vertical),
lista sospechosos y obtiene el primer evento relevante,
puede enriquecer IPs públicas (OTX/GreyNoise/ASN/Geo) y correlacionarlas.
Está pensado para ser consumido por cualquier host/chatbot MCP.
Requisitos
Python 3.11+
Windows, Linux o macOS
(Opcional) Docker
Instalación
El
-e .
instala el paqueteporthunter
en editable desde este repo.
Ejecución (STDIO)
Windows PowerShell (recomendado)
Windows CMD
Linux/macOS
El servidor queda escuchando por STDIO a la espera de llamadas MCP
call_tool
.
Variables de entorno (seguridad y límites)
Variable | Default | Descripción |
|
| Token requerido si
. |
|
| Exige
en cada llamada de tool. |
|
| Directorio raíz permitido para leer PCAP/PCAPNG. |
|
| Tamaño máximo del archivo a procesar. |
|
| Si
, permite enriquecer IPs privadas (por defecto se omite ). |
mcp.json
(ejemplo listo para usar)
Tools (API)
Todas las herramientas devuelven UTC ISO-8601 en
generated_at
.
1) scan_overview(path, time_window_s=60, top_k=20)
Input
Return
2) list_suspects(path, min_ports=10, min_rate_pps=5.0)
Input
Return
3) first_scan_event(path)
Input
Return
4) enrich_ip(ip)
Input
Return (ok)
Return (error)
5) correlate(ips[])
Input
Return
Ejemplos de JSON (respuestas reales)
scan_overview
(ejemplo)
list_suspects
(ejemplo)
first_scan_event
(ejemplo)
enrich_ip
(error por IP inválida)
correlate
(mixto)
Errores comunes (contract)
Archivo fuera del directorio permitido:
Extensión no soportada:
Excede tamaño máximo:
Token faltante o incorrecto (si se requiere):
Uso desde un host MCP (pseudo-cliente)
Docker
Benchmark (opcional)
Salida sugerida:
tamaño archivo,
paquetes totales,
duración total (s),
pps promedio.
Incluye una tablita de resultados en el README si vas a reportar métricas.
Desarrollo
Código fuente del servidor en
porthunter/
Utilidades de PCAP e inteligencia en
porthunter/utils/**
Ejecuta linters/tests en tu proyecto principal si los tienes allí.
Si subes pruebas mínimas aquí:
pytest -q
Licencia
MIT (sugerida). Añade un archivo LICENSE
si lo deseas.
Créditos y referencias
Técnicas de escaneo: documentación pública (e.g., Nmap)
TL;DR
Arranca con:
Llama scan_overview / list_suspects / first_scan_event / enrich_ip / correlate
y consume el JSON como en los ejemplos de arriba.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Analyzes PCAP/PCAPNG network capture files to detect port scanning techniques (SYN, FIN, Xmas), classify scan patterns, and enrich suspicious IP addresses with threat intelligence data. Provides comprehensive network security analysis through natural language interactions.