Hotwire - это приложение GTK GUI, которое использует инфраструктуру Wireshark и Tshark для захвата трафика и изучения содержимого файлов TCPDUMP, но отображает данные более сфокусированным образом, чем Wireshark. Hotwire поддерживает только несколько протоколов (в настоящее время PostgreSQL, HTTP и HTTP2), но для этих протоколов он предлагает высокий уровень, четкий отображение сетевого трафика, адаптированное для каждого конкретного протокола. Hotwire может открывать файлы TCPDUMP или записывать трафик через файл FIFO, поэтому, не требуя повышенных привилегий.
Основной вид делится на четыре панели; слева направо и сверху вниз:
В настоящее время Hotwire Supports:
Обратите внимание, что для 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 и послушает содержимое PCAP на этом FIFO. Обратите внимание, что это не будет работать на Windows. Затем можно вызвать tcpdump
для записи данных PCAP в FIFO, и Hotwire будет снимать и отображать данные в режиме реального времени. Таким образом, Hotwire может отображать живой трафик без повышенных привилегий.
Когда Hotwire запускается как приложение Native Linux, он может вызвать pkexec
для запуска tcpdump
с повышенными привилегиями, и все работает прозрачно для пользователя. Например, когда он работает как Flatpak или под OSX, Hotwire предоставляет пользователю командную линию tcpdump
-линии для работы с sudo
.
Рекомендуемый способ установить приложение на Linux с Flatpak. Для других платформ вам придется построить из источника - использование инструментов Rust. Hotwire
требует, чтобы tshark
был установлен и на пути к правильной работе, и tcpdump
для записи трафика, а также на не-Flatpak Linux pkexec
для простой записи.
Чтобы построить из источника: установите ржавчину и груз, затем запустите cargo run --release
. Бинарник в target/release/hotwire
можно скопировать в любом месте, так как он встраивает значки и другие зависимости (но не общие библиотеки, такие как GTK). На OSX вам понадобятся GTK+3 и Adwaita-Icon-Theme от Homebrew.