• Что случится, если при TCP-соединении у отправителей совпадут порт и IP?

    @yaror
    10 лет в мобильном телекоме
    Если совпадут все пять значений (src ip, src port, dst ip, dst port, protocol), то пакеты, относящиеся к двум разным соединениям, перепутаются, перемешаются, и сам чёрт ногу сломит в том, что получится.

    Но!
    Инициатор соединения (либо NAT) Src port выбирает не просто случайный, а так, чтобы пятёрка полей (src ip, src port, dst ip, dst port, protocol) в таблице соединений не повторилась.
    Вот и всё!

    Действительно, как инициатор соединения, так и NAT могут переиспользовать пару (src ip, src port) для других соединений. В NAT это называется Endpoint Independent Mapping и служит для экономии адресного пула. Вдобавок, и ряд сервисов (та же ICQ) ведёт себя странно, видя несколько соединений с разными (src ip, src port), но под одной учётной записью.

    Но, поскольку как минимум одно значение из тройки (dst ip, dst port, protocol) уникальное, относящиеся к разным соединениям пакеты не перемешиваются.
    Ответ написан
    1 комментарий
  • Keystroke dynamics для текста произвольной длины?

    @AlexSku
    не буду отвечать из-за модератора
    Текст произвольной длины, по-видимому, разбиваете на фрагменты и делаете статистический анализ.
    Что касается машинного обучения, то выделяются характерные черты (features), которые запоминаются (создаётся словарь). Этот метод применяется для распознавания изображений.
    А вот пример, как обрабатываются сигналы акселерометра смартфона, чтобы узнать положение человека (стоит, лежит, идёт, идёт по ступенькам вверх или вниз). Сигнал разбивается на фрагменты (буферы), далее идёт спектральный анализ, особенности спектра запоминаются (обучается нейронная сеть).
    Ответ написан
    1 комментарий
  • Flask тестирование?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Есть книга от Мигеля Гринберга про Web-разработку с помощью Flask. Рекомендую прочитать разделы про тестирование. Я сознательно не буду приводить как, т.к. лучше Гринберга врядли кому-либо получится пояснить лучше. Но. Я бы хотел обратить ваше внимание на то, что лучше использовать не Nose, а py.test + pyhamcrest , тогда Ваши тесты будут более выразительными и вы будете лучше видеть "Что б.. сломалось то?"
    Ответ написан
    Комментировать
  • FASM PE "Hello world"?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    twintwin1003:
    Прерывание 21 это тоже API DOS.
    Но досовские функции недоступны в современных ОС, а прерывание 09 от биоса скорее всего тоже нет.
    Вы уж определитесь чего вы хотите - вручную вычислять разрешение монитора и позиционировать точки, формируя символы, или пользоваться API.
    Ответ написан
    3 комментария
  • Доказательство равенства в протоколе Диффи—Хеллмана?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1 комментарий
  • Ложные сокеты при подключении к серверу на Node.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Количество соединений нужно считать самому, и инкрементировать его уже после обмена минимальными необходимыми данными с клиентом. Так же, чтобы сокеты не висели, нужно периодически слать через соединение так называемый heartbeat (или ping), если его долго нет, то соединение считать погибшим. Не вижу ни малейшего смысла в socket.io, вообще, просто нативные WebSockets в браузере прекрасно работают: var ws = new WebSocket('ws://127.0.0.1:80/api/connect.ws'); и поехали, все специфицировано и отлично работает уже везде. Со стороны сервера библиотеку https://www.npmjs.com/package/websocket или посмотрите на комплексное решение habrahabr.ru/post/247543
    Ответ написан
    3 комментария