text2pcap не определяет формат ниже - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь преобразовать шестнадцатеричный дамп, полученный от маршрутизатора, в pcap. Мой формат ввода указан ниже

0
   0000:  70E42273 90D2003A 7D36A502 81000183   p."s...:}6......
   0010:  080045C0 003BB1BF 40000106 8FA20A10   ..E..;..@.......
   0020:  91BD0A10 91BEAC03 00B313C4 EE96E803   ................
   0030:  1C875018 3D41832D 0000FFFF FFFFFFFF   ..P.=A.-........
   0040:  FFFFFFFF FFFFFFFF FFFF0013 04         .............

 1
   0000:  003A7D36 A50270E4 227390D2 81000183   .:}6..p."s......
   0010:  08004500 00281097 40000106 319E0A10   ..E..(..@...1...
   0020:  91BE0A10 91BD00B3 AC03E803 1C8713C4   ................  
   0030:  EEA95010 7B534936 0000                ..P.{SI6..

 2
   0000:  003A7D36 A50270E4 227390D2 81000183   .:}6..p."s......
   0010:  08004500 003B1197 40000106 308B0A10   ..E..;..@...0...
   0020:  91BE0A10 91BD00B3 AC03E803 1C8713C4   ................
   0030:  EEA95018 7B534508 0000FFFF FFFFFFFF   ..P.{SE.........
   0040:  FFFFFFFF FFFFFFFF FFFF0013 04         .............

Вышеупомянутый формат не принимается в text2pcap, так как ожидается text2pcap

   0000:  70 E4 22 73 90 D2 00 3A 7D 36 A5 02 81 00 01 83
   0010:  08 00 45 C0 00 3B B1 BF 40 00 01 06 8F A2 0A 10

Есть ли какие-либо инструменты или сценарии для преобразования, доступные для него?

1 Ответ

0 голосов
/ 13 ноября 2019

Существуют ли какие-либо инструменты или сценарии для преобразования, доступные для того же самого?

Как вы знаете, text2pcap в настоящее время не поддерживает этот формат данных;однако я открыл отчет об ошибке Wireshark , так что однажды text2pcap может изначально поддерживать чтение данных в таком формате. Не стесняйтесь следовать Ошибка Wireshark 16193 - текст2pcap может быть улучшен, чтобы принимать ввод в других форматах для любых обновлений этого запроса расширения.

Тем временем вам придется либо написать свой собственныйСценарий / команда (и), найдите кого-нибудь, кто напишет один для вас, или используйте / измените существующий сценарий / команду, чтобы преобразовать данные в формат, читаемый с помощью text2pcap . Чтобы помочь вам начать работу, я предоставляю вам один метод, который, кажется, работает в моем тестировании. Предполагая, что ваши выходные данные сохранены в файле dump.in, вы можете выполнить следующее:

cat dump.in | sed 's/\([0-9A-F]\{2\}\)/\1 /g' | sed 's/\([0-9A-F]\{2\}\) \([0-9A-F]\{2\}\) :  /\1\2  /g' > dump.out

Оба cat и sed должны быть доступнына большинстве платформ. Я действительно выполнил эту команду в Windows 10 под Cygwin .

ПРИМЕЧАНИЕ : я не sed эксперт, но почти наверняка sed эксперты, которые могут выяснить, как заставить это работать за 1 проход;Я не мог за то время, которое я был готов потратить на это.

Используя предоставленную команду, я смог преобразовать данные в формат, который text2pcap мог прочитать и затем запустить text2pcap -a dump.out dump.pcap для создания правильного файла pcap. Выполнение tshark -r dump.pcap создает следующий вывод:

1  387 2019-11-12 21:49:23.000000   0.000000 0.000000 10.16.145.189 → 10.16.145.190 BGP 77 KEEPALIVE Message
2  387 2019-11-12 21:49:23.000001   0.000001 0.000001 10.16.145.190 → 10.16.145.189 TCP 58 bgp(179) → 44035 [ACK] Seq=1 Ack=20 Win=31571 Len=0
3  387 2019-11-12 21:49:23.000002   0.000002 0.000001 10.16.145.190 → 10.16.145.189 BGP 77 KEEPALIVE Message

Я предполагаю, что это правильный и ожидаемый вывод.

См. Также: Как преобразовать шестнадцатеричный дамп из 4 групп шестнадцатеричных цифр в2 группы шестнадцатеричных цифр

...