Приветствую,
Есть задача парсить pcap файлы (с помощью питон-библиотеки dpkt), извлечь TLS-сессии и собрать последовательноти типов сообщений. Поскольку имеются разные версии TLS, то последовательности сообщений могут варъироваться.
Очень упрощенный пример:
- TLS сессия как правило начинается с handshake-ов между клиентом и сервером, т.е. первое сообщение с ID=22 - далее сообщение ChangeCipher c ID=20 - клиент и сервер обо всем договорились, началась передача криптованных данных в TLS сообщениях с ID=23
То есть скрипт должен пропарсить весь pcap и построить как бы граф сообщений: 22->20->23
Но в реальности это может быть значительно более длинный граф, в зависимости от приложения, версий TLS и пр.
Изначально коды этих сообщений я предполагал складывать в список (list).
Но поскольку в одном pcap куча сессий _одного_ приложения, то необходимо как-то отличать «граф» сессий друг от друга.
Что можно использовать вместо списка для данной задачи?
Спасибо!