Нужны ли вам сертификаты в определенном формате (PEM / DER / ...)?
ssldump может показать проанализированные сертификаты ASN.1 с параметром -N и прочитать файл pcap как ввод с -r. Следующая команда может показать вам сертификаты в удобочитаемой форме.
ssldump -Nr file.pcap | awk 'BEGIN {c=0;} { if ($0 ~ /^[ ]+Certificate$/) {c=1; print "========================================";} if ($0 !~ /^ +/ ) {c=0;} if (c==1) print $0; }'
Сценарий awk не самый чистый, но выполняет свою работу (улучшения более чем приветствуются).
Параметр -x в ssldump покажет вам фактическая полезная нагрузка пакета (packet_data). Это будет включать в себя поля уровня записи и протокола рукопожатия (т.е. не только сертификат). Более интеллектуальный сценарий / код мог бы извлечь его оттуда и преобразовать в более распространенный формат.
Живые соединения обычно зашифровываются с помощью сеансового ключа, который устанавливается в начале сеанса. Вы не можете отследить их, даже если у вас есть все ключи, если у вас нет дампа рукопожатия этого сеанса.
Но вы можете видеть, какие хосты и порты обмениваются данными. Серверные SSL-сертификаты обычно привязаны к порту и хосту, поэтому вы можете легко проверить SSL-сертификат сервера с помощью
openssl s_client -connect example.com:443
, где example.com
- это сервер, а 443
- это порт, к которому ваш клиент подключается .
Самый простой способ извлечь сертификаты X.509 из файла PCAP с трафиком SSL (например, HTTPS) - это загрузить PCAP в бесплатное программное обеспечение с открытым исходным кодом NetworkMiner. Вы найдете извлеченный сертификат на вкладке «Файлы» в NetworkMiner.
NetworkMiner автоматически извлекает сертификаты X.509 на диск из сеансов SSL / TLS, идущих на любой из следующих портов TCP: 443, 465, 563, 992, 993, 994, 995, 989, 990, 5223, 8170, 8443, 9001 и 9030.
Вы можете скачать NetworkMiner здесь: http://sourceforge.net/projects/networkminer/
Также см. Это руководство, чтобы узнать, как установить и запустить NetworkMiner в Linux: http://www.netresec.com/?page=Blog&month=2014-02&post=HowTo-install-NetworkMiner-in-Ubuntu-Fedora-and-Arch-Linux