Wireshark MCP
Wireshark MCP
AI 에이전트 및 로컬 테스트를 위해 Wireshark/tshark 캡처, 분석, 위협 탐지 및 보고 도구를 제공하는 FastMCP 기반 MCP 서버입니다.
목차
전제 조건
Python: 3.8+ (3.11 권장)
Wireshark (
tsharkCLI용). Windows의 경우 Wireshark + Npcap을 설치하세요.권한: 패킷 캡처는 일반적으로 Windows에서 높은 권한이 필요합니다.
tshark가 설치되어 있거나 일반적인 경로(예: C:\Program Files\Wireshark\tshark.exe)에서 사용 가능한지 확인하세요. 이 프로젝트에는 PATH 및 일반적인 Windows 위치를 검색하는 TsharkWrapper가 포함되어 있습니다.
Related MCP server: wireshark-mcp
빠른 시작
저장소를 복제하고 가상 환경을 생성하세요.
Windows (PowerShell):
git clone <your-repo-url>
cd Wireshark_MCP
python -m venv venv
.\venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txtLinux / macOS:
git clone <your-repo-url>
cd Wireshark_MCP
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt선택 사항: config.example.json을 config.json으로 복사하고 프로젝트별 설정을 편집하세요.
서버 실행
두 가지 일반적인 모드가 있습니다:
stdio전송 — MCP 호환 클라이언트(예: Wireshark/IDE 통합)와의 직접 통합을 위한 것입니다. 메인 패키지를 실행할 때 기본값입니다.http전송 — MCP 서버를 HTTP API를 통해 노출합니다(테스트 또는 외부 클라이언트용).
권장 사항 (Windows): venv를 활성화하고 서버를 시작하는 포함된 러너를 사용하세요:
.\run_server.ps1수동 실행 (stdio):
.\venv\Scripts\Activate.ps1
python -m wireshark_mcp.serverHTTP 전송으로 시작 (예시 스크립트). run_network_server.py를 다음과 같이 생성하세요:
from wireshark_mcp import server
# Starts FastMCP with HTTP transport on 127.0.0.1:8765
server.main().run(transport="http", host="127.0.0.1", port=8765)실행:
python run_network_server.pyHTTP 전송으로 시작하면 다음과 같은 Uvicorn 로그가 표시됩니다:
INFO: Uvicorn running on http://127.0.0.1:8765 (Press CTRL+C to quit)도구 사용 (예시)
개발 및 테스트를 위해 도구 모듈을 직접 호출하는 것을 권장합니다(구조화된 Python 객체를 반환함). 서버의 MCP 데코레이션 함수는 MCP 전송을 위해 직렬화된 문자열을 반환합니다.
Python 예시 (활성화된 venv 내부):
# List network interfaces (preferred for testing)
from wireshark_mcp.tools import capture
print(capture.list_network_interfaces())
# Analyze a PCAP file
from wireshark_mcp.tools import analysis
print(analysis.analyze_pcap("/path/to/capture.pcap"))
# Detect threats in a PCAP
from wireshark_mcp.tools import threat_detection
print(threat_detection.detect_threats("/path/to/capture.pcap"))서버 계층을 통해 MCP 도구를 사용하려면(MCP 클라이언트가 이를 호출함), 서버는 동일한 이름의 도구를 노출합니다. 예시 (참고: 문자열을 반환함):
from wireshark_mcp import server
print(server.list_network_interfaces()) # returns serialized string사용 가능한 도구 (요약)
캡처
list_network_interfaces— 사용 가능한 캡처 장치 목록capture_packets— 실시간 패킷 캡처 (interface, duration, packet_count, bpf_filter)
분석
analyze_pcap— 전체 pcap 분석extract_dns_queries— DNS 쿼리 및 의심스러운 도메인extract_ip_addresses— IP 추출 및 트래픽 패턴get_protocol_statistics— 프로토콜 분포
위협 탐지
detect_threats— IOC 추출 및 위험 점수 산정analyze_malicious_domains— 도메인 심층 분석analyze_suspicious_ips— IP 평판 확인detect_attack_patterns— 서명/패턴 탐지
문제 해결
analyze_connectivity_issue— 대상 연결 진단analyze_vpn_behavior— VPN 대 비-VPN 비교analyze_latency_and_retransmissions— 패킷 손실 및 재전송analyze_web_performance— 웹 애플리케이션 트래픽 분석
보고
generate_analysis_report— 종합 보고서 생성generate_security_report— 보안 중심 보고서
정확한 도구 서명 및 독스트링은 wireshark_mcp/server.py를 참조하세요.
문제 해결
tshark를 찾을 수 없음: Wireshark를 설치하고tshark가 PATH에 있거나 기본 설치 폴더에 있는지 확인하세요. 포함된TsharkWrapper는 PATH에tshark가 없을 때 일반적인 Windows 위치를 검색합니다.Windows에서 캡처 시 권한 오류: Npcap이 설치되어 있는지 확인하고 PowerShell을 관리자 권한으로 실행하세요.
도구가 오류 문자열과 함께
failed를 반환하면wireshark_mcp.tools에서 해당 함수를 직접 실행하여 예외를 검사하세요.
로그: 서버는 표준 로깅을 사용합니다. 서버를 시작한 콘솔 출력에서 자세한 내용을 확인하세요.
기여 방법
기능 브랜치에서 변경 사항을 만들고, 적절한 경우 테스트를 추가한 후 풀 리퀘스트를 여세요.
wireshark_mcp.tools의 공개 API를 안정적으로 유지하세요. 데코레이션된server함수는 MCP 노출용입니다.
라이선스
GitHub에 게시하기 전에 선호하는 라이선스 파일(예: LICENSE)을 추가하세요.
원하신다면 다음 작업도 가능합니다:
짧은
CONTRIBUTING.md생성,scripts/폴더 아래에 예시 스크립트 추가 (HTTP 러너, 빠른 테스트 스니펫),로컬 Git 브랜치를 열고 이러한 변경 사항을 커밋.
보안 및 코드 품질
이 프로젝트는 보안, 신뢰성 및 유지 관리 문제를 표면화하기 위해 정적 분석 도구(SonarQube)로 정기적으로 스캔됩니다. 아래 스크린샷은 가장 최근 스캔에서 캡처되었으며 이해관계자를 위한 증거 자료로 여기에 포함되었습니다.
참고: 스크린샷은 촬영 당시의 분석 상태를 보여줍니다. 권위 있는 출처는 SonarQube 프로젝트 페이지입니다. 이 아티팩트를 공개적으로 게시하는 경우 해당 링크를 포함하세요.
그림 참조 (이미지 파일을 docs/images/에 배치):
docs/images/sonarqube_result.jpeg— 프로젝트 요약 / 전체 상태 (SonarQube)docs/images/snyk_result.jpeg— 종속성/보안 스캔 요약 (Snyk)

그림 1 — SonarQube 프로젝트 요약 (스캔 당시 통과 / 미해결 보안 또는 신뢰성 문제 없음).

그림 2 — 종속성/보안 검사 및 카운트를 보여주는 Snyk 스캔 출력.
이 저장소에 이미지를 추가하는 방법:
저장소 루트에
docs/images/폴더를 만듭니다.스크린샷을
sonar_project.png및sonar_summary.png로 해당 폴더에 저장합니다.README와 함께 이미지를 커밋하고 푸시합니다:
git add docs/images/sonar_project.png docs/images/sonar_summary.png README.md
git commit -m "docs: add SonarQube screenshots to README"
git push origin <your-branch>원하신다면 여기에 스크린샷을 업로드하거나(또는 SonarQube 프로젝트 URL에 대한 액세스 권한을 부여하면) 제가 직접 추가하고 커밋해 드리겠습니다.
This server cannot be deployed
Maintenance
Related MCP Connectors
Exposes FEDLIN's public security scanners as agent-callable tools over Streamable HTTP.
Anonymous webhook capture, inspection, waiting, and response configuration for AI agents.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
Related MCP Servers
- FlicenseCqualityDmaintenanceEnables LLMs to capture, analyze, and summarize network traffic using Wireshark CLI tools, supporting live capture, pcap analysis, and LLM-oriented summaries.76-
- AlicenseBqualityDmaintenanceExposes Wireshark CLI tools to AI agents through MCP interfaces for network analysis.381MIT
- AlicenseNot gradedqualityCmaintenanceBridges AI assistants and network packet analysis by exposing Wireshark/TShark functionality through MCP, enabling PCAP investigation, protocol discovery, packet filtering, stream analysis, and live capture.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with tshark and related command-line tools for live packet capture, PCAP analysis, filtering, stream following, and capture file merging.1MIT