Серверная Админа | Компьютерные сети
Я действующий сетевой инженер, расскажу вам о сетях в доступной форме. Реклама - @bashmak_media Мы на бирже: https://telega.in/c/school_network РКН: https://vk.cc/cHYqt5
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Серверная Админа | Компьютерные сети
تُعد قناة Серверная Админа | Компьютерные сети (@school_network) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 26 542 مشتركاً، محتلاً المرتبة 4 901 في فئة التكنولوجيات والتطبيقات والمرتبة 24 291 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 26 542 مشتركاً.
بحسب آخر البيانات بتاريخ 06 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -116، وفي آخر 24 ساعة بمقدار -5، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 10.08%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.75% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 677 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 261 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 13.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل tcp, протокол, src, интерфейс, mpls.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Я действующий сетевой инженер, расскажу вам о сетях в доступной форме.
Реклама - @bashmak_media
Мы на бирже: https://telega.in/c/school_network
РКН: https://vk.cc/cHYqt5”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 07 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
Привет, сетевой друг!
Сегодня про Network Doctor - TUI для диагностики сети, который пытается не просто показать пачку вывода от ping, dig и curl, а найти место, где именно ломается соединение.
🟣Запускаете:
netdoc github.comИ инструмент последовательно проверяет DNS, TCP, TLS и HTTP, связывая результаты между собой. Если DNS не работает, зависимые проверки не запускаются, а итог прямо говорит, что проблема в разрешении имени. То есть вместо:
ping - не работает
curl - не работает
получаете примерно:
DNS: FAIL TCP: SKIP TLS: SKIP HTTP: SKIP Diagnosis: target hostname does not resolve🟣При этом проверки разбиты на независимые ветки. Отдельно проверяются локальный интерфейс и Wi-Fi, выход в интернет, QUIC/UDP 443, DNS, DoH/DoT, proxy и путь до конкретного сервиса. Можно проверить даже порт:
netdoc github.com:22Тогда вместо HTTP-проверок появится SSH banner check. 🟣Интересная часть - Path MTU. Network Doctor умеет искать проблемы с MTU без root-доступа и обычного ICMP-пинга. Это полезно для случаев, когда соединение вроде бы устанавливается, но определённые пакеты по пути начинают теряться. 🟣Если проблема плавающая, есть Watch Mode:
netdoc --watch host
Он повторяет проверки и сохраняет небольшую историю инцидента: что работало до сбоя, где появилась проблема и когда всё восстановилось.
А для автоматизации есть JSON:
netdoc --json host
и стабильные exit codes, поэтому результат можно использовать уже в скриптах и мониторинге.
🟣Ещё можно сохранить диагностику:
netdoc --save failure.ndoc host
netdoc --support support.ndoc host
А потом сравнить хороший и плохой запуск:
netdoc --compare good.ndoc bad.ndoc
Причём сравнение сохранённых отчётов не требует нового сетевого подключения.
🟣Сам Network Doctor написан на Go и работает на Linux, macOS и Windows. Внутри TUI используется Bubble Tea, а если одной встроенной проверки мало, прямо из интерфейса можно запустить привычные route, ss, ping, DNS, curl, traceroute, mtr или nmap. Получается не очередной «ping с красивым интерфейсом», а попытка разложить сетевую проблему по слоям и сразу связать результат с конкретной причиной.
Серверная Админа | Zeroday | #ИнструментПривет, сетевой друг!
Ещё три функции MikroTik, которые легко пропустить, пока не столкнёшься с конкретной задачей.
🟣Connection Tracking Helpers - когда роутер понимает протокол
RouterOS умеет подключать helpers для некоторых протоколов, где одного IP/порта недостаточно, чтобы нормально отслеживать соединения. Например, FTP может открывать дополнительные соединения для передачи данных. Helper анализирует управляющий канал и помогает connection tracking понять, какой трафик относится к этой сессии.
Проверить helpers:
/ip/firewall/service-port/printА ненужные можно отключить:
/ip/firewall/service-port/set ftp disabled=yes🟣Torch - посмотреть трафик прямо на интерфейсе: Когда нужно быстро понять, кто и куда ходит, не обязательно сразу запускать Wireshark.
/tool/torch interface=ether1Можно фильтровать по IP, порту, протоколу и направлению. Например, быстро найти, кто забивает uplink или куда конкретно уходит трафик. 🟣Packet Sniffer умеет отдавать трафик прямо в Wireshark: На MikroTik можно захватить пакеты и открыть их в Wireshark:
/tool/sniffer
set filter-interface=ether1 \
filter-ip-address=10.0.0.10/32 \
file-name=capture.pcap
start
После остановки получаете обычный PCAP:
/tool/sniffer/stopЭто удобно, когда проблема происходит на самом роутере: SYN приходит, ответ уходит, но дальше что-то теряется. Серверная Админа | Бункер Хакера | #Mikrotik
Привет, сетевой друг!
Сегодня про UUCP - протокол и набор утилит, через которые Unix-машины десятилетиями обменивались файлами, почтой и командами задолго до привычного нам интернета.
🟣Название расшифровывается как Unix-to-Unix Copy. Изначально идея была максимально простой: одна машина звонит другой по модему, устанавливает соединение и передаёт задания. Никаких постоянных TCP-соединений. Машины могли вообще не быть одновременно онлайн.
🟣Например, сервер A хотел отправить файл серверу B. UUCP складывал задание в очередь:
A ├── файл ├── адрес получателя └── команда на обработкуКогда наступало время связи, машина дозванивалась до
B, передавала накопившиеся задания и забирала то, что накопилось в обратную сторону.
🟣Из этого выросла довольно интересная схема маршрутизации. Если A не мог напрямую связаться с C, файл можно было отправить через B:
A → B → CУзлы образовывали цепочки, а сообщения могли проходить через несколько промежуточных машин. 🟣UUCP использовали не только для файлов. Через него пересылали электронную почту, новости Usenet и удалённые команды. Особенно это подходило для дорогих dial-up соединений: связь поднималась только тогда, когда действительно появлялись данные для передачи. 🟣Сегодня идея выглядит архаично, но концепция никуда не делась. Очередь заданий, store-and-forward и передача при появлении связи всё ещё используются там, где постоянное соединение невозможно или слишком дорого. Просто вместо пары Unix-серверов с модемами теперь это могут быть устройства с нестабильным спутниковым каналом, IoT и системы в удалённых местах. Серверная Админа | #XMODEM
Привет, сетевой друг!
Давай разберём несколько TCP-флагов и состояний, которые особенно полезны, когда смотришь трафик в Wireshark и пытаешься понять, где именно всё сломалось.
🟣SYN без SYN-ACK
Клиент отправляет
Client → Server SYN Client → Server SYN Client → Server SYNа ответа нет. Это ещё не значит «сервер лежит». SYN мог потеряться, его мог отбросить файрвол, либо обратный маршрут сломан. Поэтому следующий шаг - смотреть, доходят ли пакеты до сервера и есть ли от него ответ. 🟣SYN-ACK приходит, но клиент отвечает RST: Здесь картина уже интереснее:
Client → Server SYN Server → Client SYN-ACK Client → Server RSTСервер явно ответил, но клиент сразу сбросил соединение. Такое бывает, например, когда клиентский стек уже не ожидает этот ответ или состояние соединения исчезло из-за NAT/stateful firewall. 🟣RST вместо SYN-ACK
Client → Server SYN Server → Client RSTTCP-порт на той стороне явно отверг попытку соединения. Классический случай - приложение не слушает этот порт. Но RST может генерироваться и сетевым оборудованием или security-механизмом, поэтому источник пакета тоже стоит проверить. 🟣FIN и RST - совсем разные истории
FIN означает: «я закончил отправлять данные».
RST означает: «эту TCP-сессию прекращаем прямо сейчас».
Например, нормальное закрытие выглядит примерно так:
Client → Server FIN Server → Client ACK Server → Client FIN Client → Server ACKА
RST посреди нормального обмена уже требует посмотреть, что происходило непосредственно перед ним.
🟣ACK с неожиданным номером: TCP подтверждает не отдельные пакеты, а последовательность байтов.
Например:
SEQ=1000 LEN=500 ACK=1500Если сервер продолжает получать
ACK=1000, хотя уже отправил данные дальше, можно увидеть retransmission, duplicate ACK и проблемы с доставкой.
Именно по комбинации SEQ, ACK, SYN, FIN, RST и времени между пакетами часто можно восстановить всю историю TCP-сессии - кто начал соединение, где потерялся пакет и на каком этапе оно развалилось.
Серверная Админа | Zeroday | #ИнструментПривет, сетевой друг!
Сегодня про webcensus - инструмент для довольно специфичной задачи: найти один и тот же URL-путь сразу на огромном количестве сайтов.
🟣Например, хочется понять, кто вообще публикует /.well-known/security.txt, robots.txt, ads.txt или sitemap.xml. Перебирать сайты по одному здесь явно не вариант.
🟣webcensus собирает это в конвейер из нескольких этапов:
список доменов
↓
DNS
↓
HTTPS probe
↓
скачивание
↓
проверка файла
Сначала massdns быстро резолвит миллионы доменов и оставляет только те, у которых есть A-запись.
🟣Дальше в дело вступает собственный Rust-пробер skim. Он подключается к :443, выполняет TLS handshake и отправляет обычный HTTP-запрос к нужному пути. Но самое интересное - тело ответа на этом этапе вообще не скачивается.
Инструмент читает только HTTP status line:
{"url":"https://example.com/.well-known/security.txt","status":"success","code":200,"cert_ok":true}
Поэтому из миллионов адресов дальше проходят только те, где HTTPS вообще поднялся и нужный путь вернул 200.
🟣И только теперь начинается полноценная загрузка. curl --parallel скачивает найденные URL пачками, причём для каждого запроса есть ограничения по размеру, времени и числу повторных попыток.
Например:
--parallel-max 50 --max-filesize 5M --max-time 10 --connect-timeout 3 --retry 2Это важно, потому что сервер вполне может ответить
200, а вместо маленького security.txt отдать несколько мегабайт HTML.
🟣После скачивания webcensus ещё раз проверяет содержимое уже локально. HTML-страницы, JSON-ошибки, бинарный мусор и слишком короткие ответы отбрасываются.
Получается важная разница:
HTTP 200 ≠ нужный файл действительно существуетНапример, сайт может отдавать одну и ту же SPA-страницу на любой URL с кодом
200. Для простого сканера это найденный файл, для webcensus - мусор.
🟣Весь процесс запускается внутри Docker, а каждый этап оставляет результат в data/. Можно остановиться после любого шага и продолжить с него, а локальный этап проверки вообще не требует повторно ходить в интернет.
Серверная Админа | Zeroday | #ИнструментПривет, сетевой друг!
Сегодня про Ethernet, который мы привыкли воспринимать как обычный кабельный LAN. Но за ним давно стоит целый набор технологий, которые позволяют гонять трафик на десятки и сотни гигабит.
🟣Сначала был 10BASE-T: В классическом Ethernet по витой паре использовались 10 Мбит/с и обычная схема с хабами. Несколько устройств делили один collision domain и решали, кто сейчас может передавать, через CSMA/CD. С современными коммутаторами эта история практически исчезла.
🟣Потом Ethernet научился работать одновременно: Появился full-duplex: устройство может передавать и принимать данные одновременно, а коллизии на коммутируемом соединении больше не нужны. Поэтому сегодня 1000BASE-T означает не просто «гигабит по кабелю». Это уже point-to-point соединение между портом коммутатора и конечным устройством.
🟣А дальше началась гонка скоростей:
10 → 100 → 1000 → 10G → 25G → 40G → 100G → 200G → 400G → 800G.Причём скорость росла не только за счёт увеличения частоты сигнала. Используются более сложные схемы кодирования, PAM4, несколько физических линий и всё более продвинутые DSP. Например, 400GbE может передавать данные четырьмя электрическими или оптическими лэйнами по 100 Гбит/с. 🟣Почему 25G вообще появился, если был 10G?: Для дата-центров оказалось удобнее масштабировать серверные подключения по 25G: один 25G lane хорошо сочетается с 100G и 400G аплинками. Например:
Server │ 25G ▼ Leaf │ 100G ▼ Spine │ 400G ▼ CoreТак Ethernet постепенно превратился из стандарта для офисной сети в основу современных дата-центров. 🟣И самое интересное: Ethernet не выиграл потому, что у него всегда была самая высокая скорость. Его сила в огромной экосистеме: совместимые коммутаторы, NIC, оптика, медь, стандарты, LACP, VLAN, QoS и куча оборудования от разных производителей. Поэтому когда вы подключаете сервер на 25G или 100G, под капотом всё ещё работает тот же Ethernet, которому уже больше 40 лет. Серверная Админа | Zeroday | #LAN
Привет, сетевой друг!
Собрал три способа прокачать защиту MikroTik - особенно если роутеров уже несколько и хочется меньше ручной работы…
🟣Автоматически обновлять блок-листы через RouterOS API + Python: Когда роутеров десятки, заходить на каждый и вручную добавлять подозрительные IP - сомнительное удовольствие. Через API можно централизованно обновлять address-list и быстро распространять блокировки на весь парк:
import routeros_api
connection = routeros_api.RouterOsApiPool(
'192.168.1.1',
username='admin',
password='pass',
plaintext_login=True
)
api = connection.get_api()
rules = api.get_resource('/ip/firewall/filter')
print(rules.get())
Например, добавить IP в blocklist:
api.get_resource('/ip/firewall/address-list').add(
list='blocklist',
address='10.0.0.5',
comment='auto-blocked'
)
Так можно быстро блокировать адреса, полученные из SIEM, threat intelligence или внутренней системы мониторинга, сразу на всех MikroTik.
🟣Проверять доступность сервисов через Netwatch: Ping не всегда показывает реальное состояние сервиса. Хост может отвечать на ICMP, пока nginx возвращает 502, приложение не работает, а пользователи уже не могут подключиться. Для дополнительного контроля Netwatch можно связать с HTTP health-check и проверять конкретный endpoint:
/tool netwatch
add host=10.0.0.10 interval=30s timeout=5s \
type=HTTP http-codes=200 \
down-script="/log error \"Web server DOWN\"" \
up-script="/log info \"Web server UP\""
Если сервис перестал отвечать, down-script может добавить его адрес в отдельный список, отправить событие в мониторинг или запустить переключение на резервный сервер.
🟣Ловить сканирование внутри сети: Скомпрометированный хост может начать быстро перебирать адреса и открывать множество TCP-соединений. Для этого можно отслеживать новые SYN и складывать активные источники в отдельный список:
/ip firewall mangle
add chain=forward protocol=tcp tcp-flags=syn \
connection-state=new \
src-address-list=!whitelist \
action=add-src-to-address-list \
address-list=syn-tracking \
address-list-timeout=30s
/ip firewall filter
add chain=forward protocol=tcp tcp-flags=syn \
connection-state=new \
src-address-list=syn-tracking \
connection-limit=30,32 \
action=add-src-to-address-list \
address-list=internal-scanner \
address-list-timeout=1h \
log=yes \
log-prefix="SCAN DETECTED:"
add chain=forward src-address-list=internal-scanner \
action=drop \
log=yes \
log-prefix="SCANNER BLOCKED: "
В итоге источник, который набирает слишком много одновременных TCP-соединений, попадает в internal-scanner, а следующее правило уже режет ему трафик.
Серверная Админа | Zeroday | #Mikrotik— Кто взял заявку бухгалтерии? — Саша вроде. — А сервером кто занимается? — Я думал, ты. — А в филиал кто-нибудь написал? — Сейчас спрошу.И вот вместо работы кто-то в команде постепенно превращается в диспетчера. Нужно помнить, кому что передали, проверять, взял ли человек задачу, смотреть, кто сейчас свободен, напоминать про зависшие обращения и периодически разруливать классическое «я думал, это делает кто-то другой». Пока админ один, такой проблемы почти нет. Когда появляется команда и поток обращений растёт — координация сама становится отдельной работой. В Okdesk эту «диспетчерскую» нагрузку можно снять: заявки распределяются между сотрудниками и командами, назначаются ответственные, задаются приоритеты и сроки, настраивается автоматическая маршрутизация. ❓Вопрос «Саша это делает?» больше не нужен — достаточно открыть платформу и увидеть, кто отвечает за заявку и на каком она этапе. Хотите увидеть, как это работает на практике? Приходите на вебинар — разберём на примере «Мобиус Технологии», как разделить потоки между поддержкой, инженерами и экспертами, настроить маршрутизацию под разные типы обращений и масштабировать обслуживание без потери SLA. 👉 Получить бесплатный вебинар можно по ссылке https://lead.okdesk.ru/mnogourovnevyj-servis
Реклама. ООО «Облачные решения». erid: 2VtzqxJ7bjzПривет, сетевой друг!
Давай расскажу про протокол ALTO, через который оператор сам подсказывает приложению как лучше передавать трафик в его сети.
🟣Проблема которую решает: приложение не знает топологию сети оператора. P2P-клиент выбирает пира случайно и трафик может идти через дорогой межоператорский линк когда нужный пир сидит в той же AS за соседним свитчем. Стриминг выбирает CDN-узел по географии, а не по реальной близости в сети. Оператор об этом знает, но молчит.
🟣Что делает ALTO: оператор поднимает ALTO-сервер и отдаёт через REST API карту своей сети - стоимость маршрутов между подсетями, предпочтительные точки выхода, ранжирование эндпоинтов. Приложение делает запрос и получает подсказку кого лучше выбрать:
# Запрос стоимости маршрутов между подсетями curl https://alto.operator.com/networkmap curl https://alto.operator.com/costmap/pv/num/routingcost # Ответ содержит матрицу стоимостей между PID-группами # PID — это группы подсетей которые оператор считает эквивалентными🟣Как это выглядит на практике: BitTorrent-клиент с поддержкой ALTO спрашивает у оператора какие из доступных пиров предпочтительнее. Оператор отвечает что пиры внутри его AS имеют стоимость 0, а пиры в других AS стоимость 10. Клиент выбирает внутренних - оператор экономит на межоператорском трафике, пользователь получает лучшую скорость. 🟣Endpoint Cost Service - самая полезная часть: приложение отдаёт список конкретных IP и получает их ранжирование:
POST /endpointcost/lookup
{
"cost-type": {"cost-mode": "numerical", "cost-metric": "routingcost"},
"endpoints": {
"srcs": ["ipv4:192.0.2.1"],
"dsts": ["ipv4:198.51.100.1", "ipv4:203.0.113.1", "ipv4:198.51.100.2"]
}
}
В ответе каждому dst назначена стоимость - приложение выбирает минимальную.
🟣А где используют: крупные CDN запрашивают ALTO у операторов для выбора точки присутствия, WebRTC-клиенты для выбора TURN-сервера, следующее поколение адаптивного стриминга. RFC 7285 принят в 2014 году, активно развивается - в 2021 вышли расширения для поддержки ALTO в мультидоменных сетях и датацентрах.
🟣И это редкий случай когда оператор и приложение реально сотрудничают вместо того чтобы бороться. Оператор получает меньше межоператорского трафика, приложение получает лучший выбор узлов, пользователь получает скорость. Все довольны.
Серверная Админа | Zeroday | #ALTOПривет, сетевой друг!
Давай расскажу про mdns-scanner, который быстро пробегается по локальной сети и пытается понять, какие устройства там вообще живут.
🟣Запускаете его - и вместо голого списка IP получаете связку адресов с именами:
192.168.1.12 → macbook.local 192.168.1.24 → printer.local 192.168.1.37 → nas.localПричём он не ограничивается обычным DNS. mdns-scanner умеет собирать mDNS-имена, DNS-SD service instances и другие алиасы, которые устройства сами объявляют в локальной сети. 🟣mDNS особенно крут там, где обычного DNS просто нет. Например, ноутбук или принтер может прекрасно знать себя как
printer.local, хотя никакой записи для него на вашем DNS-сервере не существует.
А через DNS-SD можно увидеть ещё и опубликованные сервисы:
_http._tcp _ssh._tcp _airplay._tcp _printer._tcpТо есть можно понять не только «этот IP существует», но и «что устройство вообще предлагает в сети». 🟣Инструмент автоматически сканирует доступные non-loopback интерфейсы, ищет хосты и пытается разрешить найденные IP в связанные имена. Получается довольно удобная быстрая инвентаризация локалки без ручного просмотра ARP-таблиц и DNS. 🟣Написан mdns-scanner на Rust, есть версии для Linux, macOS и Windows. На Windows понадобится Npcap. Установка из Git:
cargo install --git https://github.com/CramBL/mdns-scanner mdns-scanner
Или можно скачать готовый бинарник из Releases.
🟣Но есть маленький нюанс. Утилита действительно сканирует сеть, причём довольно бодро - автор предупреждает о сотнях IP-проверок в секунду. Поэтому в рабочей сети лучше сначала предупредить админа, а не устраивать внезапную перепись всего /24.
Серверная Админа | Zeroday | #ИнструментGET /api/user/42 X-Timestamp: 1714000000 X-Signature: 8f3a91...Сервер повторяет расчёт с тем же секретом. Подписи совпали - запрос не изменён и знает секрет. 🟣Что именно подписывается: обычно метод, путь, timestamp, nonce и тело запроса. Например:
POST
/api/payment
1714000000
abc123
{"amount":100}
Из этой строки и секретного ключа получается HMAC:
HMAC-SHA256(data, secret)
🟣Почему просто отправить секрет нельзя: клиент не передаёт ключ серверу при каждом запросе. Он используется только для вычисления подписи.
Если атакующий изменит:
{"amount":100}
на:
{"amount":100000}
подпись уже не совпадёт.
🟣Но HMAC сам по себе не защищает от повторной отправки запроса. Если украсть настоящий запрос, его можно попробовать отправить ещё раз.
Поэтому рядом используют timestamp и nonce:
timestamp → запрос должен быть свежим nonce → конкретный запрос можно использовать один раз signature → данные нельзя незаметно изменитьТакую схему часто используют API, вебхуки и взаимодействие между сервисами, где важно доказать не только «кто отправил запрос», но и что его содержимое не меняли по дороге. Серверная Админа | Zeroday | #HMAC
