Как посмотреть нагрузку сети по IP адресу | FreeBSD, Linux

Есть тривиальная задача – отследить на шлюзе какой хост потребляет максимальную полосу пропускания. К примеру, если трафик мы не шейпим, но периодически ощущаем, что кто-то, к примеру, запустил торрент клиент и нагружает канал.

Есть пара очень полезных утилит – nettop и jnettop. Первая просто показывает общую загружнность канала, какие порты сервисы занимают наибольшую полосу. Вторая показывает загрузку канала по соединениям – порт, ip адреса, скорость входящего и исходящего соединения и т.д. Обе есть в портах, обе просто ставятся. Запускаем и следим за наиболее прожорливыми соединениями.

Есть ещё пара утилит с псевдографикой – slurm и nload.

Быстро порезать особо активных можно парой правил в ipfw:

${fwcmd} pipe 5 config bw 2Mbit/s mask dst-ip 0xffffffff
${fwcmd} add pipe 5 ip from 172.16.5.213 to any