
2026/02/24 5:45
**Show HN:** *Babyshark – Wireshark を簡単に使えるようにしたツール(PCAP 用ターミナル UI)*
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Summary
Babyshark は、Rust で書かれた軽量のターミナルベースネットワークトラフィックビューアです。PCAP/PCAPNG ファイルを開くことも、
tshark を通じてライブキャプチャをストリームすることもできます。現在のアルファ版(v0.1.0)は以下の機能を提供します。
- オフラインモード:Wireshark が不要で
/.pcap
ファイルを閲覧可能。.pcapng - ライブキャプチャ:インターフェース一覧表示、Wireshark のディスプレイフィルタ(
)適用、キャプチャを書き出し(--dfilter
)。--write-pcap
が必要であり、昇格した権限またはtshark
グループへの所属が必要になる場合があります。wireshark - TUI 機能:フロー → パケットのナビゲーション、ストリーム追跡、ストリーム検索、フローブックマーク、Markdown レポートエクスポート。
- キーバインディング:
(概要)、o
(ドメイン)、D
(おかしなもの)、W
(フロー)、矢印キー /F
で移動、j/k
でフィルタ、/
でブックマーク、b
でエクスポート、E
でストリーム追跡。f
- キーバインディング:
- 出力ファイル:
ディレクトリに.babyshark/
(ブックマーク)、case.json
(最新の Markdown レポート)およびタイムスタンプ付きコピーreport.md
を保存。report‑YYYYMMDD-HHMMSS.md
インストール方法は、GitHub Releases の事前ビルド済みバイナリを利用するか、Cargo でビルド (
cargo install --path .) し、あるいはリポジトリから直接インストールできます。プロジェクトはまだアルファ段階ですが、ロードマップにはスムーズな導入、BPF フィルタパススルー、プロトコルヒントの強化、TCP リアセンブリーの改善、および Homebrew と Scoop での広範な配布が含まれています。
Babyshark は、ネットワーク分析者・開発者・組織がフルパケットアナライザをインストールせずに高速かつターミナルフレンドリーにトラフィックを検査したい場合に最適です。Rust エコシステムに新たなネットワーキングユーティリティとして貢献します。
本文
babyshark
Wiresharkをターミナルで簡単に使える TUI(テキストユーザーインターフェイス)
Babyshark は PCAP を閲覧・解析するための TUI です。以下の質問に答えます:
- ネットワークを使用しているものは何か?
- 何が壊れている/変なのか?
- 次にクリックすべき場所はどこか?
状態: v0.1.0 (アルファ)
オフラインでの
.pcap/.pcapng の閲覧は Wireshark を使わずに実行できます。ライブキャプチャには
tshark(Wireshark CLI)が必要です。
速く始める
1. リリースをダウンロード(推奨)
# GitHub Releases からバイナリを取得 https://github.com/vignesh07/babyshark/releases
2. ソースコードからビルド
git clone https://github.com/vignesh07/babyshark cd babyshark/rust cargo install --path . --force babyshark --help
主な機能
| モード | 説明 |
|---|---|
| オフライン | / を開いて閲覧:• • ストリーム検索にハイライトと ナビゲーション |
| ライブ | TUI でトラフィックをキャプチャ&検査: • キャプチャインターフェイス一覧 • オプションの表示フィルタ付きライブキャプチャ • キャプチャ中にファイルへ書き出し(任意) |
備考 / エクスポート
- フローをブックマーク
- マークダウンレポートをエクスポート(最新 + タイムスタンプ付きコピー)
インストール方法
| オプション | 手順 |
|---|---|
| A. GitHub Release (推奨) | 事前構築済みバイナリをダウンロード: |
| B. ソースからビルド | |
| C. cargo install(開発者向け) | |
tshark のインストール(--live
に必須)
--livemacOS
brew install wireshark
Linux
Debian/Ubuntu:
sudo apt-get update && sudo apt-get install -y tshark
Fedora:
sudo dnf install -y wireshark-cli
確認コマンド:
tshark --version tshark -D
権限に関する注意:ライブキャプチャは管理者権限(
、sudoの CAP_NET_RAW など)またはdumpcapグループへの所属が必要な場合があります。babyshark が権限エラーを出したら、その指示に従ってください。wireshark
使用方法
| シナリオ | コマンド |
|---|---|
| オフライン PCAP | |
| ライブインターフェイス一覧 | |
| ライブキャプチャ | |
| Wireshark 表示フィルタ付きライブキャプチャ | |
| キャプチャ中にファイルへ書き出し | |
例示画面(テキストのみ)
以下は TUI に表示される内容のサンプルです。IP/ドメインは匿名化しています。
概要(ライブ)
babyshark Overview flows:114 packets:4227 tcp:on udp:on q=—
英語での説明
Packets: 4227 Flows: 114 Top talker: 10.0.0.6 (2711.9KB) Top talker (pkts): 10.0.0.6 (4046 pkts) Live: 88s pps~14.6 dropped~0 | last: Capturing on 'Wi‑Fi: en0'
トップフロー
Top flow (bytes): UDP 10.0.0.6:57315 ↔ 203.0.113.123:443 (1359.3KB) Top flow (pkts): UDP 10.0.0.6:57315 ↔ 203.0.113.123:443 (1284 pkts)
何をクリックすべきか?
- ドメイン(人間向けビュー) – D を押す
- 奇妙な項目(トラブルシュート) – W を押す
- フロー(生データ) – F を押す
ドメインビュー
Domains (Enter show flows, s sort (conn/bytes/fail), c clear, Esc back) 1 wikipedia.com conn=9 bytes=21.0KB q=9 r=6 fail=0 ips=2 ❯ 2 chat.openai.com conn=5 bytes=28.2KB q=5 r=3 fail=0 ips=2
ドメイン詳細
chat.openai.com queries=5 responses=3 failures=0 Observed IPs (from flows): 10.0.0.6 198.51.100.42
Tip: Enter はサブセットフィルタを適用します(観測された IP が優先、DNS IP が利用可能なら DNS IP)。
奇妙な項目ビュー
Weird stuff (Enter show flows, c clear, Esc back) ❯ 1 High-latency flows (rough) flows=42 2 TCP reliability hints (retransmits / out-of-order) flows=16 3 TCP resets (RST) flows=11 4 Handshake not completed flows=0 5 DNS failures (NXDOMAIN/SERVFAIL) flows=0
なぜ重要か – 高遅延フロー(粗い)
長時間かつ多くのパケットを持つフローは、レイテンシー、輻輳、リトライを示す可能性があります。これは正確なタイムスタンプに依存する粗いヒューリスティックです。
フロービュー
Flows [LIVE en0] (63.8 pps) (Enter packets, / filter, t/u toggles, b bookmark, E export, o overview) subset=domain:chat.openai.com 1 UDP 510 10.0.0.6:59175 ↔ 203.0.113.123:443 ❯ 2 TCP 32 10.0.0.6:57608 ↔ 198.51.100.42:443
フロー詳細
TCP 10.0.0.6:57608 ↔ 198.51.100.42:443 A→B: 14 pkts / 1386 bytes B→A: 26 pkts / 26307 bytes bookmarks: 1
キーバインディング(TUI)
トップレベル
| キー | アクション |
|---|---|
| 概要 |
| ドメイン |
| 奇妙な項目 |
| フロー |
| ヘルプ |
| 用語集 |
| 終了 |
ビュー内
– 詳細へ(ドメイン/奇妙 → フロー、フロー → パケット)Enter
– 戻るEsc
– 現在のサブセットフィルタをクリアc
– 選択したフローの説明?
– オンボーディングヒント(概要)を非表示x
フロービュー
| キー | アクション |
|---|---|
| ↑/↓ or j/k | 移動 |
| フィルタ |
| TCP / UDP を切り替え |
| フローをブックマーク |
| レポートをエクスポート |
パケットビュー
– ストリームにフォローf
ストリームビュー
| キー | アクション |
|---|---|
| 検索 |
| 次/前の一致へ移動 |
| Tab / Shift‑Tab | ストリーム方向を切り替え |
| ↑/↓ | スクロール |
出力ファイル
ブックマーク/エクスポート時、babyshark は PCAP の隣に隠しディレクトリを書き込みます:
.babyshark/case.json — ブックマーク .babyshark/report.md — 最新レポート(上書き) .babyshark/report-YYYYMMDD-HHMMSS.md — バージョン付きレポート
ロードマップ
- より洗練されたオンボーディングとドキュメント(スクリーンショット/GIF)
キャプチャフィルタのパススルー(ライブモード)--bpf- さらに優れたプロトコルヒント&フロー分類
- TCP 再構築の改善(ギャップ/リトランスミットマーカー)
- Homebrew / Scoop パッケージ
ライセンス
TBD(MIT / Apache‑2.0 などを選択)