#wireshark #pcap
#wireshark #pcap
Вопрос:
У меня есть несколько захватов пакетов в формате pcap. Каждый пакет содержит сообщение, для которого у меня есть разделитель, однако к каждому пакету добавляется 4 байта. Это означает, что диссектор не поймет формат.
Могу ли я каким-либо образом изменить эти захваты таким образом, чтобы они выходили с другого конца с удаленными этими 4 байтами?
Комментарии:
1. Почему вы не хотите обрабатывать эти четыре байта? Являются ли они частью более высокого уровня? Если они являются частью вашего протокола, вы должны обработать их, даже если они являются просто дополнением.
2. по сути, это заголовок, который не является частью фактического протокола, в основном некоторые пакеты идут A-> B-> C, где B добавляет эти 4 байта и соединяет A и C (которые не могут разговаривать друг с другом). Разделитель — это не мой код, но у него открытый исходный код. В принципе, я ищу быстрый способ сделать это, не вникая в код диссектора.
Ответ №1:
Вам нужно будет отредактировать хотя бы один разделитель, чтобы сделать то, что вы хотите. Лучшее, что можно сделать, это написать разделитель, который будет обрабатывать заголовок, вставленный вашим протоколом B, для которого необходимо будет зарегистрировать разделитель протокола C. Это дает вам дополнительное преимущество в виде возможности просматривать информацию в заголовке протокола B и фильтровать по его полям.
Однако, если вы действительно не хотите этого делать, вы могли бы изменить либо протокол A, либо разделитель протокола C, чтобы игнорировать эти четыре байта: в A вы бы не включали эти байты в tvb
, переданные C; или в C вы бы пропустили первые четыре байта в tvb
.
Ответ №2:
editcap.exe -L -C <num> <infile> <outfile>
Google: «man edicap»