Использование netwox

Приведу примеры использования netwox и опишу их.
Установку netwox я описывал в этой статье — Установка netwox

Пример стандартного запуска:

sudo netwox

netwox имеет достаточно много функций, посмотреть их можно нажав после запуска цифру 3 и Enter.

Отображение конфигурации сети:

sudo netwox 1

Отображение отладочной информации:

sudo netwox 2

Отображение информации об IP-адресе или имени хоста:

sudo netwox 3 example.com

Отображение информации об MAC-адресе:

sudo netwox 4 -e 00:15:5D:38:01:08

Получение MAC-адресов из списка IP:

sudo netwox 5 -i 192.168.1.0/24

Отображение информации которая будет использована чтобы достичь указанного IP адреса:

sudo netwox 6 192.168.24.254

Сниффер, отображение передающихся пакетов на экране:

sudo netwox 7

Сниффер, отображение только списка открытых портов, которые использовались в захваченных пакетах:

sudo netwox 8

Сниффер, отображение MAC и IP адресов:

sudo netwox 9

Пример захвата пакетов и отображение краткой статистики (отображается количество пакетов (count), сумма размеров пакетов (size), процент количества пакетов (c%) процент из размера (s%)):

netwox 10 -d eth0

Преобразование цифры в шифрованную:

sudo netwox 21 -n number

Преобразование строки в шифрованную (sha256, md5 и т.д.):

sudo netwox 22 -d text

Показать таблицу ASCII:

sudo netwox 23

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

sudo netwox 25 /tmp/

Пример выполнения ICMP PING:

sudo netwox 49 -i 192.168.24.253

Пример выполнения ARP PING:

sudo netwox 55 -i 192.168.24.253

Пример ICMP трассировки маршрута:

sudo netwox 57 -i examle.com

Пример TCP трассировки маршрута:

sudo netwox 59 -i examle.com

Пример UDP трассировки маршрута:

sudo netwox 61 -i examle.com

Пример сканирования портов:

sudo netwox 67 -i 192.168.24.254 -p 1-1000

ICMP сканирование на доступность:

sudo netwox 65 -i 192.168.1.0/24

TCP сканирование на доступность по порту:

sudo netwox 67 -i 192.168.1.0/24 -p 80

UDP сканирование на доступность по порту:

sudo netwox 69 -i 192.168.1.0/24 -p 80

ARP сканирование:

sudo netwox 71 -i 192.168.1.0/24

Флуд случайными фрагментами:

sudo netwox 74 -i 192.168.24.254

Заполнение таблицы MAC-адресов коммутатора отправкой флуда:

sudo netwox 75

Synflood:

sudo netwox 76 -i 192.168.24.254 -p 80

и т.д.

Использование Linux ISG

Просмотр всех сессий:

/opt/ISG/bin/ISG.pl
/opt/ISG/bin/ISG.pl | less

Просмотр информации о конкретной сессии:

/opt/ISG/bin/ISG.pl | grep 192.168.4.168

Просмотр количества сессий:

/opt/ISG/bin/ISG.pl show_count

Удаление конкретной сессии:

/opt/ISG/bin/ISG.pl clear 192.168.4.168
/opt/ISG/bin/ISG.pl clear <IP-address | Virtual# | Session-ID>

Изменение скорости для конкретной сессии (входящая/исходящая, например 100 Мб/с):

/opt/ISG/bin/ISG.pl change_rate 192.168.4.168 102400 102400

Замечу то скорость указывается в килобайтах, а при просмотре в таблице сессий отображается в байтах.

Опишу возможные ключи к флагам:
A (Сессия одобрена)
X (Сессия не одобрена)
S (Это услуга (или подсеанс))
O (Административный статус службы включен)
U (Сервис онлайн (учетная запись RADIUS активна, поток трафика))
T (Тип сервиса — «tagger»)
Z (Отключен)

Изменение txqueuelen в Linux

Изменение txqueuelen позволяет установить длину очереди передачи данных для сетевых интерфейсов, когда очередь достигает указанного значения txqueuelen, тогда данные передаются, соответственно меньше трафик — меньше значение txqueuelen, большой трафик — txqueuelen можно увеличить.

Посмотрим текущее значение txqueuelen для каждого сетевого интерфейса:

ifconfig

В моем случае txqueuelen в Ubuntu Server 16.04 стандартно и равно 1000, допустим через сетевой интерфейс ходит очень большой трафик и мы хотим увеличить значение, для этого выполним команду:

ifconfig eth0 txqueuelen 10000

Либо через утилиту ip:

ip link set eth0 txqueuelen 1000

Проверим увеличилось ли значение:

ifconfig

Чтобы после перезагрузки системы изменения не сбросились, откроем файл /etc/network/interfaces например в текстовом редакторе nano:

sudo nano /etc/network/interfaces

И добавим в конце строку:

post-up /sbin/ifconfig eth0 txqueuelen 10000

Либо можно открыть файл /etc/rc.local:

sudo nano /etc/rc.local

И перед строкой «exit 0» добавить строку:

/sbin/ifconfig eth0 txqueuelen 10000

В обеих случаях после перезагрузки системы значение txqueuelen установилось правильно.
Аналогично можно указывать «ip» вместо «ifconfig».

Смотрите также:
Настройка сети в Linux

Установка и использование flow-tools

Flow-tools — набор утилит для отправки, сбора, обработки, анализа данных NetFlow.

Установим коллектор, который будет принимать статистику с сенсоров:

Читать далее «Установка и использование flow-tools»

Использование ethtool

ethtool — утилита для настройки сетевых интерфейсов в Linux.

Установить ethtool в Ubuntu/Debian можно командой:

sudo apt-get install ethtool

Посмотрим названия сетевых интерфейсов:

ifconfig -a

Переключимся на root, так как некоторые команды требуют повышенных привилегий:

sudo su

Пример просмотра настроек eth0:

ethtool eth0

Пример просмотра информации о драйвере сетевого интерфейса:

ethtool -i eth0

Просмотр статистики сетевого интерфейса:

ethtool -S eth0

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

ethtool -a eth0

Мигание светодиода 3 секунды на указанном сетевом интерфейсе:

ethtool -p eth0 3

Тест сетевого интерфейса:

ethtool -t eth0 online/offline

Просмотр текущего и максимального размера TX и RX буферов:

ethtool -g eth0

Ручная установка скорости 100 Mb Full Duplex на указанном сетевом интерфейсе (указанные параметры сбросятся после перезапуска системы):

ethtool -s eth0 speed 100 duplex full

Просмотр краткой справки по ethtool:

ethtool -h

Смотрите также:
Настройка сети в Linux
Изменение TX и RX буферов сетевых интерфейсов в Linux
Дистанционное включение компьютера (Wake On LAN)

Изменение TX и RX буферов сетевых интерфейсов в Linux

Приведу пример изменения TX и RX буферов сетевых интерфейсов в Linux.
Сначала установим ethtool если он не установлен:

Читать далее «Изменение TX и RX буферов сетевых интерфейсов в Linux»

Установка и использование jnettop

jnettop — утилита для просмотра статистики трафика в реальном времени, с сортировкой по хостам/портам.

Команда установки в Ubuntu/Debian:

sudo apt-get install jnettop

Команда установки в CentOS:

sudo yum install jnettop

Пример простого запуска:

sudo jnettop

Пример запуска с указанием сетевого интерфейса:

sudo jnettop -i eth0

Опишу возможные опции запуска:
-h (справка)
-v (просмотр версии)
-c (отключить фильтрацию контента)
-d (записывать отладочную информацию в файл)
-f (чтение конфигурации из файла, если не указано, то файл ищется по пути ~/.jnettop)
-i (захватить пакеты с указанного интерфейса)
—local-aggr [none|host|port|host+port] (установить локальное агрегирование на указанное значение)
—remote-aggr [none|host|port|host+port] (установить удаленное агрегирование на указанное значение)
-n (не преобразовывать IP в DNS имена)
-p (включение неразборчивого режима, чтобы принимать все пакеты которые приходят на сетевой интерфейс)
-s (выбирает одно из правил, определенных в файле конфигурации .jnettop (по его имени))
-x (позволяет специфицировать правило пользовательской фильтрации. это позволяет использовать синтаксис стиля tcpdump. не забудьте включить фильтр в кавычки при запуске из оболочки)

Настройка маскарадинга (NAT) в Ubuntu

Для примера выполню настройку маскарадинга IPv4 (NAT) на Ubuntu Server.
Сначала нужно включить поддержку пересылки пакетов в /etc/sysctl.conf, чтобы трафик мог ходить между разными сетевыми интерфейсами.
Проверим текущее состояние:

sysctl net.ipv4.conf.all.forwarding
cat /proc/sys/net/ipv4/ip_forward

Если оно равно 0, то включим следующей командой:

sysctl -w net.ipv4.conf.all.forwarding=1

Чтобы после перезапуска системы оно не сбросилось, откроем файл /etc/sysctl.conf например в редакторе nano (Ctrl+X для выхода, y/n для сохранения или отмены изменений):

nano /etc/sysctl.conf

И добавим строку:

net.ipv4.conf.all.forwarding=1

При необходимости можно очистить существующие NAT правила:

iptables -t nat --flush

Теперь осталось в iptables добавить правило, например:

iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -j SNAT --to-source 172.16.16.94

Где, 192.168.99.0/24 внутренняя сеть, а 172.16.16.94 адрес через который нужно идти в интернет, аналогично прописываются другие внутренние сети.
Напомню маску для частных сетей:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Если IP адрес на внешнем сетевом интерфейсе меняется (динамический), тогда вместо SNAT укажем MASQUERADE:

iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -j MASQUERADE

Не забываем сохранить добавленные правила iptables.
Например можно открыть файл конфигурации сетевых интерфейсов (его содержимое подгружается при запуске системы):

nano /etc/network/interfaces

И в конце добавлять правила iptables, например укажу маскарадинг этой сети сразу на несколько IP адресов, а также с указанием сетевого интерфейса:

post-up /sbin/iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o eth3 -j SNAT --to-source 172.16.90.1-172.16.90.5 --persistent

Или добавим в файл:

nano /etc/rc.local
/sbin/iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o eth3 -j SNAT --to-source 172.16.90.1-172.16.90.5 --persistent

Рекомендую указывать исходящий сетевой интерфейс, если его не указать, то локальный трафик будет возвращаться в сеть под NAT IP.
Если исходящий интерфейсов несколько, допустим балансируется нагрузка через BGP и т.д., то укажем двумя правилами:

/sbin/iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o eth3 -j SNAT --to-source 172.16.90.1-172.16.90.5 --persistent
/sbin/iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o eth4 -j SNAT --to-source 172.16.90.1-172.16.90.5 --persistent

Смотрите также мои статьи:
Разница между MASQUERADE и SNAT
Настройка IPTables
Решение ошибки «nf_conntrack: table full, dropping packet»
Использование Linux ISG

Понижение приоритета IPv6

Понадобилось однажды понизить приоритет IPv6 на одном из серверов у Hetzner.de, так как сеть IPv6 работала нестабильно, некоторые хосты били периодически недоступны по IPv6, появлялись задержки и т.д.

Для понижения приоритета достаточно открыть в текстовом редакторе файл /etc/gai.conf (например nano, в котором Ctrl+X для выхода, а y/n для сохранения или отмены изменений):

nano /etc/gai.conf

Найти там строку:

#precedence ::ffff:0:0/96  100

И раскомментировать её либо добавить:

precedence ::ffff:0:0/96  100

Все.