Полез я в интернет, и заметил что очень медленно грузятся сайты. Хм-м-м-м, подумал я, что то тут не то. И полез смотреть нагрузку интерфейсов программой nload.
О БОЖЕ! Что я увидел: какая то какашка качает в полный рост, но кто именно, я понять не могу.
Оки доки, подумал я, и набросал вот такой скрипт, что бы быстро можно было посмотреть кто жрет трафик linux
Сохраняем исходник who_eat_trap.pl в корне /root и запускаем так: tcpdump -nn -i eth0 port not 22| /root/who_eat_traff.pl
#!/usr/bin/perl $counter =0; while (<STDIN>){ $line = $_; if ($line =~ /.+ IP (\d+.\d+.\d+.\d+).\d+ > (192.168.\d+.\d+).\d+:.+/) .... { #print "$1 > $2\n"; $ips{$2} ++; $counter ++; } .... .... if ($counter > 500){ foreach $a (keys %ips) { print "$a = $ips{$a}\n"; <------>} $counter=0; print "\n\n\n"; } }#end while
Вуаля. теперь вы можете наблюдать статистику расхода интернета по айпишникам в реалтайме.
в строке "if ($counter > 500)" 500 - Это количество пакетов, через которые выводить статистику.
статистика будет в виде:
192.168.0.143 = 205
192.168.0.120 = 40
192.168.0.172 = 5663
192.168.0.107 = 132
192.168.0.181 = 44
192.168.1.2 = 2
192.168.0.101 = 496
где цифра после знака равно, количество пакетов отправленных ЭТОМУ (ДЛЯ ЭТОГО) айпи, то есть, это сколько пакетов скачал злобный юзер из инета.