Как вы можете контролировать общее использование интернет-данных при перезагрузке?


56

Некоторые провайдеры широкополосного доступа устанавливают месячный лимит загрузки, взимая дополнительную плату, если вы перешли. Также довольно легко преодолеть некоторые из нижних пределов просто установкой / обновлением пакетов и «обычным» просмотром (который для меня включает потоковую передачу телевизионных программ и фильмов).

Это означает, что вам нужно ограничить сумму, которую вы используете в интернете, но трудно сказать, когда.

Системный монитор немного помогает в этом, предоставляя общее количество полученных / отправленных сообщений в сетевом разделе на вкладке Ресурсы. Тем не менее, это сбрасывается при каждой перезагрузке. Было бы хорошо, если бы был способ получить ежемесячное общее количество, чтобы вы могли знать, насколько вы близки к превышению своего лимита, и, возможно, даже получать предупреждения, если похоже, что вы собираетесь превысить лимиты.

Кто-нибудь знает способ достижения этого?


Ответы:


38

Вы можете проверить vnstat . Он основан на командной строке и доступен в репозитории.

Вы можете начать это с sudo vnstat -u -i [interface]

Чтобы увидеть статистику sudo vnstat -i [interface]


28

vnStat - легкий сетевой консольный монитор

vnStat - это консольный монитор сетевого трафика для Linux и BSD, который ведет журнал сетевого трафика для выбранных интерфейсов. Он использует статистику сетевого интерфейса, предоставленную ядром, в качестве источника информации. Это означает, что vnStat на самом деле не будет анализировать трафик, а также обеспечивает легкое использование системных ресурсов.

В этом уроке мы рассмотрим:

  • Особенности
  • Монтаж
  • конфигурация
  • Запустите Systemd Service
  • Использование (из командной строки)
  • Conky пример

Особенности

  • быстро и просто установить и запустить
  • собранная статистика сохраняется через перезагрузки системы
  • может контролировать несколько интерфейсов одновременно
  • несколько вариантов вывода
  • итоги, ежечасно, ежедневно, ежемесячно, еженедельно, топ 10 дней
  • необязательный вывод изображения png (с использованием libgd)
  • месяцы могут быть настроены в соответствии с расчетным периодом
  • легкий, минимальное использование ресурсов
  • одинаково низкое использование процессора независимо от трафика
  • можно использовать без прав root
  • онлайн-редактор настроек цвета

Монтаж

nvStat находится в официальных репозиториях, поэтому нет необходимости ссылаться на новый ppa. Для установки создайте экземпляр терминала с помощью Ctrl+ Alt+ Tи введите в командной строке:

sudo apt-get install vnstat

После установки оставьте терминал открытым для следующих разделов. Перезагрузка не требуется.

конфигурация

Выберите предпочтительный сетевой интерфейс и отредактируйте переменную Interface /etc/vnstat.confсоответствующим образом. Чтобы получить список всех интерфейсов, доступных для vnstat, используйте:

vnstat --iflist

Чтобы начать мониторинг определенного интерфейса, вы должны сначала инициализировать базу данных. Каждому интерфейсу нужна своя база данных. Команда для инициализации таковой для интерфейса eth0:

sudo vnstat -u -i eth0 

Запустите Systemd Service

После введения интерфейса (ов) и проверки файла конфигурации. Вы можете запустить процесс мониторинга через systemd:

sudo systemctl start vnstat.service

Чтобы сделать эту услугу постоянным использованием:

sudo systemctl enable vnstat.service

Отныне vnstatмы будем собирать данные об использовании сети в фоновом режиме, используя такой небольшой процент процессорного времени, что он не будет отображаться в списке 9 самых популярных процессов (на моей машине) от conky (системный монитор).

Использование (из командной строки)

Запрос сетевого трафика:

vnstat -q

Просмотр использования сетевого трафика в реальном времени:

vnstat -l

Чтобы найти больше вариантов, используйте:

vnstat --help

Ежемесячные итоги

Чтобы увидеть итоги за месяц, используйте:

rick@dell:~$ vnstat -m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Nov '16     76.31 MiB |    2.03 MiB |   78.35 MiB |   10.45 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated      3.13 GiB |      84 MiB |    3.21 GiB |

Conky пример

Conky - это популярный легкий системный монитор, используемый во многих дистрибутивах Linux. Вы можете подсчитать суммарную пропускную способность vnStat для вашего conky дисплея следующим образом:

введите описание изображения здесь

Обратите внимание, когда была сделана фотография, было Yesterdayвоскресенье, которое объясняет, почему общее количество за неделю меньше.

Удобный код для достижения этой цели:

${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 300 vnstat -i eth0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 300 vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 300 vnstat -i eth0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 300 vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color orange}${voffset 2}${hr 1}

Чтобы сэкономить место в моем узком окне, я использовал «G» вместо «GiB», «M» вместо «MiB» и т. Д. Если у вас есть больше экранных настроек, измените substr ($10, 1, 1)на $10и то же для $9.

Возможно, вам придется изменить eth0на wlan0или eth1и т. Д. В зависимости от имени вашей сети, о котором сообщает ifconfig.


Можно ли «фильтровать» локальный сетевой трафик? У меня много местного трафика, и я не хочу считать его за использование Интернета.
JPelletier

@JPelletier Автор vnStat цитируется, говоря, что это невозможно. Он цитируется в этой ветке, где около 20 человек собирали 280 долларов, чтобы заплатить кому-то, чтобы он сделал именно то, что вы просите: forum.netgate.com/topic/29677/… Дуг Смитис - эксперт по мониторингу трафика по IP-адресу, и я буду попросите его взглянуть на ваш комментарий.
WinEunuuchs2Unix

Спасибо за ответ! В настоящее время я использую iftopдиагностику использования интернета в реальном времени, но иметь историческую информацию было бы неплохо
JPelletier

@JPelletier: мой маршрутизатор - это сервер Ubuntu, на котором выполняется скрипт iptables для функции маршрутизации / брандмауэра. Только WAN-трафик можно отслеживать через интерфейс WAN. Для компьютера с Ubuntu в локальной сети можно захватить все с помощью tcpdump, а затем отфильтровать локальную сеть и широковещательные пакеты, чтобы извлечь пакеты WAN с этого компьютера. Смотрите также здесь
Даг Смитис

@DougSmythies Спасибо за комментарий! Мне интересно, возможно ли вообще создать два интерфейса: eth0 и eth1, привязанные к одному и тому же NIC? Затем весь локальный трафик направляется через eth1, а все остальное - через eth0, на котором vnstatбудет собираться статистика? Извините, если это звучит как глупый вопрос ...
WinEunuuchs2Unix

6

Хотя это и не ответ "Ubuntu", для этого я использую прошивку Tomato на моем маршрутизаторе WRT54G. Это дает мне ежемесячное увеличение / уменьшение использования в течение последних нескольких лет, и приятно (в контексте вашего вопроса) то, что он предназначен для всей сети, а не только для одной системы, на которой он работает (хотя этот момент спорный) если рассматриваемая система является вашим маршрутизатором или напрямую подключена).


3
Вкусные помидоры. Отлично подходит для бутербродов, еще лучше для роутеров.
Райан Томпсон

6

Просто чтобы расширить Рикки Анвер:

С помощью ifconfig | cut -c 1-8 | sort | uniq -uвы можете перечислить интерфейсы:

enp0s31f
lo      
wlp3s0

Для одного интерфейса вы можете визуализировать трафик следующим образом:

vnstati -vs -i wlp3s0 -o ~/summary.png

дает хорошее резюме:

введите описание изображения здесь

  • rx это полученный трафик
  • tx это передаваемый трафик

Просто убедитесь, что у вас установлен vnstati в дополнение к vnstat. sudo apt install vnstat vnstati
Органический наркоман

3

Я рекомендую утилиту ntop, доступную в репозиториях, она работает как служба и ведет учет использования трафика. Отчеты доступны на внутреннем http-сервере (порт 3000). Вы можете легко проверить их с помощью браузера,http://localhost:300/

Проверьте, что вы можете получить от ntop на веб-сайте ntop .


Ntop не отслеживает использование между перезагрузками, не так ли?
Erigami

Согласно документации это может с помощью плагина rrd, я не проверял себя.
Жоау Пинту

Как вы используете Rrd плагин тогда?
Анвар

2

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


Несколько лет спустя, когда вы пропускаете вечеринку, вы не можете распознать, что провайдер не будет замечен, если вы обойдете его, на самом деле именно так они зарабатывают деньги, поэтому их инструменты вряд ли будут учитывать многие факторы, например. Мой Интернет-провайдер дает 40 ГБ надбавки за плату в 20 фунтов стерлингов, но взимает 20 фунтов за гигабайт, которые вы перевалили, и я уже однажды превышал их, и я помню, что это испортило Рождество, но сделал Интернет-провайдера счастливым, взяв с меня огромную кучу денег. Я сказал, что мой интернет отключен, они успокоили его. Позже я обнаружил, что кто-то напрямую связывался с MUX со случайных аккаунтов, это многое объясняло
Марк Гиблин

0

Я нашел " монитор загрузки " как очень хороший и простой в использовании инструмент для отображения статистики данных. Он имеет графический интерфейс, который делает его очень простым в использовании. Он доступен в Центре программного обеспечения Ubuntu.

Скачать монитор

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.