macOS版の制約
管理者権限が必須
パケットキャプチャは /dev/bpf* デバイスへのアクセスが必要で通常ユーザーからはアクセス出来ません。
起動時に管理者権限を付与する必要が有ります。
追加ドライバは不要
Windows版ではNpcapが必要になりますが、macOS版はlibpcap / BPFがOS標準なので不必要です。
プロセス識別(v1.5)のmacOS固有の限界
実装方式:
- Apple の libproc(非公開・変更されうる API)でポートとプロセスを照合
- スナップショット方式(その瞬間のシステム状態を読む)
結果、次の様な状態が発生するとパケットを取りこぼしやすいです。
- 短命な接続(一瞬で終わる通信)
- 権限の高いシステムプロセス(ユーザースペースから見えない)
- 複数プロセスが同じソケットを共有している場合
(最初に見つかったプロセスだけ表示)
macOS 独自よりの正確な実装は実施されていないです。
- pktap: パケットにプロセス名・PID を付与できる疑似インターフェース
(tcpdump -i pktap など)。Sniffnet は標準 libpcap 経由のため未使用。
- Network Extension / カーネルフックは Apple の entitlement が必要。
Sniffnet は「軽量・非侵襲」を優先して採用していない。
VPN / トンネルインターフェースの制約
macOS + libpcap 全般の制約から来ています。
- utun0 など VPN 用インターフェースで復号後のトラフィックが見えないことがある
- トラフィックが別経路(物理 NIC 上の ESP など)でしか見えない場合がある
- Cisco VPN など一部構成ではキャプチャ自体が不可能と報告されている
VPN 越しの通信を追いたい場合、物理 NIC(Wi-Fi / Ethernet)側を選ぶ必要が多い。
グラフィック・UI の既知問題
iced のデフォルトレンダラ(wgpu / Metal)が環境によって不安定なことがあるようです。
|
症状 |
対処 |
|
起動直後に panic |
ICED_BACKEND=tiny-skia で CPU レンダラに切替 |
|
国旗が黒い四角 |
同上 |
|
画面のちらつき・異常 |
同上 |
コマンド例: (未確認)
ICED_BACKEND=tiny-skia /Applications/Sniffnet.app/Contents/MacOS/sniffnet
ICED_BACKEND=tiny-skia sudo sniffnet
Apple Silicon(M1 以降)向けと Intel 向けで別 DMG が配布されている。
アーキテクチャに合ったビルドを使うこと。
ファイルダイアログのクラッシュ(一部の新しい Mac)
2025年時点で、M4 Mac など一部環境でファイル選択ダイアログがクラッシュするようです。
(未確認です)
既知バグあります(GitHub Issue #878、未解決)。
影響する操作:
- PCAP のインポート / エクスポート先の選択
- カスタムテーマの読み込み
- IP ブラックリストのインポート
ターミナル起動時のエラー例:
unexpected NULL returned from +[NSOpenPanel openPanel]
初回起動・Gatekeeper
AppStore以外からのアプリなので、初回起動時にユーザーの認証が必要になります。
macOS 固有のキーボードショートカット
macOS では Ctrl の代わりに Cmd を使用:
Cmd+Q : アプリ終了
Cmd+, : 設定を開く
(その他ショートカットも同様)