Hotwire是GTK GUI应用程序,它利用Wireshark和Tshark基础架构捕获流量并探索TCPDUMP文件的内容,但比WirShark更为集中地显示数据。 Hotwire仅支持一些协议(当前PostgreSQL,HTTP和HTTP2),但是对于这些协议,它提供了针对每个特定协议量身定制的高级,清晰的网络流量显示。 Hotwire可以打开TCPDUMP文件或通过FIFO文件记录流量,因此无需提高特权。
主视图分为四个窗格;从左至右到底部:
目前Hotwire支持:
请注意,对于PGSQL,您通常可以看到“未知语句”。这可能会在准备好的语句中发生,在该语句中声明一次,然后重复使用。如果声明未在录音中捕获,那么Hotwire将无法恢复它,并且必须显示“未知的声明”。它仍然可以恢复结果行和参数(虽然没有类型或列名称)。
如果您有加密密钥,则可以在Hotwire中查看加密流量,与Wireshark和Tshark相同。您可以从服务器软件(例如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
,并且一切都可以透明地供用户使用。例如,当它以FLATPAK或OSX下方运行时,Hotwire会给用户使用sudo
运行的tcpdump
命令行。
在Linux上安装应用程序的推荐方法是使用Flatpak。对于其他平台,您必须使用Rust工具链从源构建。 Hotwire
需要安装tshark
,并在正确操作的路径中,并需要tcpdump
来记录流量,并在非Flatpak Linux pkexec
上进行简单录制。
从来源构建:安装Rust和Cargo,然后运行cargo run --release
。 target/release/hotwire
中的二进制文件可以在任何地方复制,因为它嵌入了图标和其他依赖项(但不再像GTK这样的共享库)。在OSX上,您需要Homebrew的GTK+3和Adwaita-Icon-Theme。