![Как контролировать пропускную способность маршрутизатора Linux по IP-адресу локальной сети](https://rvso.com/image/1316748/%D0%9A%D0%B0%D0%BA%20%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D0%BF%D1%83%D1%81%D0%BA%D0%BD%D1%83%D1%8E%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BD%D0%BE%D1%81%D1%82%D1%8C%20%D0%BC%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B0%20Linux%20%D0%BF%D0%BE%20IP-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D1%83%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9%20%D1%81%D0%B5%D1%82%D0%B8.png)
Есть много способов контролировать трафик на определенном интерфейсе или даже по порту. Но если я на маршрутизаторе и подозреваю, что одна из рабочих станций использует большую пропускную способность, чем другие, как это проверить?
решение1
iftopпокажет потоки TCP/UDP на интерфейсе в реальном времени, что часто бывает достаточно для определения хоста, который потребляет полосу пропускания. Если вы хотите, чтобы что-то записывало это с течением времени, попробуйтедаркстатилипропускная способность.
решение2
iftopможно сделать это и это легко apt-get'ется:
191Mb 381Mb 572Mb 763Mb 954Mb
└────────────┴──────────┴─────────────────────┴───────────┴──────────────────────
box4.local => box-2.local 91.0Mb 27.0Mb 15.1Mb
<= 1.59Mb 761kb 452kb
box4.local => box.local 560b 26.8kb 27.7kb
<= 880b 31.3kb 32.1kb
box4.local => userify.com 0b 11.4kb 8.01kb
<= 1.17kb 2.39kb 1.75kb
box4.local => b.resolvers.Level3.net 0b 58b 168b
<= 0b 83b 288b
box4.local => stackoverflow.com 0b 42b 21b
<= 0b 42b 21b
box4.local => 224.0.0.251 0b 0b 179b
<= 0b 0b 0b
224.0.0.251 => box-2.local 0b 0b 0b
<= 0b 0b 36b
224.0.0.251 => box.local 0b 0b 0b
<= 0b 0b 35b
─────────────────────────────────────────────────────────────────────────────────
TX: cum: 37.9MB peak: 91.0Mb rates: 91.0Mb 27.1Mb 15.2Mb
RX: 1.19MB 1.89Mb 1.59Mb 795kb 486kb
TOTAL: 39.1MB 92.6Mb 92.6Mb 27.9Mb 15.6Mb
загрузка— еще один отличный инструмент для мониторинга пропускной способности в реальном времени, также в репозиториях, но не может сортироваться по определенному IP-адресу назначения:
Device eth0 [10.10.10.5] (1/2):
=====================================================================================
Incoming:
. ...|
# ####|
.. |#| ... #####. .. Curr: 2.07 MBit/s
###.### #### #######|. . ## | Avg: 1.41 MBit/s
########|#########################. ### Min: 1.12 kBit/s
........ ################################### .### Max: 4.49 MBit/s
.##########. |###################################|##### Ttl: 1.94 GByte
Outgoing:
########## ########### ###########################
########## ########### ###########################
##########. ########### .###########################
########### ########### #############################
########### ###########..#############################
############ ##########################################
############ ##########################################
############ ########################################## Curr: 63.88 MBit/s
############ ########################################## Avg: 32.04 MBit/s
############ ########################################## Min: 0.00 Bit/s
############ ########################################## Max: 93.23 MBit/s
############## ########################################## Ttl: 2.49 GByte
Для автоматизированного использования не забывайте о классических sar и netstat на старых *nix и их сочетании с cut, grep и awk.
решение3
Попробуйте использовать что-то вродеWiresharkи фильтрация IP-адресов по IP-адресу рабочей станции. Вы можете увидеть, сколько данных в сети исходит от этой машины. Если она забивает сеть трафиком, вы увидите это в Wireshark.
Wireshark поставляется с инструментами командной строки, если у вас нет X-сервера на вашем маршрутизаторе Linux. Это не самое элегантное решение, но оно запустит его и сообщит вам, сколько именно данных он отправляет.
Счет