2

Я использую сторонний инструмент, который захватывает сетевой трафик в виде файла pcap во время сетевого теста. Когда я пытаюсь воспроизвести эти файлы, я использую инструмент tcpdump с -Aq -r и передаю вывод в grep. Размер некоторых снимков составляет 600 КБ, что не кажется огромным, но их чтение все еще занимает относительно много времени.

tcpdump читает файл pcap в реальном времени и, если да, как я могу ускорить его?

Вот что делают выбранные мной опции tcpdump :

  • -A печатает пакеты (без заголовка) в ASCII, так что это удобно и удобно для человека.
  • -q печатает меньше информации для более быстрого вывода.
  • -r <FILE> читает в указанном файле pcap.

Это пример действительной команды, которую я выполнил, когда для печати шестнадцати строк потребовалось сорок пять секунд, когда я ожидал, что время выполнения будет почти мгновенным, или максимум несколько секунд:

$ tcpdump -Aq -r z2121ecbc0186d9fa07b.pcap | grep POST

Учитывая, что продолжительность захвата составляет менее минуты, я начинаю думать, что tcpdump -r заставляет захват воспроизводиться в реальном времени, но я не могу найти что-либо на странице руководства или в Интернете, чтобы подтвердить это, и, конечно, ничего, что говорит мне, есть ли способ отключить воспроизведение в реальном времени.

1 ответ1

6

Используйте -n для подавления поиска DNS.

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

Там нет воспроизведения в режиме реального времени и нет причин для этого. При использовании с файлом tcpdump просто преобразует файл в читаемый вывод.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .