NetworkAdmin.ru
4.78K subscribers
224 photos
26 videos
2 files
511 links
Авторский блог про сетевое и системное администрирование.

Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Download Telegram
🖥 Chisel: проброс TCP/UDP-трафика через HTTP-туннели

Chisel - это удобный инструмент для создания HTTP-туннелей и проброса трафика через ограниченные сети. Он позволяет прокидывать TCP/UDP-соединения через HTTP/HTTPS, обходя firewall'ы и NAT. Полезен для удалённого администрирования, тестирования безопасности и обхода сетевых ограничений.

▪️ Особенности Chisel

🔹 Поддерживает двухсторонние TCP и UDP туннели
🔹 Работает через HTTP и HTTPS (можно замаскировать под веб-трафик)
🔹 Поддерживает авторизацию через ключи
🔹 Кроссплатформенный: Windows, Linux, macOS

▪️ Как использовать Chisel?

1️⃣ Запускаем сервер на машине с внешним IP:


chisel server --port 8080 --reverse


2️⃣ Подключаем клиента для проброса порта (например, RDP 3389) на удалённый сервер:


chisel client http://server-ip:8080 R:3389:127.0.0.1:3389


Теперь можно подключаться к удалённому серверу по localhost:3389.

#network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍16🔥4👌1
Автоматическое монтирование сетевых папок через GPO

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

📎 Основные возможности:

📍 Подключение сетевых дисков в зависимости от групп безопасности AD.
📍 Автоматическое назначение дисков для отделов и отдельных пользователей.
📍 Возможность подключения личного диска для каждого сотрудника.

👥 Гибкая настройка по группам

Например, можно настроить так, чтобы у всех сотрудников одного отдела автоматически подключалась папка с общими документами. Для этого достаточно добавить пользователя в соответствующую группу AD, и при следующем входе в систему у него появится нужный сетевой диск.

🔒 Персональные диски

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

Такой подход автоматизирует управление сетевыми ресурсами и избавляет от необходимости вручную подключать диски каждому пользователю.

#windows #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁1
✔️ Создание кастомных сигнатур в Suricata и Snort для обнаружения атак

Suricata и Snort - это системы обнаружения и предотвращения вторжений (IDS/IPS), которые используют сигнатуры для детектирования атак. Однако стандартные правила могут не покрывать все возможные угрозы, поэтому часто требуется писать собственные сигнатуры.

▪️ Основы сигнатур в Snort и Suricata. Сигнатура состоит из:

Заголовка (определяет тип трафика)
Опций (описывают условия срабатывания)

Пример базовой сигнатуры:


alert tcp any any -> any 80 (msg:"Possible Web Exploit"; content:"cmd="; nocase; sid:1000001; rev:1;)


alert - срабатывает как оповещение
tcp any any -> any 80 - трафик по TCP с любого IP и порта на любой IP, но только на порт 80
content:"cmd="; nocase; - ищет в пакете строку "cmd=", регистр не учитывается
sid:1000001; - уникальный ID сигнатуры

▪️ Создание кастомных правил. Пример обнаружения возможной атаки SQL Injection:


alert tcp any any -> any 80 (msg:"SQL Injection Attempt"; content:"UNION SELECT"; nocase; sid:1000002; rev:1;)


Если в HTTP-трафике будет найдено UNION SELECT, правило сработает.

Пример сигнатуры для обнаружения SSH-брутфорса (5 неудачных попыток за 60 секунд):


alert tcp any any -> any 22 (msg:"SSH Brute Force Attempt"; flags:S; threshold:type threshold, track by_src, count 5, seconds 60; sid:1000003; rev:1;)


▪️ Добавление сигнатур в Suricata. Открываем файл правил:


nano /etc/suricata/rules/custom.rules


Добавляем сигнатуры и обновляем конфигурацию:


suricata-update


Перезапускаем сервис:


systemctl restart suricata


▪️ Добавление правил в Snort. Открываем файл правил Snort:


nano /etc/snort/rules/local.rules


Добавляем сигнатуру и проверяем конфигурацию:


snort -T -c /etc/snort/snort.conf


Перезапускаем Snort:


systemctl restart snort


#network #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
🖥 Как блокировать скрытые туннели в корпоративных сетях

📍 Как работают скрытые туннели? Туннелирование позволяет упаковывать запрещенный трафик в разрешенные протоколы, например:

DNS-туннели (iodine, dnscat2) – передача данных через DNS-запросы
ICMP-туннели (ptunnel, Hans) – трафик скрывается в ICMP Echo Request/Reply
HTTP/HTTPS-туннели (HTTPTunnel, tunna) – обфускация трафика через веб-запросы
TCP/UDP-туннели (sshuttle, UDP2Raw) – маскировка через стандартные порты
VPN over TLS (SoftEther, OpenVPN over TCP 443) – имитация обычного HTTPS-трафика


▪️ Выявление скрытых туннелей

1️⃣ Анализ аномального трафика

Резкое увеличение запросов к внешним DNS-серверам
Подозрительная активность ICMP (слишком много echo-request/response)
Долгие и нестандартные HTTP-запросы
Сессии с высоким временем жизни и постоянным низким трафиком

2️⃣ Используем DPI и сигнатурный анализ

Инструменты: Suricata, Zeek, Snort
Ищем признаки туннелирования в пакетах и заголовках

3️⃣ Мониторинг нестандартных доменов

DNS-туннели часто используют случайные поддомены (например, abcd1234.tunnel.com)
Решение: Pi-hole, SecurityTrails, Cisco Umbrella

▪️ Методы блокировки туннелей

1️⃣ Ограничиваем неиспользуемые протоколы

Отключаем ICMP для ненужных хостов
Запрещаем внешний DNS кроме корпоративного

2️⃣ Включаем строгую политику Firewall

Разрешаем выход только через прокси
Запрещаем нестандартные порты (например, 53/UDP наружу)

3️⃣ Внедряем DPI (Deep Packet Inspection)

Suricata/Snort – анализируем трафик на предмет туннелирования
pfSense + Snort – фильтрация и блокировка известных схем туннелирования

4️⃣ Логируем и анализируем поведение пользователей

Zeek (Bro) – пассивный мониторинг сетевой активности
SIEM-системы (ELK, Splunk, Wazuh) – корреляция подозрительных событий

5️⃣ Запрещаем VPN и прокси через GPO и PAC-скрипты

Блокируем OpenVPN, WireGuard, Shadowsocks, SoftEther
Настраиваем PAC-файл с жесткими правилами обхода

#network #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14👎4🤡2🔥1
😀 Диагностика сети: traceroute, mtr, tracetcp и другие утилиты

Инструменты трассировки маршрута и диагностики сети - незаменимая часть работы администратора. Ниже собран краткий обзор утилит для Linux и Windows, которые помогают понять, где тормозит или обрывается соединение.

🐧 Linux

▪️ traceroute - классическая утилита для трассировки. По умолчанию использует UDP, но может работать и с ICMP:


traceroute -I ya.ru


▪️ tracepath - аналог traceroute, также использует UDP, но сразу показывает MTU на каждом хопе:


tracepath ya.ru


▪️ mtr - инструмент, сочетающий в себе ping и traceroute. Поддерживает ICMP, UDP и TCP. В режиме реального времени показывает статистику потерь и задержек на каждом узле:


mtr ya.ru


🏠 Windows

▪️ tracert - стандартная утилита Windows для трассировки по ICMP:


tracert ya.ru


▪️ pathping - гибрид ping и tracert, который дает более подробную статистику. Работает только с ICMP, но часто помогает точнее понять, где теряются пакеты:


pathping ya.ru


▪️ tracetcp - сторонняя утилита для TCP SYN трассировки по конкретному порту:


tracetcp ya.ru:443


Полезна, когда ICMP или UDP заблокированы, а нужно проверить доступность TCP-сервиса. Показывает, где именно по пути блокируется соединение. Ставится отдельно (ищите на сайте разработчика). Аналога на Linux, увы, нет, но было бы очень кстати.

🌟 Выводы:

📍 Используйте mtr и tracetcp, если нужно точечно диагностировать проблемы.
📍 tracepath удобен для анализа MTU.
📍 На Windows pathping даст больше инфы, чем tracert.


#network #diagnostic

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153
🖥 Анализ сети в Linux: ethtool, iperf и nload

Когда возникает подозрение на проблемы с сетью - падение скорости, потери пакетов или просто "тормозит" - важно уметь быстро локализовать причину. В Linux есть три утилиты, которые закрывают основные потребности в диагностике: ethtool, iperf3 и nload.

▪️ ethtool - работа с сетевыми интерфейсами. Это низкоуровневая утилита, с помощью которой можно узнать:

Скорость подключения и режим дуплекса:


ethtool eth0


Есть ли сбои на интерфейсе:


ethtool -S eth0 | grep -E 'err|drop'


Настроить автосогласование, отключить Wake-on-LAN, изменить параметры offload'инга.
Удобно для диагностики "битых" линков и проблем с драйверами.

▪️ iperf3 - тестирование пропускной способности. Утилита для бенчмарков канала в режиме клиент-сервер:

На одном узле запускаем сервер:


iperf3 -s


На втором - клиент:


iperf3 -c 192.168.1.1


Показывает скорость, потери, джиттер. Можно использовать TCP и UDP, настраивать количество потоков и длительность теста.

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


iperf3 -c 192.168.1.1 -P 5


Хорошо подходит для поиска узких мест между хостами.

▪️ nload - визуальный мониторинг сетевой активности. Простой и наглядный инструмент в консоли:


nload eth0


Выведет в реальном времени график входящего и исходящего трафика. Можно переключаться между интерфейсами, видеть пики, общую статистику и скорость.

Особенно удобен, когда нужно на лету оценить нагрузку и понять, кто грузит канал.

▪️ Резюме:

ethtool - диагностика интерфейса;
iperf3 - замер скорости и качества канала;
nload - визуальный мониторинг трафика

#linux #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134
⚙️ Настройка DHCP-сервера и резервации IP-адресов

Когда устройств в сети становится больше десятка, раздача IP вручную перестает быть удобной. Решение - поднять свой DHCP-сервер, который будет автоматически раздавать адреса, DNS, шлюз и другие параметры клиентам. Но важно не просто «раздавать все подряд», а уметь закрепить конкретные IP-адреса за нужными устройствами (например, серверами, принтерами, VoIP). Это делается через резервации (DHCP reservations).

🐧 Настройка DHCP-сервера на Linux (например, ISC-DHCP)

1️⃣ Устанавливаем сервер:


sudo apt install isc-dhcp-server


2️⃣ Пример настройки /etc/dhcp/dhcpd.conf:


subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8;
option domain-name "home.lan";
}

# Резервация IP по MAC-адресу
host printer01 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.10;
}


Теперь каждый раз принтер с указанным MAC-адресом будет получать именно 192.168.1.10.

🏠 На Windows Server (DHCP Role)

Откройте оснастку DHCP → Перейдите к своему пулу IP-адресов → ПКМ → New Reservation

Укажите имя, IP, MAC-адрес и тип клиента

🌟 Зачем нужны резервации:

Упрощают администрирование (IP-адреса не меняются)
Удобны для мониторинга и firewall-правил
Избавляют от конфликтов IP
Полезны при интеграции с DNS (обратная зона)


#network #DHCP

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16👎3
Как работает LACP и зачем использовать агрегирование каналов

Когда одного сетевого интерфейса мало - приходит время объединять их в «команду». Это называется агрегация каналов, и один из самых популярных способов реализовать ее - протокол LACP (Link Aggregation Control Protocol).

LACP - часть стандарта IEEE 802.3ad. Он позволяет объединить несколько физических интерфейсов в один логический (LAG - Link Aggregation Group), который операционная система и приложения видят как один.

🌟 Зачем это нужно?

📍 Повышение пропускной способности;
📍 Повышение отказоустойчивости (если один порт отваливается - остальные продолжают работать);
📍 Балансировка нагрузки между портами.


🌟 Как это работает

📍 LACP автоматически обнаруживает, какие интерфейсы можно объединить
📍 Обе стороны (свитч и хост) договариваются, какие порты войдут в LAG
📍 Если кабель выпал или порт упал - он просто исключается из группы, ничего не рушится


▪️ Настройка в Linux. Пример для двух интерфейсов ens33 и ens34:

1️⃣ Устанавливаем ifenslave (если нужно):


sudo apt install ifenslave


2️⃣ Настраиваем bonding-мод LACP (mode 4): В /etc/network/interfaces или аналогичном конфиге:


auto bond0
iface bond0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
bond-slaves ens33 ens34
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate fast
bond-xmit-hash-policy layer3+4


3️⃣ Важно! На свитче тоже нужно включить LACP на соответствующих портах (обычно называются channel-group или LAG в интерфейсе).

⭐️ Несколько нюансов:

📍 LACP работает только при поддержке с обеих сторон (сервер + свитч)
📍 LAG не удваивает скорость для одного TCP-соединения, но позволяет нескольким соединениям распределяться по разным каналам
📍 Лучше всего работает с хешированием по Layer3+4 (IP + порт)


#network #LACP

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
📍 Анализ открытых портов и процессов в Linux

Когда сервер начинает вести себя подозрительно - например, появляется неизвестный открытый порт, нестандартный трафик или система тормозит - важно быстро выяснить: что за процесс, что он слушает и какие соединения установлены. Для этого можно использовать связку: ss, lsof и каталог /proc.

1️⃣ ss - быстро и точно о сетевых соединениях. Современная замена netstat, работает быстрее и точнее:


ss -tulnp


Покажет все TCP/UDP-порты, которые слушают процессы:

-tuln - TCP/UDP, слушающие, без разрешения имен
-p - имя процесса и PID

Пример:


LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1234,fd=6))


2️⃣ lsof - подробности о дескрипторах и файлах. lsof позволяет заглянуть глубже в то, что именно открыт у процесса:


lsof -i :80


Выведет все процессы, использующие порт 80.


lsof -nP -iTCP -sTCP:LISTEN


Список всех TCP-сервисов, которые слушают порты.

3️⃣ /proc - внутренняя кухня процесса. Для изучения процесса изнутри можно обратиться к /proc/<PID>/fd - тут видны все открытые дескрипторы:


ls -l /proc/1234/fd


Покажет, какие файлы, сокеты и каналы открыт у процесса с PID 1234.

Для конкретного сокета:


ls -l /proc/1234/fd | grep socket


Также можно посмотреть cmdline:


cat /proc/1234/cmdline


4️⃣ Комбинируем все вместе. Узнаем, какой процесс слушает порт:


ss -tulnp | grep :8080


Получаем его PID → проверяем, какие соединения установлены:


lsof -p 1234 -i


Лезем в /proc/1234/ за подробностями:

/fd - дескрипторы
/status - ресурсы и права
/cmdline - команда запуска

#linux #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
Bonding vs Teaming: что выбрать для отказоустойчивости сетей в linux

Когда нужно объединить несколько сетевых интерфейсов в один для повышения отказоустойчивости или производительности, в linux есть два основных механизма: bonding и teaming. Оба решают схожие задачи, но работают по-разному.

▪️ Bonding. Классический механизм, существующий в linux уже много лет.

Основные режимы работы:

📍active-backup - один интерфейс активен, остальные в резерве.
📍balance-rr - пакеты отправляются поочерёдно через все интерфейсы.
📍802.3ad (LACP) - агрегирование каналов с поддержкой на стороне коммутатора.
📍balance-xor, broadcast, balance-alb и др.

Плюсы:

Проверенный и стабильный инструмент.
Поддерживается почти во всех дистрибутивах.
Большой выбор режимов.

Минусы:

Ограниченная масштабируемость.
Более тяжелое ядро-зависимое решение (модуль ядра).
Настройка чуть менее гибкая.

▪️ Teaming. Новый механизм (начиная с RHEL 7 и современных систем).

Особенности:

📍Управляется через teamd (пользовательский процесс).
📍Более легкий и гибкий, чем bonding.
📍Поддерживает JSON-конфигурацию и плагины (например, мониторинг линков).
📍Использует те же режимы агрегации (active-backup, roundrobin, lacp и т.д.).

Плюсы:

Гибкая настройка (json + плагины).
Легче масштабировать и управлять.
Мониторинг и логика вынесены в userspace (а не только ядро).

Минусы:

Более сложный для "быстрых правок".
В некоторых дистрибутивах bonding до сих пор по умолчанию используется чаще.

▪️ Что выбрать?

Если у вас традиционная инфраструктура (например, debian, старые centOS, небольшие серверы) - проще использовать bonding: он доступен сразу и без лишних зависимостей.

Если вы работаете с современными centOS или хотите больше гибкости (например, интеграцию с NetworkManager, плагины, мониторинг линков) - выбирайте teaming.

#network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72
🖥 Неочевидные возможности ethtool для работы с сетевыми интерфейсами

ethtool - это не только утилита для просмотра информации о сетевой карте. С ее помощью можно управлять сетевыми интерфейсами в linux: от настройки скорости линка до оптимизации производительности под конкретные задачи.

▪️ Проверка состояния интерфейса


ethtool eth0


Покажет: скорость, дуплекс, поддержку offload-функций, драйвер, версию прошивки и т.д.

▪️ Управление скоростью и режимом. Принудительная установка скорости 100 Мбит/с в full-duplex:


ethtool -s eth0 speed 100 duplex full autoneg off


Можно использовать для тестов или если автосогласование работает некорректно.

▪️ Offload-функции (ускорение или отладка)

Проверить поддержку:


ethtool -k eth0


Отключить контрольную сумму (будет полезно для отладки):


ethtool -K eth0 tx off rx off


Также можно управлять GRO, LRO, TSO и другими функциями.

▪️ Диагностика линка

Проверка кабеля и физики:


ethtool --test eth0
ethtool -t eth0 offline


А команда:


ethtool eth0 | grep detected


покажет, есть ли линк и его скорость.

▪️ Статистика и дропы пакетов


ethtool -S eth0


Выводит счётчики ошибок, дропов, коллизий. Это помогает отлавливать проблемы на низком уровне.

▪️ Управление очередями и ring buffer. Посмотреть текущие значения:


ethtool -g eth0


Изменить глубину очереди при интенсивной нагрузке:


ethtool -G eth0 rx 4096 tx 4096


▪️ Блокировка Wake-on-LAN. Если не используете WoL — отключите:


ethtool -s eth0 wol d


#network #ethtool

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
♥️ Что такое blackhole в сети

Часто говорят, что при DDoS провайдер отправляет трафик в blackhole. Это не метафора - blackhole (или nullroute) - реальная запись в таблице маршрутизации, которая заставляет ядро молчаливо отбрасывать пакеты к указанному адресу/сети.

▪️ Создание черной дыры для одного IP:


ip route add blackhole 10.20.30.40
ip route show | grep blackhole


Теперь все пакеты к 10.20.30.40 будут просто выброшены, без попытки доставить и без ICMP-ответа.

Для сети:


ip route add blackhole 203.0.113.0/24


Для IPv6:


ip -6 route add blackhole 2001:db8::/32


▪️ Удаление:


ip route del blackhole 203.0.113.0/24


▪️ Отличия blackhole от unreachable и от prohibit

blackhole - молча дропает пакеты (никаких ICMP).
prohibit - отсылает ICMP administratively prohibited (полезно, если нужно, чтобы источник получил уведомление).
unreachable - возвращает host unreachable.

Команды выглядят похоже:


ip route add prohibit 10.0.0.0/8
ip route add unreachable 10.0.0.0/8


Выбор зависит от сценария: для имитации «исчезновения» хоста - blackhole, чтобы сигнализировать отправителю - prohibit/unreachable.

▪️ Где это реально используют

Провайдеры - при крупном DDoS обычно ставят null-route на адрес жертвы на своей инфраструктуре. Это позволяет дропать трафик до границ сети провайдера, защищая инфраструктуру дальше по пути.

#network #blackhole

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
🖥 Nmap - полезные сценарии

Nmap - это не только сканер портов, но и инструмент для быстрой диагностики сети. Небольшая подборка команд, которые часто выручали меня в работе.

▪️ Быстрый обзор хоста


nmap -Pn -sS -T4 10.20.1.5


SYN-скан, не пингуем сначала, быстрый тайминг.

▪️ Топ-портов и сервисы


nmap -sV --top-ports 100 10.20.1.0/24


Узнаем версии сервисов по 100 самым распространенным портам в подсети.

▪️ Полный TCP-портскан


nmap -p- -T4 10.20.1.5


Сканируем все 65535 TCP-портов.

▪️ UDP-быстрый скан


sudo nmap -sU --top-ports 50 10.20.1.5


UDP требует прав root и больше времени - выбирайте топ-порты.

▪️ OS и глубокая детекция


sudo nmap -A 10.20.1.5


Включает обнаружение ОС, версий, скрипты и traceroute.

▪️ NSE-скрипты для быстрого аудита


nmap --script ssl-enum-ciphers,http-title -p 443,80 10.20.1.5


Проверяем SSL-шифры и заголовок сайта.

▪️ Массовый вывод в файлы


nmap -sV -oA scans/site_scan 10.20.1.0/24


Создаст site_scan.nmap, .gnmap и .xml - будет удобно для отчетов.

▪️ Сканирование живых хостов


nmap -sn 10.20.1.0/24


Быстрый ping-scan, покажет кто в сети сейчас.

#nmap #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163
☁️ Как проверить обращения на TCP-порт 22 от клиента с нужного IP

Иногда нужно выяснить, было ли соединение на SSH-порт сервера (обычно 22) с конкретного адреса. Казалось бы, задача простая, но есть несколько подходов - как для активных соединений, так и для анализа постфактум.

▪️ Активные подключения. Если соединение активно прямо сейчас, смотрим его в списке сетевых сокетов.
Современный инструмент - ss:


ss -ntu | grep ':22'


Аналог - netstat:


netstat -ntu | grep ':22'


Еще один полезный вариант - lsof:


lsof -ni TCP:22


▪️ Логирование попыток подключения. Если интересуют прошлые соединения, а не только активные, то тут уже нужны логи.
SSH по умолчанию пишет в системный журнал (/var/log/auth.log или /var/log/secure), но для других сервисов можно включить логирование через firewall.

Пример для iptables:


iptables -N ssh_in
iptables -A INPUT -p tcp --dport 22 -j ssh_in
iptables -A ssh_in -j LOG --log-level info --log-prefix "--IN--SSH-- "
iptables -A ssh_in -j ACCEPT


Теперь все подключения на порт 22 будут попадать в syslog.
Хотите отдельный лог - добавьте правило в rsyslog.

На практике часто используют отдельные цепочки (INPUT, OUTPUT, FORWARD), куда добавляют правила для логирования нужных адресов и портов.

▪️ Альтернативный способ. Можно посмотреть информацию о соединениях напрямую в conntrack:


cat /proc/net/nf_conntrack | grep 'dport=22'


По сути, ss и netstat читают данные именно отсюда.

#network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
🖥 Замер реальной пропускной способности сети в linux и windows

iperf3 - показывает реальную пропускную способность между двумя хостами, минуя влияние дисков, приложений и прочего. Ранее уже был пост - ссылка. Здесь продолжение, с реальным примером замера и полезными флагами.

▪️ Принцип работы

iperf3 работает по схеме клиент–сервер.
Один узел запускается в режиме сервера, второй - в режиме клиента.
Сервер принимает входящий трафик, а клиент его генерирует.

▪️ Пример замера

1️⃣ На сервере:


iperf3 -s


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

2️⃣ На клиенте:


iperf3 -c 192.168.1.10


Результат:


[ 5] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec sender
[ 5] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec receiver


То есть реальная пропускная способность между хостами - ~935 Мбит/с.

▪️ Полезные опции

📍-R - измерение скорости в обратном направлении (reverse).


iperf3 -c 192.168.1.10 -R


📍-u - UDP-тест (по умолчанию TCP). Можно задать целевую скорость:


iperf3 -c 192.168.1.10 -u -b 500M


📍-f - единицы измерения (m для Mbits, M для MBytes):


iperf3 -c 192.168.1.10 -f m


📍 Быстрый тест "все в одном". Если у вас SSH-доступ к обеим сторонам:


iperf3 -s & ssh user@192.168.1.10 'iperf3 -c $(hostname -I | awk "{print \$1}") -P 4'


Скрипт запускает сервер локально и клиент удаленно, автоматически подключая IP.

#network #iperf3

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍162
⁉️ IPv6 в локальной сети: нужен ли он вообще

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

А вот проблем добавить он может:

требует отдельной настройки безопасности,
нужно следить за совместимостью сервисов,
а если забыть про firewall для IPv6, то появится открытая дыра, о которой даже не узнаете.

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

▪️ Как отключить IPv6 в linux

Сделать это можно тремя способами, в зависимости от ситуации.

1️⃣ Через sysctl. Добавьте строки в /etc/sysctl.conf:


net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1


Примените изменения:


sysctl -p


2️⃣ Через параметры GRUB (глобально). Если система только настраивается - проще всего отключить IPv6 через загрузчик.
Откройте /etc/default/grub и добавьте в строку:


GRUB_CMDLINE_LINUX="... ipv6.disable=1"


(оставшиеся параметры не удаляйте, просто добавьте через пробел)

Обновите конфигурацию загрузчика:


update-grub # Debian/Ubuntu
dpkg-reconfigure grub-pc
grub-mkconfig -o /boot/grub/grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg # RHEL/CentOS


После этого - перезагрузка и проверка:


ip a
ss -tulnp


Если IPv6 отключен - адресов вида ::1 или fe80:: вы больше не увидите.

3️⃣ Отключение для конкретного интерфейса. Иногда нужно отключить IPv6 не глобально, а только на одном интерфейсе.
Добавьте в /etc/sysctl.conf:


net.ipv6.conf.eth0.disable_ipv6 = 1


или примените временно:


sysctl -w net.ipv6.conf.eth0.disable_ipv6=1



▪️ Примечание для Windows

На windows лучше IPv6 не отключать. По словам microsoft, это может вызвать проблемы с внутренними сервисами и сетевыми компонентами системы.

#IPv6 #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133
🧐 Анализ трафика

tcpdump - легкий и быстрый способ посмотреть сетевой трафик прямо в терминале, когда GUI-инструменты недоступны.

▪️ Основные приемы

Быстрые параметры:

-i eth0 - интерфейс
-nn - без DNS/порт-резолва
-s 0 - захватывать пакет полностью
-w file.pcap - сохранить трафик
-r file.pcap - прочитать файл

Фильтры:


tcpdump -i eth0 -nn host 10.0.0.5
tcpdump -i eth0 -nn tcp port 443
tcpdump -i eth0 -nn 'tcp and dst port 22'


▪️ Практические сценарии

HTTP-запросы в ASCII:


tcpdump -i any -nn -s 0 -A 'tcp port 80'


DNS-трафик:


tcpdump -i any -nn -s 0 -A 'udp port 53'


Сохранение дампа:


tcpdump -i eth0 -nn -s 0 -w capture.pcap


Новые TCP-подключения (SYN):


tcpdump -i eth0 -nn 'tcp[tcpflags] & tcp-syn != 0'


MAC-адреса:


tcpdump -i eth0 -nn -e


▪️ Быстрый анализ

Посчитать активность:


timeout 10 tcpdump -i eth0 -nn icmp | wc -l


Просмотреть SNI в HTTPS (если не шифруется):


tcpdump -i any -nn -s 0 -A 'tcp port 443' | grep -i 'server name'


#tcpdump #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥21
👒 Легкий TCP/UDP туннель поверх HTTP

Хочу поделиться полезным инструментом, который часто упоминают в контексте пентестов, но который одинаково удобен и администраторам: Chisel. Это один бинарник (на Go) и для сервера, и для клиента доступный для linux, windows, macOS. Работает поверх HTTP, поэтому его очень просто поднять там, где открыт веб-порт.

▪️ Коротко, зачем нужно:

▪️быстро организовать SOCKS5-прокси через открытую HTTP/HTTPS точку;
▪️поднять обратный туннель (reverse) с защищённого хоста, который не доступен извне;
▪️пробросить локальный порт на удалённый хост по HTTP, когда прямой доступ заблокирован.

▪️ Примеры (общая схема)

1️⃣ Быстрый SOCKS5-прокси. На сервере (с публичным IP, порт 80/443 доступен):


./chisel server --port 80 --socks5


На клиенте (локальная машина, откуда хотите выходить в интернет через сервер):


./chisel client http://server.example.com:80 socks


После этого в браузере можно указать SOCKS5 proxy 127.0.0.1:1080, трафик пойдет через сервер.

2️⃣ Обратный SSH-туннель (клиент инициирует соединение, сервер принимает). Если целевая (закрытая) машина не доступна извне, но может инициировать исходящее HTTP-соединение:
На публичном сервере:


./chisel server --port 80 --reverse


На внутреннем хосте (тот, к которому хотим подключиться):


./chisel client http://server.example.com:80 R:2222:localhost:22


Теперь на публичном сервере можно подключиться к внутреннему хосту:


ssh -p 2222 root@127.0.0.1


3️⃣ Проброс локального сервиса (например, MySQL на сервере) на клиент. На публичном сервере запускаем с --reverse. На внутреннем клиенте даем правило:


./chisel client http://server.example.com:80 33306:127.0.0.1:3306


После этого на клиенте MySQL будет доступен локально на порту 33306.

▪️ Дополнительно

Аутентификация: есть опция --auth user:pass и на сервере, и на клиенте, используйте для защиты туннеля.

Маскировка: --backend позволяет прятать chisel-сервер за обычным веб-сервером (перенаправлять чужие HTTP-запросы), что облегчает развертывание в средах с ограничениями.

Один бинарник, удобно распространять и для разных ОС.

#network #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123