Как отслеживать использование локальной сети? (Также известно как «top for LAN»)

Как отслеживать использование локальной сети? (Также известно как «top for LAN»)

Есть вредоносное приложение, которое съедает ВСЮ мою пропускную способность исходящего трафика (я бразилец, и она составляет всего ~35 кбит/с) примерно 80% времени, когда мой ПК включен.

Мне бы хотелось узнать, есть ли способ отследить это использование и выяснить, какое приложение это делает.

решение1

Как насчетnethogs? По-моему, это гораздо гуманнее. Перечисляет, какие команды/программы используют сеть и какая пропускная способность для каждой из них, в реальном времени.

Установите его в системах Ubuntu/Debian с помощью:

sudo apt-get install nethogs

Запустите его для мониторинга сетевого интерфейса следующим образом:

судо nethogs eth0

альтернативный текст

решение2

iftopэто консольная/оболочковая программа, похожая на top, которая может использовать библиотеку pcap (также используемую tcpdump и wireshark). Она доступна для Ubuntu из Universe.

sudo aptitude install iftop
sudo iftop

При запуске обновления в системе Ubuntu:

альтернативный текст

С помощью netstat вы можете узнать, какой процесс подключен к определенному порту или IP. Для портов хорошей идеей будет поставить префикс в виде двоеточия.

sudo netstat -plantu | grep "some_port_number_or_ip_address"

Например, чтобы посмотреть открытые соединения для ssh:

sudo netstat -plantu | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2376/sshd       
tcp        0      0 10.13.37.122:22         10.13.37.105:59130      ESTABLISHED 4033/sshd: jtimberm
tcp6       0      0 :::22                   :::*                    LISTEN      2376/sshd 

Вы также можете проверить наличие открытых портов с помощью lsof:

sudo lsof -i:22
COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2376       root    3u  IPv4   5613      0t0  TCP *:ssh (LISTEN)
sshd    2376       root    4u  IPv6   5615      0t0  TCP *:ssh (LISTEN)
sshd    4033       root    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)
sshd    4086 jtimberman    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)

Дополнительную информацию об открытых файлах можно получить с помощью lsof с параметром -p PID.

sudo lsof -p 2376

(Большая часть вывода оттуда подавлена)

решение3

ntopваш друг. Пакеты находятся в репозиториях linux и macports.

решение4

По моему мнению, пользовательский интерфейс iftop не очень хорошо продуман. На практике вряд ли когда-либо возникает необходимость в просмотре IP-адресов или имен хостов в реальном времени. Если бы мне нужен был список всех текущих подключений, я бы просто использовал netstat, как объяснил jtimberman.

Для моих целей bmon подходит лучше, чем iftop. У него очень простой пользовательский интерфейс с поддержкой нескольких интерфейсов и отрисовкой "графиков". Вот скриншот:

бмон

Если вам не нужны все функции, предлагаемые bmon,bwm-ngможет быть идеальным инструментом для вас. Он показывает только текущую занятую полосу пропускания для каждого интерфейса — не больше и не меньше:

bwm-ng

Связанный контент