Вопрос или проблема
Я заметил, что согласно /proc/net/dev я постоянно получаю около 6Kb/s на моем беспроводном USB интерфейсе. Но я не могу объяснить ничем даже близким к этому с индивидуальными соединениями, которые я получаю с помощью iptraf, iftop и nethogs. Исследования с netstat, lsof и tcpdump тоже не помогли.
Так что еще может способствовать значениям из /proc/net/dev? Я могу предположить, что, хотя только IP-ориентированный трафик фиксируется приложениями, которые я упомянул, /proc/net/dev, вероятно, учитывает и другой трафик на канальном/интернет-уровне (arp? icmp? беспроводное управление?). Или, может быть, другие транспортные/приладавые протоколы. Может кто-то это подтвердить?
Как бы вы еще попытались выяснить: через какие сокеты идет 6Kb/s? Какие процессы получают этот трафик?
[ИЗМЕНЕНИЕ]
2 последовательных результата во всех инструментах:
- итоги RX около нескольких Kb/s
- подтверждено с помощью /proc/net/dev, dstat, bmw-ng, cbm, iptraf, ifstat, gnome-system-monitor
- ни одно соединение/поток пакетов не оправдывает это
- подтверждено с помощью netstat, tcpdump, iftop, nethogs, iptraf
Все это с беспроводным USB адаптером Netgear WDNA 4100, использующим индивидуальный драйвер из какого-то git (единственный способ, как я смог его заставить работать). Я спрашивал разработчиков об этом здесь.
Возможно, это вредоносное ПО, но я подозреваю, что драйвер просто сообщает неверные итоги. Тем не менее, я не могу точно объяснить, что происходит.
Когда дело касается приложений, которые используют сеть, лучший инструмент, который я обнаружил для сопоставления использования с конкретными приложениями – это nethogs
.
Вы можете использовать ip link show
или netstat -i
, чтобы узнать названия ваших сетевых интерфейсов.
$ netstat -i
Таблица интерфейсов ядра
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
em1 1500 0 0 0 0 0 0 0 0 BMU
lo 65536 81375 0 0 0 81375 0 0 0 LRU
virbr0 1500 0 0 0 0 0 0 0 0 BMU
wlp3s0 1500 2264942 0 0 0 2376236 0 0 0 BMRU
Мой беспроводной интерфейс на ноутбуке с Fedora 19 – wlp3s0
, поэтому мы сообщаем nethogs
, чтобы отслеживать это:
$ sudo nethogs wlp3s0
Когда вы запускаете nethogs
, он начнет показывать вам приложения, которые потребляют вашу сетевую полосу.
Ответ или решение
Ваш вопрос о трафике, зарегистрированном в /proc/net/dev
, является очень актуальным, особенно в условиях современных сетевых технологий и их управления. Давайте разберемся, какие факторы могут влиять на данные, которые вы наблюдаете, и как можно провести дополнительное расследование.
1. Что может вызывать расхождения в статистике трафика
Действительно, статистика, представленная в /proc/net/dev
, может учитывать не только IP-трафик, который отслеживают такие инструменты, как iftop
, iptraf
или nethogs
, но также включает в себя:
- ARPs (Address Resolution Protocol): Протокол, используемый для сопоставления IP-адресов с MAC-адресами.
- ICMP (Internet Control Message Protocol): Протокол, который используется для отправки служебных сообщений, таких как запросы пинга.
- Различные уровни управления беспроводной сетью: Например, управление соединением, сигнализация и другие вспомогательные функции, которые могут генерировать трафик, не фиксируемый стандартными мониторинговыми инструментами.
- Протоколы передачи данных, такие как UDP, которые могут не всегда проявляться в TCP-соединениях или не отслеживаться полностью.
2. Как диагностировать источники трафика
Если вы видите, что /proc/net/dev
сообщает о постоянной скорости получения трафика около 6 Кб/с, но не можете его отследить, вам стоит выполнить следующие шаги:
-
Примените
nethogs
: Как вы уже упомянули, это отличный инструмент для отслеживания сетевых соединений по процессам. Запустите его с вашим интерфейсом:sudo nethogs wlp3s0
Обратите внимание на приложения, которые используют трафик.
-
Используйте
tcpdump
: Этот инструмент поможет вам просмотреть весь проходящий трафик. Вы можете использовать команду следующего вида:sudo tcpdump -i wlp3s0
Замените
wlp3s0
на название вашего сетевого интерфейса. Вы можете добавлять фильтры, чтобы отслеживать только определённые типы трафика, например, ICMP или ARP. -
Проверьте соединения с помощью
netstat
:netstat -tunp
Это позволит вам увидеть активные соединения и каким процессам они принадлежат.
-
Используйте
iftop
для анализа трафика в реальном времени:sudo iftop -i wlp3s0
Это поможет визуализировать, какой трафик идет и откуда.
-
Разберитесь с драйверами: Так как вы используете драйвер, полученный из сторонних источников, есть вероятность, что он может неправильно отслеживать трафик. Рассмотрите вариант проверки наличия обновлений для драйвера или изучите возможность использования стандартного драйвера для вашей карты.
3. Проверка на наличие вредоносного ПО
Если вы подозреваете, что это может быть заражение, то вам стоит:
- Запустить антивирусное сканирование.
- Проверить список автозагрузки и удалить подозрительные элементы.
- Обновить все ваши приложения и систему.
Заключение
Наблюдаемое вами несоответствие в данных о трафике может быть вызвано множеством факторов, включая протоколы управления сетью и особенностями работы драйвера. Используйте вышеуказанные инструменты для глубокого анализа трафика, чтобы выявить источник этого трафика. Если ситуация не разрешится, возможно, стоит обратиться к сообществу разработчиков вашего драйвера для дальнейших разъяснений.