# macOS版の制約

##### 管理者権限が必須

パケットキャプチャは<span class="s1"> /dev/bpf\* </span>デバイスへのアクセスが必要で通常ユーザーからはアクセス出来ません。  
起動時に管理者権限を付与する必要が有ります。

##### 追加ドライバは不要

Windows<span class="s1">版では</span>Npcap<span class="s1">が必要になりますが、</span>macOS<span class="s1">版は</span>libpcap / BPF<span class="s1">が</span>OS<span class="s1">標準なので不必要です。</span>

##### <span class="s1">プロセス識別(v1.5)のmacOS固有の限界</span>

実装方式<span class="s1">:  
</span><span class="Apple-converted-space"> </span>- Apple <span class="s2">の</span> libproc(<span class="s2">非公開・変更されうる</span> API)<span class="s2">でポートとプロセスを照合  
</span><span class="s1"><span class="Apple-converted-space"> </span>- </span>スナップショット方式<span class="s1">(</span>その瞬間のシステム状態を読む<span class="s1">)</span>

結果、次の様な状態が発生するとパケットを取りこぼしやすいです。  
<span class="s1"><span class="Apple-converted-space"> </span>- </span>短命な接続<span class="s1">(</span>一瞬で終わる通信<span class="s1">)  
</span><span class="s1"><span class="Apple-converted-space"> </span>- </span>権限の高いシステムプロセス<span class="s1">(</span>ユーザースペースから見えない<span class="s1">)  
</span><span class="s1"><span class="Apple-converted-space"> </span>- </span>複数プロセスが同じソケットを共有している場合  
<span class="s1"><span class="Apple-converted-space"> </span>(</span>最初に見つかったプロセスだけ表示<span class="s1">)</span>

<span class="s1">macOS </span>独自よりの正確な実装は実施されていないです。  
<span class="s1"><span class="Apple-converted-space"> </span>- pktap: </span>パケットにプロセス名・<span class="s1">PID </span>を付与できる疑似インターフェース  
<span class="Apple-converted-space"> </span>(tcpdump -i pktap <span class="s2">など</span>)<span class="s2">。</span>Sniffnet <span class="s2">は標準</span> libpcap <span class="s2">経由のため未使用。  
</span><span class="Apple-converted-space"> </span>- Network Extension / <span class="s2">カーネルフックは</span> Apple <span class="s2">の</span> entitlement <span class="s2">が必要。  
</span><span class="s1"><span class="Apple-converted-space"> </span>Sniffnet </span>は「軽量・非侵襲」を優先して採用していない。

##### VPN / トンネルインターフェースの制約

macOS + libpcap <span class="s1">全般の制約から来ています。</span>

<span class="s2"><span class="Apple-converted-space"> </span>- utun0 </span>など<span class="s2"> VPN </span>用インターフェースで復号後のトラフィックが見えないことがある  
<span class="s2"><span class="Apple-converted-space"> </span>- </span>トラフィックが別経路<span class="s2">(</span>物理<span class="s2"> NIC </span>上の<span class="s2"> ESP </span>など<span class="s2">)</span>でしか見えない場合がある  
<span class="s2"><span class="Apple-converted-space"> </span>- Cisco VPN </span>など一部構成ではキャプチャ自体が不可能と報告されている

VPN <span class="s1">越しの通信を追いたい場合、物理</span> NIC(Wi-Fi / Ethernet)<span class="s1">側を選ぶ必要が多い。</span>

##### グラフィック・<span class="s1">UI </span>の既知問題

<span class="s1">iced </span>のデフォルトレンダラ<span class="s1">(wgpu / Metal)</span>が環境によって不安定なことがあるようです。

<table border="1" id="bkmrk-" style="border-collapse: collapse; width: 76.5476%; height: 119.188px;"><colgroup><col style="width: 28.6936%;"></col><col style="width: 71.3064%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">症状

</td><td style="height: 29.7969px;">対処

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;"><span class="s1">起動直後に</span> panic

</td><td style="height: 29.7969px;">ICED\_BACKEND=tiny-skia で CPU レンダラに切替</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">国旗が黒い四角

</td><td style="height: 29.7969px;">同上

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">画面のちらつき・異常

</td><td style="height: 29.7969px;">同上

</td></tr></tbody></table>

コマンド例<span class="s1">: (未確認)</span>

<span class="Apple-converted-space"> </span>ICED\_BACKEND=tiny-skia /Applications/Sniffnet.app/Contents/MacOS/sniffnet  
<span class="Apple-converted-space"> </span>ICED\_BACKEND=tiny-skia sudo sniffnet

<span class="Apple-converted-space"> </span>Apple Silicon(M1 <span class="s2">以降</span>)<span class="s2">向けと</span> Intel <span class="s2">向けで別</span> DMG <span class="s2">が配布されている。  
</span><span class="s1"><span class="Apple-converted-space"> </span></span>アーキテクチャに合ったビルドを使うこと。

##### ファイルダイアログのクラッシュ(一部の新しい Mac)

<span class="s1"> 2025</span>年時点で、<span class="s1">M4 Mac </span>など一部環境でファイル選択ダイアログがクラッシュするようです。  
(未確認です)

<span class="s2">既知バグあります</span>(GitHub Issue #878<span class="s2">、未解決</span>)<span class="s2">。</span>

影響する操作<span class="s1">:  
</span><span class="s1"><span class="Apple-converted-space"> </span>- PCAP </span>のインポート<span class="s1"> / </span>エクスポート先の選択  
<span class="s1"><span class="Apple-converted-space"> </span>- </span>カスタムテーマの読み込み  
<span class="s1"><span class="Apple-converted-space"> </span>- IP </span>ブラックリストのインポート

<span class="s1"><span class="Apple-converted-space"> </span></span>ターミナル起動時のエラー例<span class="s1">:</span>

<span class="Apple-converted-space"> </span>unexpected NULL returned from +\[NSOpenPanel openPanel\]

##### 初回起動・Gatekeeper

AppStore以外からのアプリなので、初回起動時にユーザーの認証が必要になります。

##### macOS 固有のキーボードショートカット

macOS <span class="s1">では</span> Ctrl <span class="s1">の代わりに</span> Cmd <span class="s1">を使用</span>:  
<span class="Apple-converted-space"> </span>Cmd+Q<span class="Apple-converted-space"> </span>: <span class="s1">アプリ終了  
</span><span class="Apple-converted-space"> </span>Cmd+,<span class="Apple-converted-space"> </span>: <span class="s1">設定を開く  
</span><span class="s2"><span class="Apple-converted-space"> </span>(</span>その他ショートカットも同様<span class="s2">)</span>