Разбор SSL-трафика в файле .pcap с использованием Python

У меня есть куча дампов tcp, содержащих SSL-трафик. Мне также предоставляется закрытый ключ RSA для его расшифровки.

Есть несколько причин, по которым открывать их в Wireshark на самом деле не вариант, поэтому моя цель — собрать некоторую статистику по ним с помощью Python. До сих пор я использовал Scapy и dpkt для статистики такого типа.

Как проанализировать захват пакета, содержащий SSL-трафик, с помощью Python?


person WhatIsName    schedule 28.05.2014    source источник


Ответы (1)


Я работаю над слоями SSL/TLS для scapy. Помимо предоставления интерфейсов для сообщений TLSMessages (записей, рукопожатий и т. д.), библиотека также поставляется с SSLSessionContext, который при условии, что вы указали закрытый ключ RSA, дает вам интерфейс к ключевому материалу и служебным функциям для расшифровки TLSCiphertext для вас. Просто введите пакеты SSL-рукопожатия, прочитанные из pcap.

На данный момент это прекрасно работает для RSA_with_AES-128-SHA. Поддержка потоковых шифров, больше алгоритмов hmac/hash и block_ciphers — как требуется в rfc для tls1_0 — будет постепенно добавляться как часть некоторого рефакторинга кода.

Ознакомьтесь с документацией для получения более подробной информации и примера реализации для сниффера, который расшифровывает TLSCiphertexts с закрытым ключом и RSA_with_AES-128-SHA.

person tintin    schedule 08.01.2015