Цинизмът в ИТ Компресирането на улавянето на трафик от tcpdump води до режим на поточно предаване

FastNetMon

Компресирането на улавянето на трафика на tcpdump води до режим на поточно предаване

Има два подхода към тази задача - използвайте поточно компресиране в един файл или използвайте вградената ротационна функция и завъртете файловете при достигане на определен размер.

Нека започнем с компресирането на поточно предаване: екран tcpdump -i venet0 -n -w - bzip2 -c > /root/tcpdump_23apr.pcap.bz2 ctrl+a d Как да спрете събирането: killall tcpdump НЕ спирайте събирането на данни чрез CTRL+C, това ще разбие архива!

Четем компилирания файл: bzcat /root/tcpdump_23apr.pcap.bz2 tcpdump -n -r - Според мен ротацията с tcpdump е по-предпочитана (ние ротираме веднага щом файлът достигне 100 mb): екран mkdir /root/whole_server_dump tcpdump -i venet0 -n -w /root/ whole_server_dump/pcap_dump -C 100 -z bzip2 В CentOS може да се наложи да посочите флага -z root, така че да няма понижаване, което ще доведе до грешка при запис във файла: tcpdump -i eth0 -n -w /root/whole_server_dump/pcap_dump -C 100 -z bzip2 -Z root В резултат след известно време в текущата папка ще бъдат създадени следните файлове: -rw -r--r-- 1 root root 28M Apr 23 11:31 pcap_dump1.bz2 -rw-r--r-- 1 root root 24M Apr 23 11:32 pcap_dump2.bz2 -rw-r--r-- 1 root root 2 3M Apr 23 11:32 pcap_dump3.bz2 -rw-r--r-- 1 root root 71M Apr 23 11:33 pcap_dump4 -rw-r--r-- 1 root root 39M Apr 23 11:31 pcap_dump.bz2 Можете също да опитате да използвате lzma вместо bzip2, който потенциално може да компресира файлове по-добре, но в моя конкретен случай процесорът не можа да компресира файлове с приемлива скорост.

И така, стандартният bzip2 ми даде точно 4x компресия, нека опитаме да включим най-трудния му режим. vim /usr/bin/bzip2_best #!/bin/bash /bin/bzip2 -9 "$@" chmod +x/usr/bin/bzip2_best След това посочваме този скрипт като аргумент за -z. Но в моя случай това не даде особен смисъл - силата на компресия не се увеличи.