Wireshark MCP
Wireshark MCP
FastMCPベースのMCPサーバーで、AIエージェントおよびローカルテスト向けにWireshark/tsharkのキャプチャ、分析、脅威検知、レポート作成ツールを提供します。
目次
前提条件
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 にコピーし、プロジェクト固有の設定を編集します。
サーバーの実行
2つの一般的なモードがあります:
stdioトランスポート — MCP対応クライアント(Wireshark/IDE統合など)との直接統合を目的としています。メインパッケージを実行する際のデフォルトです。httpトランスポート — MCPサーバーをHTTP API経由で公開します(テストや外部クライアントに便利です)。
推奨(Windows): 仮想環境をアクティブ化してサーバーを起動する付属のランナーを使用します:
.\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の例(アクティブ化された仮想環境内):
# 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— ライブパケットのキャプチャ (インターフェース、期間、パケット数、BPFフィルタ)
分析
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— Webアプリケーションのトラフィック分析
レポート
generate_analysis_report— 包括的なレポート生成generate_security_report— セキュリティに特化したレポート
正確なツールのシグネチャとdocstringについては 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