Sniff SSL рукопожатие с использованием tshark
Как получить дамп рукопожатия SSL в удобочитаемом формате, используя tshark? Мне нужно предоставить это поставщику для отладки сбойной проблемы рукопожатия SSL.
Это должно быть сделано в tshark, а не в wireshark, как это делается на удаленном сервере без графического интерфейса.
2 ответа
Как это.
tshark -nn -i <interface> -s 0 -w mycapture.pcap <hostname> and port <portnumber>
замещать <interface>
с именем интерфейса для захвата (например, eth0
). замещать <hostname>
с именем или IP-адресом удаленного хоста, для которого вы хотите захватывать пакеты. замещать <portnumber>
с портом, на котором запущена служба (возможно 443
).
Вы также можете использовать tcpdump
вместо. И Wireshark и tcpdump
используйте для захвата libpcap, так что вы получите точно такую же информацию. Вы также можете скопировать полученный файл и открыть его в Wireshark на другом компьютере.
Флаги командной строки для tcpdump
а также tshark
достаточно близки, чтобы в большинстве случаев их можно было использовать взаимозаменяемо.
Предполагая, что вы уже знаете, как использовать фильтры с tshark, просто укажите следующий фильтр отображения:
ssl.handshake.type == 1
Если вы хотите весь трафик ssl, просто ssl
в качестве фильтра.
Вы не можете использовать их непосредственно в фильтрах захвата, поскольку механизм фильтрации захвата не знает, является ли полезная нагрузка ssl или нет.
В качестве альтернативы, если вы знаете, через какой порт проходит трафик ssl, вы можете использовать фильтр захвата для этого порта, например, если трафик ssl идет через порт 443, используйте фильтр. port 443
Для получения дополнительной информации обратитесь к:
Пример команды для вас, чтобы захватить трафик ssl в удобочитаемом формате и поместить его в файл:
tshark -i <interface> -c <no. of packets to capture> -V -R "ssl" > capturefile.txt
Или используя фильтры захвата
tshark -i <interface> -c <no. of packets to capture> -V -f "port 443" > capturefile.txt
Также обратитесь к man-странице tshark для более подробной информации.