Назад | Перейти на главную страницу

Как распечатать детали пакета SSL с помощью tshark?

Собрал краткий обмен между клиентом SSL и сервером (openssl's s_client и s_server, если быть точным), и хотите просмотреть ssl-части файла pcap с помощью tshark. Мне не нужно расшифровывать зашифрованные части, но, по крайней мере, я хотел бы знать значения в незашифрованных полях.

При копировании файла с сервера на рабочий стол я могу открыть файл pcap с помощью Wireshark и увидеть поля по умолчанию:

С другой стороны, tshark -r tls_dump.pcap отображает только часть пакетов TCP. Например, для того же пакета:

4 0.000069237    127.0.0.1 → 127.0.0.1    TCP 373 54312 → 44330 [PSH, ACK] Seq=1 Ack=1 Win=43776 Len=307 ...

Я пробовал собирать пакеты как с tcpdump -U -i lo 'port 44330' -w tls_dump.pcap и с tshark -nn -i lo -s 0 -w tls_dump.pcap port 44330 (так как Вот), но при попытке просмотреть пакеты результаты такие же.

tshark варианты, которые я пробовал:

Как выводить детали пакета SSL из пакета SSL с tshark?

В итоге сработало указание порта с помощью -d tcp.port==44330,ssl, поэтому моя полная команда была:

tshark -r tls_dump.pcap -d tcp.port==44330,ssl

Причина, по которой это было необходимо, была связана с некоторыми различиями в версиях Wireshark. На моем рабочем столе была версия 2.6.0, который смог автоматически определить протокол SSL. На сервере была версия 2.4.6, который не смог обнаружить SSL и потребовал указать номер порта.

Только пакеты SSL могут быть напечатаны с:

tshark -r tls_dump.pcap -d tcp.port==44330,ssl -2R "ssl"

Только пакеты SSL в формате JSON:

tshark -r tls_dump.pcap -d tcp.port==44330,ssl -2R "ssl" -T json