🔒 家庭・SOHOのセキュリティ対策として
現代の家庭・SOHOネットワークには、スマートTV・IPカメラ・NAS・Wi-Fiスピーカー・IoT機器など20〜40台以上が接続されています。これらの多くはファームウェア更新が不定期で、どこに通信しているか把握されていません。一度侵害されると、C2サーバーへのデータ流出やボットネット加担が静かに進みます。
パッシブ・ゼロインパクト
ルーターのNATセッションテーブルをSSHで読み取るだけ。通信の中継・傍受なし、スループット低下なし、レイテンシ追加なし。
デバイス単位の可視性
どのIoT機器・PCがどこに通信しているかを把握。OUI・mDNS・SSDP・NetBIOS・Appleモデル辞書でデバイスを自動識別。
自動脅威検出
Feodo Tracker・ThreatFox・URLhaus・Spamhaus DROPとリアルタイムに全接続を照合。C2サーバー・ボットネット・マルウェア配布元を検出。
即時アラート
LAN内の任意のデバイスが既知の脅威に接続した瞬間にSlack DM通知。宛先ごとのクールダウン設定で通知スパムを防止。
ハードウェア変更不要
既存のYamaha RTXルーターと共存。Mac・PC・Raspberry Piにインストールするだけ。通信経路の変更なし。
完全ローカル・プライバシー重視
全処理はローカルで完結。通信データをクラウドに送信しません。エンリッチメント(GeoIP・RDAP・逆引DNS)は接続先IPのみ使用。
✦ 機能
全体把握 + ドリルダウン
グラフマップと統計情報でネットワーク全体を俯瞰し、通信ログと端末一覧でセッション・宛先・メモ・履歴へ掘り下げます。
Yamaha RTX 連携
Yamaha RTXルーターにSSH接続し、NATセッションテーブルを60秒ごとに取得。[INSPECT] syslog で短命 TCP セッションを補完。RTX1200〜RTX1300、RTX810/830対応。
ASUS WiFi AP 対応
L2クライアント情報を取得 — WiFi帯域、信号強度、トラフィック量、AiMeshトポロジー。
スマートデバイス識別
OUI、mDNS/Bonjour、SSDP、NetBIOS、Appleモデル辞書(200機種以上、「iPhone 15 Pro」レベルまで特定)。
📡 DNS ベース宛先名解決
ローカルの dnsmasq クエリログを監視し、デバイスごとの DNS 解決結果(例: example.com)を宛先名に反映。PTR 逆引きより優先して表示。
IPエンリッチメント
全接続先に対して逆引きDNS、RDAP組織名検索、GeoIP(都市レベルの緯度経度)を自動付与。
接続履歴保存(SQLite)
接続履歴をSQLite(WALモード、クラッシュセーフ)で永続保存。保持期間は最大2年まで設定可能。時系列チャート・接続先別統計で分析。
🛡️ 脅威検出
Feodo Tracker、ThreatFox、URLhaus、Spamhaus DROP と全接続を自動突合。3段階の信頼度で推奨アクションを表示。
🔔 Slack通知
脅威検出時に Slack DM で即時通知。宛先ごとのクールダウン設定でスパムを防止。UI言語に連動して日本語/英語で送信。
📋 通信ログ
ソート・検索可能な全セッション一覧。カラム別フィルター(テキスト、正規表現、日付範囲)。脅威行クリックで詳細ポップアップ。アプリ列でポートと宛先ホスト名からサービス名を自動推測(APNs、FCM、AirPlay、QUIC、iCloud、YouTube、AWS、Slack、Zoom、Tuya Smart など)。
🔔 検出ログ
脅威検出・新規端末アラートの永続履歴。カラム別フィルター・ソート・クリック詳細ポップアップ付き。Slack設定の有無にかかわらず全検出を記録 — いつでも振り返り可能。
🤖 AIエージェント連携(MCP)
Model Context Protocol サーバーを内蔵。通信サマリー・脅威接続・宛先ランキング・端末一覧・端末メモなど 11本のツールを AWS Kiro・Anthropic Claude・Anysphere Cursor 等の AI アシスタントに公開。stdio / HTTP 両対応。設定ガイド →
▶ デモ
UI言語: 英語 / 日本語 切り替え可能
グラフマップと統計情報で、デバイス/宛先の偏り、セッション推移、通信量の多い端末をリアルタイムに俯瞰できます。
通信ログと端末一覧では、気になる宛先、通信の多い端末、ビーコン候補、メモ、端末履歴へドリルダウンできます。
◈ スクリーンショット
⬡ アーキテクチャ
┌─────────────────┐ SSH(NAT) ┌──────────────────────┐
│ Yamaha RTX │◄───────────►│ │ WebSocket ┌──────────────────┐
│ [INSPECT] log │ syslog/UDP │ EgressView Server │◄────────────►│ ブラウザ │
│ [DHCPD] log │────────────►│ (Node.js) │ MCP ├──────────────────┤
└─────────────────┘ │ │◄────────────►│ AI アシスタント │
┌─────────────────┐ HTTP │ ポーラー: │ stdio/HTTP │(Kiro, Claude…) │
│ ASUS WiFi AP │◄───────────►│ • yamaha (SSH) │ └──────────────────┘
│ (クライアント) │ │ • asus (HTTP) │
└─────────────────┘ │ • inspect-syslog │
┌─────────────────┐ tail -F │ • dhcpd-syslog │
│ dnsmasq │────────────►│ • dnsmasq-log │
│ クエリログ │ └──────────┬───────────┘
└─────────────────┘ │
┌───────────────────┼───────────────┐
│ │ │
┌─────┴──────┐ ┌─────────┴───┐ ┌───────┴───┐
│エンリッチ │ │ 脅威インテル │ │ SQLite │
│ • dnsmasq │ │ • Feodo │ │ 履歴 │
│ • 逆引DNS │ │ • ThreatFox │ │ (WAL) │
│ • RDAP │ │ • URLhaus │ └───────────┘
│ • GeoIP │ │ • DROP │
│ • OUI │ └─────────────┘
│ • mDNS │
└────────────┘
▶ クイックスタート
Step 1 — 事前準備
| ✅ | Mac / PC / Raspberry Pi に Node.js 22以上をインストール | nodejs.org → |
| ✅ | Yamaha RTX ルーターの SSH を有効化 | 設定ガイド → |
| ☐ | (任意)ASUS WiFi AP の Web 管理画面を有効化 | 設定ガイド → |
| ☐ | (任意)AI アシスタント連携(AWS Kiro・Anthropic Claude・Anysphere Cursor 等) | 設定ガイド → |
Step 2 — インストールと起動
git clone https://github.com/yo1t/egressview.git
cd egressview
npm install
npm start
Step 3 — ブラウザを開いてログイン
初回起動時にコンソールに初期ログインパスワードが表示されます:
══════════════════════════════════════
EgressView login password (initial):
KFpDqntYRfcr...
→ ブラウザ初回アクセス時にこのパスワードでログインしてください
══════════════════════════════════════
http://localhost:3000 を開いてパスワードを入力してください。
Step 4 — 設定パネル(⚙)でルーター情報を入力
| Yamaha RTX の IP | ルーターの LAN 側 IP(例: 192.168.1.1) |
| SSH ユーザー名 / パスワード | Yamaha 設定ガイドで設定したもの |
| ASUS AP の IP / パスワード | AP の LAN 側 IP と管理者パスワード(ASUS 設定ガイド) |
Yamaha RTX は、IP・ユーザー名・パスワードを入力後に 接続して自動検出 を押してください。SSH接続、NATディスクリプタ、LAN IP、NAT sessions を確認し、保存前に推奨設定を反映します。
数秒後にデバイス、セッション、統計情報がUIに表示されはじめます。
◎ 対応ハードウェア
Yamaha RTX(L3/L4)
RTX1200, RTX1210, RTX1220, RTX1300, RTX810, RTX830, NVR500, NVR510, NVR700W — SSH+NATディスクリプタ対応の全モデル。
ASUS WiFi AP(L2)
RT-AXシリーズ、RT-ACシリーズ、ZenWiFi(AiMesh) — 標準Web管理画面を持つ全モデル(APモード/AiMesh使用)。
◎ Issues & フィードバック
バグ報告や機能リクエストはGitHubのIssueからお願いします。
⬡ リンク
GitHub リポジトリ
ソースコード、Issue、Pull Request、コントリビューションガイドライン。
README(日本語)
完全なドキュメント:セットアップ、設定、機能、セキュリティ。
README (English)
Full documentation: setup, configuration, features, and security.
Yamaha RTX 設定ガイド
Yamaha RTX ルーターの SSH を有効化するステップバイステップ手順。
ASUS AP 設定ガイド
ASUS アクセスポイントを EgressView 用に設定する手順。
AIエージェント連携(MCP)
AWS Kiro・Anthropic Claude・Anysphere Cursor 等の AI アシスタントに自然言語でネットワーク状況を聞ける。脅威サマリー・上位宛先・新規端末・端末メモの追加・アラートなど11ツール搭載。
ライセンス (AGPL-3.0)
自由に使用・改変可能。ネットワークサービスとして提供する場合は変更の公開が必要。