Серверная Админа | Компьютерные сети
Я действующий сетевой инженер, расскажу вам о сетях в доступной форме. Реклама - @bashmak_media Мы на бирже: https://telega.in/c/school_network РКН: https://vk.cc/cHYqt5
نمایش بیشتر📈 تحلیل کانال تلگرام Серверная Админа | Компьютерные сети
کانال Серверная Админа | Компьютерные сети (@school_network) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 26 542 مشترک است و جایگاه 4 901 را در دسته فناوری و برنامهها و رتبه 24 291 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 26 542 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 06 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -116 و در ۲۴ ساعت گذشته برابر -5 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 10.08% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 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
