wireshark: только захват уровня данных - PullRequest
2 голосов
/ 12 февраля 2009

Есть ли способ захвата только слоя данных и игнорирования верхних уровней в wireshark? Если нет, то есть ли другая утилита дампа пакетов, которая может сделать это? ВЫГОДНО 1 файл на пакет!

Что я ищу: Утилита, которая создает дамп только слоя данных (полезной нагрузки) в файл.

Это связано с программированием ...! Что я действительно хочу сделать, это сравнить все дейтаграммы, чтобы начать понимать кодировку / протокол сторонних производителей. В идеале, и что было бы замечательно, это утилита сравнения в шестнадцатеричном формате, которая сравнивает несколько файлов!

Ответы [ 3 ]

5 голосов
/ 12 февраля 2009

Вы должны попробовать щелкнуть правой кнопкой мыши по пакету и выбрать «Follow TCP Stream». Затем вы можете сохранить связь TCP в необработанном файле для дальнейшей обработки. Таким образом, вы не получите весь ненужный протокольный протокол TCP / IP.

0 голосов
/ 15 января 2016

Используя tshark Я смог печатать только данные, расшифровав как telnet и напечатав поле telnet.data

tshark -r file.pcap -d tcp.port==80,telnet -T fields -e telnet.data



GET /test.js HTTP/1.1\x0d\x0a,User-Agent: curl/7.35.0\x0d\x0a,Host: 127.0.0.1\x0d\x0a,Accept: */*\x0d\x0a,\x0d\x0a

HTTP/1.1 404 Not Found\x0d\x0a,Server: nginx/1.4.6 (Ubuntu)\x0d\x0a,Date: Fri, 15 Jan 2016 11:32:58 GMT\x0d\x0a,Content-Type: text/html\x0d\x0a,Content-Length: 177\x0d\x0a,Connection: keep-alive\x0d\x0a,\x0d\x0a,<html>\x0d\x0a,<head><title>404 Not Found</title></head>\x0d\x0a,<body bgcolor=\"white\">\x0d\x0a,<center><h1>404 Not Found</h1></center>\x0d\x0a,<hr><center>nginx/1.4.6 (Ubuntu)</center>\x0d\x0a,</body>\x0d\x0a,</html>\x0d\x0a

Не идеально, но этого было достаточно для того, что мне было нужно, надеюсь, кому-нибудь это поможет.

0 голосов
/ 12 февраля 2009

В Wireshark есть функция ограничения размера захвата, но кажется, что 68 байтов - это наименьшее значение. Существуют варианты запуска новых файлов после определенного количества килограммов, мегабайт, гигабайт, но опять-таки наименьший размер составляет 1 килобайт, поэтому, вероятно, бесполезно.

Я бы предложил посмотреть библиотеку pcap и свернуть свою собственную. Я делал это в прошлом, используя библиотеку PERL Net :: Pcap, но это легко сделать и на других языках.

Если у вас есть Unix / Linux, вы также можете заглянуть в tcpdump. Вы можете ограничить количество данных, записываемых с -s. Например, «-s 14» обычно дает вам заголовок Ethernet, который, как я полагаю, означает то, что вы подразумеваете под уровнем канала данных. Существуют также параметры для управления частотой создания файлов путем указания размера файла с помощью -C. Теоретически, если вы установите размер файла равным размеру записи, вы получите один файл на пакет.

...