HotWireは、WiresharkおよびTSharkインフラストラクチャを活用してトラフィックをキャプチャし、TCPDUMPファイルの内容を調査するGTK GUIアプリケーションですが、Wiresharkよりも焦点を絞った方法でデータを表示します。 HotWireはいくつかのプロトコル(現在はPostgreSQL、HTTP、およびHTTP2)のみをサポートしていますが、これらのプロトコルでは、特定のプロトコルごとに調整されたネットワークトラフィックの高レベルで明確な表示を提供します。 HotWireは、FIFOファイルを介してTCPDUMPファイルを開いたり、トラフィックを記録したりすることができます。
メインビューは4つのペインに分かれています。左から右、上へ:
現在、HotWireはサポートしています:
PGSQLの場合、「未知のステートメント」がよく表示されることに注意してください。これは、声明が一度宣言されてから再利用される準備されたステートメントで発生する可能性があります。宣言が録音に巻き込まれていない場合、Hotwireにはそれを回復する方法がなく、「不明な声明」を示さなければなりません。結果行とパラメーターを回復することができます(ただし、タイプまたは列名なし)。
暗号化キーがある場合は、WiresharkやTsharkと同じように、Hotwireで暗号化されたトラフィックを表示することができます。サーバーソフトウェア(Apache Tomcatなど)またはクライアントソフトウェア(Firefox、Chrome)から暗号化キーを回復できます。 ChromeまたはFirefoxからキーを回復するには、次のように起動します。
SSLKEYLOGFILE=browser_keylog.txt firefox
(またはGoogle-Chromeと同じ)Wireshark Wikiで詳細をご覧ください。
HotWireは、キーログファイルを個別に開くことを許可していません。代わりに、 editcap
使用してPCAPファイルの秘密をマージし、結合されたファイルをHotWireで開きます。
editcap --inject-secrets tls,/path/to/keylog.txt ~/testtls.pcap ~/outtls.pcapng
また、Hotwireでライブネットワークトラフィックを記録および観察することもできます。そのために、HotWireはFIFOを開き、そのFIFOでPCAPコンテンツを聴きます。これはWindowsで動作しないことに注意してください。その後、 tcpdump
呼び出してPCAPデータをFIFOに書き込むことができ、HotWireはデータをリアルタイムでキャプチャして表示します。そうすれば、Hotwireは、特権を高めることなくライブトラフィックを表示できます。
HotWireがLinuxネイティブアプリとして実行されると、 pkexec
呼び出して、特権を高めてtcpdump
を起動し、すべてがユーザーに透過的に機能します。たとえば、フラットパックまたはOSXの下で実行されると、HotWireはユーザーにtcpdump
コマンドラインを提供してsudo
で実行します。
Linuxにアプリケーションをインストールする推奨方法は、Flatpakを使用しています。他のプラットフォームの場合、Rust Toolchainを使用してソースから構築する必要があります。 Hotwire
tshark
正しく動作させるためのパスにインストールし、トラフィックを記録するためにtcpdump
pkexec
とします。
ソースから構築するには:Rustと貨物をインストールしてから、 cargo run --release
。 target/release/hotwire
のバイナリは、アイコンやその他の依存関係を埋め込んでいるため、どこにでもコピーできます(ただし、GTKのような共有ライブラリではありません)。 OSXでは、HomebrewのGTK+3とAdwaita-Icon-Themeが必要です。