• Какой самый легковесный nix-дистрибутив?

    vabka
    @vabka
    Токсичный шарпист
    Самый лёгкий из deb-подобных собственно Debian.
    Ответ написан
    1 комментарий
  • Можно ли прописать на публичных DNS ip серверов в локальной сети?

    vabka
    @vabka
    Токсичный шарпист
    Можно, разрешаю.
    Но в принципе обычно такое решают через внутренний DNS, чтобы не тащить информацию о внутренностях сети на публику.
    Ответ написан
    2 комментария
  • Как сделать чтобы задача запускалась в диапазоне 0:00 - 01:00?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    В systemd-timer есть параметр, добавляющий разброс в указанном диапазоне. Задача в кроне со слипом - для 2023 года жуткий костыль и атавизм.
    Ответ написан
    Комментировать
  • OC для маршрутизации на x86-64?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Ужасный pfsense на самом деле ок. С прокладкой обычно проблема бывает.
    Ответ написан
    Комментировать
  • Как установить Php5.4-fpm(или 5.6) на ubuntu 18.04?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Проще всего сделать это через Docker: https://hub.docker.com/layers/library/php/5.4-fpm/...
    Ответ написан
    1 комментарий
  • Сравнить файлы и удалить совпадения по первым 7 символам?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вообще такая себе идея проверять принадлежность адреса подсети с помощью строковых операций. Мне кажется лучше вместо баша заюзать питоновский скрипт и сделать все правильно. ВОт такие функции могут пригодиться:
    def mask(bitcount):
        return 2**bitcount-1 << (32-bitcount)
    
    def ip2int(ip):
        return sum(256**i*int(octet) for i, octet in enumerate(reversed(ip.split('.'))))
    
    def addr_in_network(addr, network):
        net, mask_size = network.split('/')
        mask_value = mask(int(mask_size))
        return ip2int(addr) & mask_value == ip2int(net) & mask_value
    Ответ написан
    Комментировать
  • Как оптимизировать цепочку для wake on lan?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Поставить на одноплатник телеграм бот, в который добавить возможность послать wake on lan. И в боте просто сделать проверку что это ты. Ну и все. не надо никаких больше vps и сложных цепочек
    Ответ написан
    1 комментарий
  • Как оператор сотовой связи понимает, что сим-карта выдаёт интернет на смартфон или на роутер/USB-модем?

    @yaror
    10 лет в мобильном телекоме
    Уже немного обсуждалось здесь:
    Работа роутера?

    Ещё раз повторюсь, немного творчески переработав ответ.
    Детекцию раздачи трафика можно условно разделить на несколько рубежей.

    1. Рубеж первый
    Каждое устройство в сотовой сети в момент регистрации сообщает сети свой IMEI - код устройства, по которому можно однозначно определить модель Вашего устройства.

    Да, нужна база IMEI с device capabilities - описанием того, что это за устройство и что оно умеет. Но она у мобильного оператора уже есть: Вам, когда Вы впервые вставляли сим-карту в новый телефон, прилетали SMS-кой настройки интернета? Настройки у разных производителей немного разные, поэтому надо знать модель абонентского аппарата.

    Получается, что как только ты вставляешь сим-карту в Wi-Fi-роутер, оператор сразу понимает, что это роутер, а значит, он будет раздавать интернет через Wi-Fi.
    Реализация этой технологии оператору обходится совершенно бесплатно.

    2. Второй рубеж: анализ TTL.
    Надо понимать, что на первом рубеже будут отловлены только собственно роутеры, а включенная в настройках телефона точка доступа Wi-Fi оператору не видна.
    Но есть уловка: устройство, раздающее интернет по Wi-Fi, по умолчанию будет уменьшать поле TTL на всех проходящих через него ip-пакетах.
    Зная типичные начальные значения TTL для мобильных платформ, можно реагировать на все прочие значения как сигнал, что здесь где-то притаился Wi-Fi.
    Для реализации этого, оператору уже потребуются дополнительные расходы.
    Понятно, что ставить отдельное устройство для отлова любителей Wi-Fi никто не будет, поэтому обычно этим занимается операторский DPI - комплекс, занимающийся классификацией и "раскраской" абонентского трафика, благодаря которому и становятся возможны, скажем, отдельные условия тарификации социальных сетей.
    Кстати, удивительно, но, во-первых, не все DPI это умеют (Эриксон, вам же стыдно, да?). Во-вторых, те, что умеют, умеют это за отдельные деньги в виде подлежащей покупке лицензии.

    3. Рубеж третий: эвристика
    Тема интересная и увлекательная.
    Да, абонент может поменять IMEI прямо в настройках телефона.
    Да, абонент может перепрошить телефон, чтобы тот не трогал TTL.
    Но, как только хитрых абонентов становится много, оператору становится выгодно вкладываться в расширенный анализ трафика на том же DPI.
    Итак, что можно сделать?
    Ну, сходу:

    3.1. Вы выходите в интернет прямо с телефона через встроенный браузер? Поздравляем, Вы только что в поле User-Agent протокола HTTP рассказали оператору, какая у вас мобильная платформа, и какой версии!
    Как так, с одного устройства оператор видит разные User-Agent, указывающие то на Android, то на Apple? Ребята, да у вас там Wi-Fi!

    3.2. TCP/IP fingerptinting. Разные мобильные платформы (те же Android/Apple) используют разные начальные значения полей в ip-пакетах. Да взять хоть тот же TCP Window size! Анализируя их, можно угадать как минимум производителя платформы. А комбинируя это с тем же анализом по IMEI...
    Ребята, а как так: само устройство у вас от Apple, а значения полей в ip-пакетах характерны для Windows Phone?
    Или почему ваш трафик похож то на Android, то на Blackberry?

    Понятно, что эвристический анализ реализован тем более не на каждом DPI, и за тем более отдельные деньги за лицензию. Да и производительность подобный анализ просаживает очень здорово...
    Однако, технические средства уже есть и, как только они начнут окупаться финансово, оператору становится выгодно их внедрять.
    Ответ написан
    6 комментариев
  • Iptables, в чем назначение состояние NEW в цепочке INPUT?

    hint000
    @hint000
    у админа три руки
    Давайте по аналогии. Вы заходите в автобус или в вагон поезда. В этот момент вы - NEW. К вам подходит кондуктор. В автобусе вы покупаете билет, а в поезде предъявляете ранее купленный билет. Кондуктор запоминает ваше лицо и больше к вам не пристаёт, потому что теперь вы - ESTABLISHED. А ещё у вас может быть с собой чемодан - это ваш RELATED.
    Когда вы делаете ... --state RELATED,ESTABLISHED,NEW -j ACCEPT -это значит что кондуктор спит или бухает, вошедших NEW зайцев никто не проверяет, они спокойно едут.
    Не забывайте, что после срабатывания -j ACCEPT или -j DROP дальнейшие правила в цепочке не применяются, так что не важно, что в следующей строчке вы хотите закрыть доступ по какому-то порту, если вы уже применили -j ACCEPT раньше.
    Ответ написан
    4 комментария
  • Как сделать вывод части информации в консоль после ввода команды?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Перенаправить в less:
    ip a | less
    Ответ написан
    Комментировать
  • Можно ли в Telegram Bot как-то реализовать форму?

    @nozzy
    Symfony, Laravel, SQL
    Ответ написан
    Комментировать
  • Посоветуете проекты для домашнего Linux сервера?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    На реддите есть /r/selfhosted, там все любители держать сервак сидят.

    Иногда есть интересные посты.

    Например такой

    642e87b2b5b94475710349.png
    Ответ написан
    1 комментарий
  • Как сделать редактор office на сайте?

    vovka3003
    @vovka3003
    Фрилансер. Инженер систем безопасности.
    Ответ написан
    Комментировать
  • Балансировщик нагрузки для серверов VPN WireGuard?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Сделать несколько серверов, прицепить их А-записями к одному домену и добавить в клиентские конфиги имя, а не IP.
    Ответ написан
    3 комментария
  • Как выводить номер телефона без обновления страницы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Из браузера запрос приходит в один скрипт, а запрос из asterisk'а - в другой. Даже если это один файл, на каждый запрос запускается его отдельная копия. Каждый скрипт, соответственно, отвечает тому, кто послал запрос.
    Вариантов решения несколько.
    1. Websocket. Пишется отдельный сервер, который слушает события Asterisk (AMI/ARI) и рассылает сообщения подключенным клиентам.
    2. LongPull. Клиент делает долгий запрос. Asterisk вызывает скрипт, меняющий состояние. Скрипт с запросом от клиента обнаруживает изменение состояния и отвечает клиенту.
    3. Периодический опрос. Asterisk вызывает скрипт, меняющий состояние, клиент периодически вызывает скрипт, возвращающий текущее состояние.
    Ответ написан
    Комментировать
  • Как спасти ноутбук?

    @alexalexes
    В ремонт, куда же еще?
    После заливания водой нужно как можно быстрее отключить батарею.
    Потом, в условиях ремонтной мастерской ноут нужно разобрать полностью и изучать поверхность мат. платы на предмет следов коррозии. Если таких нет, и плата сухая, то уже мастер попробует включить его, не вы.
    Ответ написан
    Комментировать
  • Как сделать сертификаты для поддоменов?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Let`s Encrypt сто лет как выдаёт wildcard-сертификаты.
    Ответ написан
    Комментировать
  • Какое есть хранилище паролей?

    @PavelMerk
    Fullstack Web Dev
    Один из вариантов - это использовать Bitwarden, бесплатное и открытое решение для безопасного хранения паролей. Вы можете установить его на свой сервер Ubuntu с помощью Docker. Bitwarden позволяет создавать организации и коллекции для распределения доступа к паролям по группам.

    Есть и другие альтернативы, например, KeePassXC или Passbolt, но они могут быть менее удобны или функциональны
    Ответ написан
    Комментировать
  • Как можно получать оповещения при заходе на компьютер по RDP?

    @rPman
    В task scheduler (планировщик задач) есть условие - авторизация (вход) пользователя, на него можно повесить запуск своей программы (если тебе надо запрос по http отправить, тем же повершелом или любой другой утилитой, хоть тот же curl)
    Ответ написан
    Комментировать
  • Как можно обойти проблему и решить проблему?

    @Wexter
    1. Восстановить из бекапа
    2. Переустановить
    Ответ написан
    Комментировать