Меня всегда интересовал захват пакетов в различных сетевых условиях. Хотя Fiddler чаще всего используется для захвата пакетов HTTP или HTTPS, я все еще использую Wireshark для работы. В конце концов, не все взаимодействия с устройствами происходят по протоколу HTTP или HTTPS.
Видеодомофон питается по протоколу POE. Это один провод, и его явно нельзя отрезать посередине для перехвата пакетов...
Просматривая tb, я нашел сетевой монитор. Большинство людей покупают его для IPTV, но он действительно прост в использовании.
Готовое изделие выглядит так. Я купил детали и припаял их паяльником.
Подключите кабель Ethernet, который необходимо обнаружить, к разъемам J1 и J2 устройства Throwing Star LAN Tap, а затем используйте J3 или J4 для обнаружения входящей или исходящей связи в одном направлении.
Wireshark запускается! Затем видеодомофон указывает на машину контроля доступа и, наконец, сохраняет его в файле pcap.
Далее вы можете медленно изучить пакеты данных в этом файле размером 5,3 МБ. Напрямую фильтровать только UDP-пакеты и просматривать их один за другим.
Наконец, пакет нашел следующую читаемую строку в HEX-окне:
â¿¢ 1Pzáu|E=40 qp_min=20 qp_max_step=8 [frm 0] tgt_bit=563200:0:0 qp=26:20:40
После проверки информации это H.264. Дальше будет проще как разобрать H.264.
Щелкните правой кнопкой мыши, декодируйте как, выберите RTP.
И в настройках прописываем номер TYPE в H.264: 98
Затем проследите поток, и вы увидите все связанные пакеты UDP.
Адрес: https://github.com/volvet/h264extractor
После установки плагина попробуйте выполнить экспорт в macOS, и появится ряд всплывающих окон.
Просматривая исходный код, я столкнулся с ошибкой недостаточного разрешения на отправку.
Я могу только попытаться переключиться на платформу Windows, а сам тест можно успешно экспортировать.
Получите файл .264 размером 3,7 МБ, вы можете успешно воспроизвести его с помощью VLC.
Это успешный опыт извлечения файлов H.264, который также можно анализировать с помощью BSAnalyzer, который может анализировать: разрешение 640x480, формат TUY420, уровень 31.