Серверная Админа | Компьютерные сети
27.1K subscribers
1.13K photos
6 videos
7 files
1.19K links
Я действующий сетевой инженер, расскажу вам о сетях в доступной форме.

Реклама - @bashmak_media
Мы на бирже: https://telega.in/c/school_network

РКН: https://vk.cc/cHYqt5
Download Telegram
Загадочное трио: откуда берутся ошибки 502, 503 и 504

В статье автор разбирает, откуда вообще берутся ошибки 502, 503 и 504 и почему они так часто пугают админов. Каждая из этих ошибок же имеет свою «историю», отражая разные этапы общения между серверами, и понимая все из них - не будете уже так теряться при появлении проблем.

Серверная Админа | #Статья
👍15🆒3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня поговорим об инструменте
Portkill

🟣Что это: PortKill может быстро убивать процессы на портах, следить за их активностью и тестировать скорость соединений без лишних зависимостей и сложных команд.

🟣Как работает: Он находит процессы на портах, показывает их дерево, безопасно завершает или форсит, умеет работать с Docker-контейнерами, мониторить порты в реальном времени и тестировать соединения с удалёнными серверами. Всё это можно выводить в JSON, чтобы подключать к скриптам или CI/CD.

🟣Что по фишкам: интерактивное терминальное меню, история портов, защита критичных процессов, визуализация процесса, бенчмарки и управление Docker.

🟣Установим:

Через Homebrew:

brew tap mr-tanta/portkill
brew install portkill


Или универсальный скрипт для macOS/Linux:

curl -sSL https://raw.githubusercontent.com/mr-tanta/portkill/main/install.sh | bash


Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81👾1
👋 Привет, сетевой друг!

Сегодня разберём IPsec и его режимы работы - Transport и Tunnel.

🟣Зачем в целом нужен IPsec: IPsec защищает IP-трафик от перехвата и подмены. Даже если пакеты проходят через публичный интернет, их нельзя просто так прочитать или изменить. Именно поэтому IPsec - фундамент VPN и site-to-site соединений.

🟣Из чего он состоит: Внутри IPsec есть два основных протокола:

AH (Authentication Header) - проверяет подлинность и целостность пакетов, но ничего не шифрует.
ESP (Encapsulating Security Payload) - шифрует данные и может дополнительно обеспечивать аутентификацию. В реальных сетях почти всегда используют ESP.

🟣Transport Mode: В транспортном режиме IPsec защищает только полезную нагрузку пакета - TCP/UDP и данные. IP-заголовок остаётся открытым и видимым для маршрутизации.
AH подтверждает, что пакет не был изменён,
ESP шифрует полезную нагрузку и защищает её от подмены. Обычно применяется для host-to-host сценариев, когда оба узла напрямую поддерживают IPsec.

🟣Tunnel Mode: В туннельном режиме всё интереснее: внутрь IPsec упаковывается весь исходный IP-пакет целиком, а снаружи добавляется новый IP-заголовок. Внутренний пакет полностью скрыт и защищён, внешний нужен только для доставки между VPN-шлюзами. Это стандартный режим для VPN, site-to-site и client-to-site соединений.

🟣Ключевая разница: Transport Mode защищает данные внутри пакета.
Tunnel Mode прячет вообще всё: и данные, и внутреннюю адресацию, и сам исходный пакет.

Серверная Админа | #iPsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2653👾1
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Расскажу еще о 3 способах прокачать защиту Mikrotik.

🟣Защита от DDoS/флудов через raw-таблицу (Syn-Flood, ICMP-Flood, UDP-Flood): Raw chain обрабатывает пакеты до connection-tracking, экономя CPU при атаках. Дропаем мусор на раннем этапе.

/ip firewall raw
add action=drop chain=prerouting protocol=tcp tcp-flags=syn connection-state=new connection-limit=100,32 comment="SYN flood protection"
add action=drop chain=prerouting protocol=icmp icmp-options=8:0 limit=10,5:packet comment="ICMP rate limit"
add action=drop chain=prerouting protocol=udp limit=50,5:packet comment="UDP flood limit"
add action=drop chain=prerouting src-address-list=bad_guys comment="Drop known attackers"


🟣Детекция и автоматическая блокировка порт-сканов + плохих сигнатур (PSD + jump-to-target): Используем PSD (Port Scan Detection) и tarpit для замедления сканеров, плюс динамический blacklist.

/ip firewall raw
add action=add-src-to-address-list address-list=port_scanners address-list-timeout=2w chain=prerouting comment="Detect port scans" protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list=bad_guys address-list-timeout=1w chain=prerouting comment="Bad TCP flags" protocol=tcp tcp-flags=!fin,!syn,!rst,!ack
add action=tarpit chain=prerouting comment="Tarpit scanners" src-address-list=port_scanners protocol=tcp
add action=drop chain=prerouting src-address-list=bad_guys comment="Drop bad guys"


🟣Защита от спуфинга и bogon-IP через raw + address-lists (anti-spoofing advanced): Блокируем приватные/RFC6890 адреса с WAN, плюс recent-match для детекции новых соединений от подозрительных источников.

/ip firewall address-list
add address=0.0.0.0/8 list=bogons comment="RFC 6890"
add address=10.0.0.0/8 list=bogons
add address=172.16.0.0/12 list=bogons
add address=192.168.0.0/16 list=bogons
add address=100.64.0.0/10 list=bogons
# ... добавьте остальные bogons

/ip firewall raw
add action=drop chain=prerouting in-interface-list=WAN src-address-list=bogons comment="Drop bogons from WAN"
add action=drop chain=prerouting in-interface-list=WAN !src-address=YOUR_PUBLIC_NET comment="Strict RPF (anti-spoof)"
add action=add-src-to-address-list address-list=suspect address-list-timeout=10m chain=prerouting connection-state=new src-address-list=!admin_allowed protocol=tcp dst-port=8291,2222 recent=hitcount>5,10s


Серверная Админа | #Mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
👍184💊1
📝 Тайна пропавшего WiMAX: куда исчез 802.16 и почему

Сегодня разберём, как «Wi-Fi на стероидах» почти исчез, и почему LTE выиграл эту битву.

🟣Рождение WiMAX: В конце 90-х IEEE запускает 802.16 - стандарт для широкополосного беспроводного доступа в городе. Первые версии требовали почти прямой видимости между базой и абонентом, позже появились версии для городских условий (2–11 ГГц) и фиксированного доступа (802.16d).

🟣Контролируемый эфир: WiMAX решал проблему хаоса Wi-Fi. Базовая станция управляла эфиром, раздавала слоты каждому пользователю и гарантировала стабильную скорость и QoS. До 70 Мбит/с на 4–6 км в начале 2000-х - шикарный результат. В отличие от Wi-Fi, где коллизии и случайные задержки - это прямо норма.

🟣Союз сильнейших: В 2001 году создают WiMAX Forum - консорциум операторов и производителей, чтобы построить экосистему сертифицированного оборудования. Intel, Motorola, Samsung, Nokia и другие ставят свои ресурсы на развитие технологии. Казалось, будущее уж точно за WiMAX.

🟣Мобильный рывок: WiMAX пытался стать полноценным мобильным интернетом до LTE, но смартфоны и iPhone создают новый рынок портативного Интернета.

🟣Временный успех: Южная Корея (WiBro), США (Sprint Xohm, Clear), Япония (UQ Communications), Россия (Yota) - сети запускаются, клиенты счастливы. Но стандарт не встроен в каждый смартфон, LTE берёт мобильный рынок, WiMAX остаётся нишевым.

🟣Какое наследие: WiMAX исчез как массовая технология, но 802.16 живёт в специальных системах: AeroMACS для аэропортов, WiGRID для энергокомпаний.

Серверная Админа | #network
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2222🔥2
Бесконечность - это 16

👨‍💻Серверная Админа | #мем
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥132
Большой гайд по настройке двух видов балансировщиков нагрузки

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

Серверная Админа | #Статья
👍3
👋 Привет, сетевой друг!

Сегодня поговорим об инструменте
SNMP-Browser

🟣Snmp-Browser - кроссплатформенный SNMP-браузер с графическим интерфейсом. Поддерживает SNMPv1/v2c/v3, умеет работать с MIB-ами, мониторить OID’ы в реальном времени, строить графики и кидать алерты. По сути — «толстый» SNMP-клиент, ближе к Zabbix-подходу, но без сервера и агентов.

🟣Как работает: вы подключаетесь к устройству по SNMP, выбираете версию и креды - дальше браузите MIB-дерево, делаете GET/WALK/SET, добавляете нужные OID’ы в дашборд. Приложение само опрашивает их по таймеру, хранит историю, показывает тренды и следит за порогами.

🟣Что по фишкам: Алерты с условиями и кулдауном, графики с историей, Trap-менеджер (приём и отправка), batch-запросы по нескольким хостам, импорт кастомных MIB’ов, профили устройств, экспорт в CSV/JSON/XML, SNMPv3 с шифрованием, хранение паролей в зашифрованном виде. Плюс мультиязычный интерфейс и сборки под Windows / Linux / macOS.

🟣Установка из исходников:

git clone https://github.com/snmpware/Snmp-Browser.git
cd Snmp-Browser
pip install -r requirements.txt
pip install git+https://github.com/snmpware/snmpy.git
python snmp_browser_professional.py


Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3👾1
📝 5 лучших RDP-клиентов 2025 года

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

🟣Microsoft Remote Desktop - базовый вариант, с которого начинают почти все. В Windows он встроен, на macOS и мобильных платформах - официальный клиент от Microsoft. Работает предсказуемо, без сюрпризов, поддерживает современные версии RDP, проброс устройств и несколько мониторов.

🟣FreeRDP - это скорее инструмент, чем приложение. Основная работа идёт через xfreerdp, где всё настраивается параметрами: шифрование, кодеки, авторизация, перенаправления. Именно поэтому его любят Linux-админы и те, кто автоматизирует доступ через скрипты.
GUI здесь вторичен, зато контроль максимальный.

🟣Remmina - логичное продолжение FreeRDP для тех, кому нужен интерфейс. Это графический менеджер подключений с вкладками, профилями и поддержкой сразу нескольких протоколов: RDP, SSH, VNC и других. Удобен, когда нужно держать под рукой десятки серверов и быстро между ними переключаться. Иногда встречаются мелкие баги на новых версиях RDP, но в Linux-среде это один из самых популярных клиентов.

🟣Devolutions Remote Desktop Manager - уже не просто RDP-клиент, а единая панель удалённого доступа. В одном месте собираются RDP, SSH, VNC, VPN, веб-интерфейсы и учётные данные. Есть роли, аудит и общее хранилище для команды. Подходит для корпоративной среды и командной работы. Интерфейс перегружен, бесплатная версия ограничена, но как центр управления инфраструктурой инструмент очень мощный.

🟣Apache Guacamole интересен тем, что клиентом становится браузер. Вся логика RDP, VNC и SSH живёт на сервере, а администратор подключается через HTML5. Топ для bastion-хостов, подрядчиков и ситуаций, когда нельзя ставить ПО на рабочую машину. Задержка выше, чем у нативных клиентов, но доступ возможен буквально с любого устройства.

Серверная Админа | #RDP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🍾64🎄2🎅1
👋 Привет, сетевой друг!

Сегодня разберём протокол EAPS, который делает из кольцевой сети сверхбыструю и надёжную

🟣Зачем он: в промышленной или операторской сети кольцо часто используется для резервирования, но стандартное STP медленное. EAPS (Ethernet Automatic Protection Switching) умеет восстанавливаться за миллисекунды, минимизируя потерю трафика.

🟣Как работает: EAPS строит кольцо и назначает один порт контролирующим (manager), остальные - транзитные. Если на любом сегменте происходит разрыв, контролирующий порт мгновенно закрывает один из транзитных портов на другом конце, чтобы трафик перенаправился по кольцу в обратную сторону.

🟣Сходимость: всего 50 мс для полного восстановления на кольце с десятками коммутаторов - почти моментально по сравнению со STP. Трафик продолжает идти без потерь, что критично для VoIP, SCADA и промышленных датчиков.

🟣Фишки: поддержка нескольких колец на одном коммутаторе, интеграция с QoS и VLAN, мониторинг состояния в реальном времени, защита от «двойного разрыва» и автоматическая диагностика.

🟣Безопасность: только авторизованные коммутаторы могут участвовать в EAPS-кольце, а управляющие кадры подписаны для предотвращения подделки.

Серверная Админа | #EAPS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍142😱1👾1
👋 Привет, сетевой друг!

Сегодня расскажу о том, как устроен MAC-адрес

🟣Что это вообще такое: MAC-адрес (Media Access Control) - это 48-битный уникальный идентификатор сетевого интерфейса. Он используется на втором уровне модели OSI для доставки Ethernet-кадров именно в локальной сети. Без MAC-адреса пакеты просто не дойдут до получателя в одной подсети.

🟣Как он устроен: MAC-адрес состоит из 6 байт и делится на две части по 3 байта. Первые три - OUI (Organizationally Unique Identifier), код производителя, который назначает IEEE. Последние три - уникальный номер конкретного устройства, который выдаёт сам производитель.

🟣Особенности первого байта: В нём зашиты два важных бита. Второй бит справа (U/L) определяет: 0 - глобально уникальный адрес (заводской), 1 - локально администрируемый. Первый бит справа (I/G): 0 - unicast (индивидуальный), 1 - multicast (групповой). Это помогает быстро понять тип адреса и даже производителя по OUI.

Серверная Админа | #MAC
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍12🔥4
Сегментация LAN: почему она почти никогда работает

В статье рассказывают, почему сегментация локальной сети почти всегда остаётся на бумаге. Вроде бы есть VLAN’ы, есть правила на firewall, всё выглядит изолированным. Но на практике исключений становится всё больше, старые системы требуют доступа отовсюду, а сотрудники обходят ограничения, потому что иначе работа встаёт. Без постоянного контроля, регулярного аудита и реальной дисциплины даже идеально настроенная сегментация быстро превращается в формальность, которая защищает только на схеме.​​​​​​​​​​​​​​​​

Серверная Админа | #Статья
👍16🤣6😁2🤡2🤔1
👋 Привет, сетевой друг!

Сегодня поговорим об инструменте
wsock-trace

🟣Что это: wsock-trace - это tracing-библиотека для Winsock. Она встраивается между приложением и ws2_32.dll и логирует все сетевые вызовы: socket(), connect(), send(), recv(), select(), AcceptEx() и т.д. По сути, это strace, но для Windows-сокетов.

🟣Чем реально полезен: вы видите не просто факт сетевого вызова, а кто именно его вызвал - файл, строку кода, имя функции, смещение в бинаре. Плюс точные таймстемпы, параметры вызовов и коды ошибок Winsock. Отлично заходит, когда приложение «что-то делает с сетью», но Wireshark не даёт ответа почему.

🟣Как работает: приложение линкуется не с ws2_32.lib, а с wsock_trace.lib. DLL перехватывает вызовы Winsock, логирует вход/выход функций и через PDB-символы восстанавливает стек вызовов. В итоге видно, какая строка кода инициировала сетевую активность и с каким результатом.

🟣Фишки в реальной жизни: цветной вывод, миллисекундные таймстемпы через QueryPerformanceCounter, трейс Microsoft-специфичных функций (ConnectEx, AcceptEx), GeoIP/ASN информация по IP, детект попаданий в Spamhaus DROP-листы, логирование событий Windows Filtering Platform и даже искусственное замедление send/recv для тестов гонок и таймингов.

🟣Быстрый старт: Собирается под MSVC / clang-cl:

cd src
nmake -f makefile.vc6


Дальше линкуете приложение с нужной библиотекой:

wsock_trace-x64.lib   // для x64
wsock_trace-x86.lib // для x86


И запускаете бинарь как обычно, все Winsock-вызовы сразу начинают логироваться.

Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94👾1
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня разберём ещё 5 полезных фишек для Cisco IOS, которые реально экономят время и нервы.

🟣Условная отладка (Conditional Debugging): Вместо того чтобы заливать консоль логами, включайте debug только для конкретного трафика или интерфейса. Экономит CPU и нервы.

debug condition interface Gi1/0/5 debug condition mac 0011.2233.4455 debug ip packet detail no debug all (не забудьте выключить)


🟣Object Tracking + IP SLA для надёжного failover: Настраивайте мониторинг достижимости и автоматически меняйте маршрут или интерфейс при падении.

ip sla 1 icmp-echo 8.8.8.8 source-interface Gi0/0 frequency 5 track 1 ip sla 1 reachability ip route 0.0.0.0 0.0.0.0 10.0.0.1 track 1 ip route 0.0.0.0 0.0.0.0 10.0.0.2 10


🟣Embedded Packet Capture (EPC): Захватывайте пакеты прямо на устройстве без внешнего SPAN - удобно на роутерах, где нет свободных портов.

monitor capture MYCAP interface Gi1/0/1 both match any monitor capture MYCAP start monitor capture MYCAP stop show monitor capture MYCAP buffer brief export: copy monitor capture MYCAP tftp://10.0.0.100/capture.pcap


🟣EEM-скрипты для автоматизации реакции: Пусть устройство само реагирует на события - от перезагрузки порта при ошибках до отправки уведомлений.

event manager applet CLEAR_ERR event syslog pattern “INTERFACE.*UPDOWN.*down” action 1.0 cli command “enable” action 2.0 cli command “conf t” action 3.0 cli command “interface $_syslog_msg” action 4.0 cli command “shutdown” action 5.0 cli command “no shutdown”


🟣NetFlow + Flexible - NetFlow для детального анализа трафика: Стандартный NetFlow уже устарел - используйте Flexible для кастомных ключей и коллекторов.

flow record MYRECORD match ipv4 source address match ipv4 destination address match transport tcp destination-port collect counter bytes long flow exporter MYEXP destination 10.0.0.100 flow monitor MYMON exporter MYEXP record MYRECORD interface Gi1/0/1 ip flow monitor MYMON input


Серверная Админа | #Cisco
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥴84
👋 Привет, сетевой друг!

Сегодня разберём, в чём разница между Segment Routing и MPLS.

🟣MPLS - проверенная классика. Работает на основе меток (label stacking): ingress-роутер ставит стек меток по заранее рассчитанному LSP (Label Switched Path). Интермедиатные LSR просто свопают верхнюю метку и форвардят по таблице LFIB. Контрольная плоскость - LDP/RSVP-TE. RSVP-TE даёт явные пути, резервирование bandwidth и FRR.

Примеры команд:

show mpls ldp neighbor
show mpls traffic-eng tunnels
interface Gi0/1
mpls ip
mpls traffic-eng tunnels


🟣Segment Routing - современная эволюция, упрощает всё до минимума. Источник (ingress) сам кодирует весь путь в пакете как список сегментов (Segment List) в SR-MPLS это стек меток, в SRv6 - IPv6 Extension Header. Core stateless: промежуточные роутеры просто следуют инструкциям в пакете, без per-flow состояния.

Примеры:

show segment-routing mpls
show isis segment-routing
segment-routing mpls
router isis 1
segment-routing mpls
segment-routing traffic-eng policy LOW-DELAY
color 10 endpoint 10.255.255.255
candidate-paths
preference 100
explicit segment-list PATH1
index 10 mpls label 16010


🟣Короче говоря, MPLS - мощный, но тяжёлый инструмент с состоянием везде и сложным сигналингом. SR - лёгкий, масштабируемый, stateless core, полный контроль на headend, проще автоматизация и миграция. Сейчас многие провайдеры и крупные DC переходят на SR-MPLS/SRv6, оставляя MPLS для легаси или сложных сценариев.

Серверная Админа | #SR #MPLS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4👾21
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня расскажу про 5 команд в Linux, которые могут превратить твой сервер в кирпич.

🟣:(){ :|:& };: Классическая fork-bomb на уровне shell. Процессы начинают порождать сами себя, быстро заканчиваются PID и системные лимиты. Сервер перестаёт отвечать, новые подключения невозможны, лечение обычно одно - жёсткая перезагрузка.

🟣dd if=/dev/random of=/dev/sda: Пишет поток случайных данных напрямую на диск. Данные уничтожаются полностью, а параллельно система получает экстремальную нагрузку на I/O, из-за чего может «зависнуть» ещё до завершения команды.

🟣mount /dev/sda1 /var: Монтирование поверх системного каталога скрывает его содержимое. Для /var это означает мгновенные сбои логов, пакетного менеджера и сервисов, которые ожидают увидеть свои файлы, но получают пустую директорию.

🟣iptables -F: Очищает все правила фильтрации. На удалённом сервере это часто либо потеря SSH-доступа, либо внезапное открытие всех портов наружу - в зависимости от того, как была построена политика.

🟣echo b > /proc/sysrq-trigger: Немедленная перезагрузка ядра без синхронизации файловых систем. Инструмент аварийный, но при ошибочном применении почти гарантирует повреждение данных.

Серверная Админа | #network
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26😱105
Сам себе VoLTE. Запускаем сотовую сеть 4G LTE с поддержкой звонков и SMS

Автор берёт обычные звонки и SMS и показывает, что за ними стоит вполне понятная инженерная система, с которой можно разобраться самому. Это история про то, как из базовой 4G-сети с интернетом дорасти до полноценного LTE с VoLTE: голосом, сообщениями и всей логикой переключений, как у настоящих операторов. По ходу дела становится понятно, что современные звонки это вообще не “голосовой канал” в старом смысле, а IP-сервис с IMS, SIP и контейнерами. И всё это можно собрать у себя дома из SDR-железки, Docker и открытого софта.

Серверная Админа | #Статья
1👏26🔥5👍41👾1
👋 Привет, сетевой друг!

Сегодня продолжим обсуждать инструмент
wsock-trace. Разберем, как использовать инструмент на деле.

🟣Подключаем библиотеку правильно: Вместо стандартной ws2_32.lib приложение нужно линковать с wsock-trace:

wsock_trace-x64.lib   // для x64
wsock_trace-x86.lib // для x86


Сборка выполняется из каталога src:

nmake -f makefile.vc6


Критично, чтобы бинарь собирался с debug-символами:

cl /Zi /Zo source.c wsock_trace-x64.lib
link /debug


Без PDB стек вызовов и строки кода восстановлены не будут.

🟣Смотрим инициализацию сетевого стека: Первое, что видно в трейсе - реальный момент старта Winsock:

WSAStartup(MAKEWORD(2,2), &wsa);


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

🟣Анализируем создание и настройку сокетов. Создание сокета:

socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);


Перевод в неблокирующий режим:

ioctlsocket(sock, FIONBIO, &mode);


Установка опций:

setsockopt(sock, SOL_SOCKET, SO_LINGER, &linger, sizeof(linger));
setsockopt(sock, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));


wsock-trace сразу показывает неверные аргументы, которые в обычных логах не видны.

🟣Диагностика зависших connect и select. Установка соединения:

connect(sock, (struct sockaddr*)&addr, sizeof(addr));


Работа с ожиданием событий:

select(nfds, &readfds, &writefds, NULL, &timeout);
FD_ISSET(sock, &readfds);


В трейсе видно, был ли WSAEWOULDBLOCK, какие fd реально готовы и почему код застрял в ожидании, хотя «по логике» не должен.

🟣Передача данных и тайминги. Отправка и приём:

send(sock, buf, len, 0);
recv(sock, buf, len, 0);
recvfrom(sock, buf, len, 0, &from, &fromlen);


Каждый вызов сопровождается точным таймстемпом через QueryPerformanceCounter, количеством байт и направлением трафика. Это позволяет увидеть, где именно появляются задержки.

При необходимости можно искусственно замедлить сеть через конфиг:

recv_delay = 50
send_delay = 20


Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👏10
От отключения хостером до полной стабильности
Как CURATOR защитил 3DNews и ServerNews от DDoS и ускорил доставку контента


Атака почти 3000 Мбит/с — и хостер 3DNews «падает» меньше чем за полчаса, просто отключив сеть.
Для медиа это катастрофа: простой, потеря трафика и удар по репутации.

Команда CURATOR подключилась в самый критичный момент и быстро вернула сайт к жизни. Подробнее о том, как это было сделано - в карточках.

Этот и другие реальные кейсы, а также экспертная информация в области кибербезопасности — в канале CURATOR.
31🤡1🤣1