Я использую ограничение доступа по MAC-адресу iptables. Я перечислил MAC-идентификаторы пользователей, которым я хочу разрешить доступ, и оставил отдых. И когда я бегу iptables -vL
он показывает все идентификаторы MAC и их использование: переданные пакеты, данные в байтах. Итак, мои вопросы:
AWK - ваш друг. http://en.wikipedia.org/wiki/AWK
Какой ваш iptables --version
?
По моему, iptables -vL
автоматически конвертирует байты в килобайты (суффикс K) или мегабайты (суффикс M).
Использовать iptables -x
подключен к sort
, например iptables -xvL $CHAIN | sort -rn -k 2
Передайте вывод вышеуказанных команд сценарию, который будет выполнять вставку в базу данных.
Вы можете дополнительно отфильтровать вывод ответа №2, используя awk '$1 ~ /[0-9]+/'
чтобы удалить заголовки столбцов, и awk '$1 > 1000000'
чтобы увидеть только те значения, которые превышают 1'000'000 байт.
iptables -xvnL $CHAIN | awk -v min=$MINIMUM '$1 ~ /[0-9]+/ && $2 >= min {print $2 "," $11}'
Или, если вам нужен заголовок столбца CSV:
iptables -xvnL $CHAIN | awk -v min=$MINIMUM 'BEGIN {print "Bytes,MAC"} $1 ~ /[0-9]+/ && $2 >= min {print $2 "," $11}'