@freshcot

Какой модуль python лучше использовать для работы с сетью?

Доброго дня, подскажите, каким образом можно получить информацию о пакетах на сетевых интерфейсах? Т. е. нужен способ работы с данными, которые можно получить из вывода cat /proc/net/dev

Можно, конечно, просто спарсить вывод, но это так себе решение.
В итоге, нужно посчитать трафик на конкретном интерфейсе
  • Вопрос задан
  • 313 просмотров
Пригласить эксперта
Ответы на вопрос 1
delvin-fil
@delvin-fil
Crazy Linux-admin
Я делаю так(linux):
Установлен vnstat. cron каждые пять минут пинает
*/5 * * * * /usr/bin/vnstat -i eth0 --json > /home/vns.json

Или xml, если неудобно json
*/5 * * * * /usr/bin/vnstat -i eth0 --xml h > /home/vns.xml

Затем беру либу json
import time, json
from pprint import pprint
localtime = time.localtime(time.time())
z = localtime[3]

with open('/home/vns.json') as json_data: 
    dat_j = json.load(json_data) # 
    json_data.close()

out = round(dat_j['interfaces'][0]['traffic']['hours'][0]['rx']/1024, 2)

И делаю c переменной dat_j что хочу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы