Назад | Перейти на главную страницу

Количество байтов на основе сокетов

Я вижу много инструментов для получения счетчиков байтов RX и TX для передачи на интерфейсах, есть ли какой-нибудь инструмент / программа, которые я могу использовать для получения общего количества переданных байтов для одного указанного сокета?

Я пытаюсь ограничить использование службы пользователями, то есть пользователь номер 23 приобрел 20 ГиБ передачи, и они только что загрузили 1 ГиБ linux .iso. Теперь у них должно быть на 1 ГиБ меньше оставшейся передачи.

Проблема в том, что я использую облачное решение ... У меня есть общий интерфейс, который будет использовать каждый пользователь, и я не знаю, могу ли я использовать SNMP, потому что не знаю особенностей оборудования. (Я также не совсем знаю, что такое SNMP, и нужно ли ему конкретное оборудование)

Я просто хочу отслеживать передачи для каждого пользователя, возможно, для каждого сокета или адреса, или это невозможно. Есть ли что-нибудь близкое к тому, что я ищу?

Не существует счетчиков для каждого сокета, которые можно было бы запросить, тем более что после закрытия сокета больше нечего запрашивать.

Единственное, что вы можете сделать, это установить кучу iptables правила с разными --uid-owner варианты и -j ACCEPT цель. Эти правила не будут блокировать ничего, кроме счетчиков каждого правила (отображаются с iptables -L -n -v) будет подсчитывать пакеты и байты для каждого пользователя. Обратите внимание, что при этом будет учитываться только исходящий трафик (поскольку входящий трафик исходит не от пользователя, а из сети).