Назад | Перейти на главную страницу

Получение статистики UDP-трафика между конкретными хостами в Linux

Мне нужно собрать некоторую сетевую статистику для тестирования моего серверного приложения. Я пробовал много инструментов Linux, но ничего из того, что я нашел, не подходит для моих нужд.

В основном я хочу собрать некоторую статистику UDP (байты / time_interval, packets / time_interval, packets_loss), но только для двух конкретных хостов - например, я хочу получить статистику UDP по трафику, идущему с IP_A: PORT_A на IP_B: PORT_B.

Такие инструменты, как tcpdump / wirehark, могут легко сбрасывать такой трафик, но у меня проблемы с получением статистики, такой как временная скорость (см. Также сведения о пропускной способности), а системная статистика Linux дает мне номер для всего трафика.

Было бы лучше получить текстовый вывод, чтобы его можно было проанализировать и поместить в gnuplot. Мне удалось получить желаемую информацию из iptables, но, проанализировав вывод из

iptables -L -v

кажется довольно сложным.

Кто-нибудь знает, как я могу этого добиться?

заранее спасибо

Используйте собственные правила iptables:

iptables -I INPUT -p udp -s IP_A --sport PORT_A -d IP_B --dport PORT_B
iptables -I OUTPUT -p udp -s IP_B --sport PORT_B -d IP_A --dport PORT_A

А затем опрашивайте его через равные промежутки времени (каждую секунду? 5 секунд?), Отмечая изменения и выполняя соответствующие вычисления.