Мій виклик
Мені потрібно зробити tcpdumping багато даних - насправді з 2 інтерфейсів, залишених у розбещеному режимі, які здатні бачити багато трафіку.
Підсумувати це
- Введіть увесь трафік у безладному режимі з двох інтерфейсів
- Цим інтерфейсам не призначена IP-адреса
- Файли pcap повинні обертатися на ~ 1G
- Коли буде збережено 10 ТБ файлів, починайте обрізати найдавніші
Що я зараз роблю
Зараз я використовую tcpdump так:
ifconfig ethX promisc
ifconfig ethX promisc
tcpdump -n -C 1000 -z /data/compress.sh -i any -w /data/livedump/capture.pcap $FILTER
$FILTER
Містить SRC / Dst фільтри , так що я можу використовувати -i any
. Причиною цього є те, що у мене є два інтерфейси, і я хотів би запускати дамп в одному потоці, а не в двох.
compress.sh
піклується про присвоєння tar для іншого ядра процесора, стискає дані, надає розумне ім'я файлу та переміщує його до місця архіву.
Я не можу вказати два інтерфейси, тому я вирішив використовувати фільтри та скидати з any
інтерфейсу.
Зараз я не займаюся веденням домашнього господарства, але планую провести моніторинг диска, і коли у мене залишиться 100G, я почну протирати найстаріші файли - це повинно бути добре.
А зараз; моя проблема
Я бачу скинуті пакети. Це з дампа, який працює декілька годин і зібрав приблизно 250 гігів файлів pcap:
430083369 packets captured
430115470 packets received by filter
32057 packets dropped by kernel <-- This is my concern
Як я можу уникнути скидання стільки пакетів?
Ці речі я вже пробував або дивився
Змінили значення /proc/sys/net/core/rmem_max
і /proc/sys/net/core/rmem_default
що насправді допомогло - насправді воно подбало лише про половину скинутих пакетів.
Я також переглянув gulp - проблема з gulp полягає в тому, що він не підтримує декілька інтерфейсів за один процес, і він злиться, якщо в інтерфейсі немає IP-адреси. На жаль, це в моєму випадку є розривом угоди.
Наступна проблема полягає в тому, що коли трафік протікає через трубу, я не можу активувати автоматичне обертання. Отримати один величезний 10 ТБ файл не дуже ефективно, і у мене немає машини з 10 ТБ + ОЗУ, на якій я можу запускати проводку, тому це не вдається.
Чи є у вас якісь пропозиції? Можливо, навіть кращий спосіб зробити мій відвал трафіку взагалі.