Tcpdump на нескольких интерфейсах

17

Мне нужно захватывать трафик на сервере CentOS 5, который действует как веб-прокси с 2 интерфейсами wan и 1 локальной сетью. Для устранения странной проблемы с прокси я хотел бы получить полный разговор. Поскольку внешние соединения сбалансированы между двумя интерфейсами WAN, мне интересно, возможно ли захватывать одновременно на всех интерфейсах.

Я использовал tcpdump ранее, но он допускает только один интерфейс одновременно. Я могу запустить 3 параллельных процесса для захвата на всех интерфейсах, но затем получаю 3 разных файла захвата.

Как правильно это сделать?

Нахидул Ислам
источник
AdamRushad это правильно. Вы wiresharkтоже можете использовать .
Райан Бабчишин

Ответы:

25

Согласно справочной странице tcpdump:

В системах Linux с ядром 2.2 или более поздней версии интерфейсный аргумент '' any '' может использоваться для захвата пакетов со всех интерфейсов. Обратите внимание, что захват на любом устройстве не будет выполняться в случайном режиме.

Таким образом, вы должны быть в состоянии выполнить: tcpdump -i anyчтобы собрать данные на всех интерфейсах одновременно в один файл захвата.

Адам Рушад
источник
2
это не работает, если я хочу захватить некоторые, но не все интерфейсы
Thayne
9

Я бы подошел к этому, чтобы сбросить на каждом интерфейсе отдельный файл и затем объединить их. Любой интерфейс также включает в себя трафик, который может загрязнять захват.

Это также позволяет анализировать потоки пакетов на интерфейс без сложной фильтрации.

Я бы запечатлел в 3 терминалах или используя команду & &

Флаги -nn отключают разрешение dns для скорости, -s 0 сохраняет полный пакет и -w записывает в файл.

tcpdump -i wan0 -nn -s 0 -w wan0.dump
tcpdump -i wan1 -nn -s 0 -w wan1.dump
tcpdump -i lan0 -nn -s 0 -w lan0.dump

Затем я бы слил файлы командой mergecap из wireshark:

mergecap -w merged.dump wan0.dump wan1.dump lan0.dump
Тим Флетчер
источник
2

Для захвата tcpdump на всех интерфейсах используйте

tcpdump -i any
Виджай С.Б.
источник
2
Это уже было дано 2 года назад в ответе Адама Рушада.
Патрик Мевзек