LV10 Опубликовано: 26 березня, 2012 Опубликовано: 26 березня, 2012 Господа, помогайте. всегда старался юзать freebsd, пришло время глубоко осваивать linux как посмотреть packets per second в Linux, в debian в частности? есть какая-то альтернатива freebsd-шной: netstat -bdhI $iface 1? дабы в реалтайме смотреть kpps + траф в мб/мбитах? ifstat, iptraf, bmon, vnstat все не то trafshow не предлагать спасибо.
N.Leiten Опубліковано: 27 березня, 2012 Опубліковано: 27 березня, 2012 Самописный скрипт для /proc/net/dev Со мной таким в своё время поделились как раз для этих задач. И я его немного подправил под себя, так сказать.
LV10 Опубліковано: 27 березня, 2012 Автор Опубліковано: 27 березня, 2012 Самописный скрипт для /proc/net/dev Со мной таким в своё время поделились как раз для этих задач. И я его немного подправил под себя, так сказать. не поделитесь в свою очередь?
N.Leiten Опубліковано: 27 березня, 2012 Опубліковано: 27 березня, 2012 Обычно ложу в /sbin/show_pps Запуск без аргументов показывает только физические интерфейсы без ppp. Запуск командой 'show_pps all' Выводит статистику по всем интерфейсам. Плюс данного решения - не вызывается libpcap и не тратятся ресурсы на считывание и фильтрование трафика (у iptraf с этим явная проблема - при его включении сразу падает скорость на интерфейсе, который слушаем, плюс неактуальные данные выводятся). #!/usr/bin/perl $num=1; if($ARGV[0] ne ""){ $doiface=$ARGV[0]; }else{ $doiface=""; } while (1){ system("/usr/bin/clear"); open (FILE, "</proc/net/dev"); while (<FILE>) { if($doiface eq ""){ next if (/ppp/); } s/n//; if( /.*:.*/ ){ ($iface,$data)=split(/:/,$_); $iface=~s/s{1,}//g; (@tmp)=split(' ',$data); $traf{$iface}="@tmp[0] @tmp[8] @tmp[1] @tmp[9]"; } } close(FILE); printf "%-8s %12s %12s %12s %10s %10s %10sn", "Iface","In (Kbit/s)","Out (Kbit/s)","Sum (Kbit/s)","In (pps)","Out (pps)","Sum (pps)"; printf "---------------------------------------------------------------------------------n"; foreach $rec (sort keys %traf){ ($b_in,$b_out,$p_in,$p_out)=split(' ',$traf{$rec}); ($old_b_in,$old_b_out,$old_p_in,$old_p_out)=split(' ',$old_traf{$rec}); $c_b_in=sprintf("%.0f",($b_in-$old_b_in)*8/1024/$num); $c_b_out=sprintf("%.0f",($b_out-$old_b_out)*8/1024/$num); $c_p_in=$p_in-$old_p_in; $c_p_out=$p_out-$old_p_out; my $sumk = $c_b_in + $c_b_out; my $sump = $c_p_in + $c_p_out; printf "%-8s %12s %12s %12s %10s %10s %10sn",$rec, $c_b_in, $c_b_out, $sumk, $c_p_in, $c_p_out, $sump; } %old_traf=%traf; print "n"; sleep $num; }
LV10 Опубліковано: 27 березня, 2012 Автор Опубліковано: 27 березня, 2012 man sar sar -n DEV 1 респект! также спасибо за bwg-ng
natiss Опубліковано: 29 березня, 2012 Опубліковано: 29 березня, 2012 также спасибо за bwg-ng Интересная штука. Характерно, что в фре она есть в портах...
salseeg Опубліковано: 31 березня, 2012 Опубліковано: 31 березня, 2012 также спасибо за bwg-ng в репах дебиана увидел только bwm-ng
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас