Port Knocking с использованием javascript хорошо работает в Linux, но не в Windows

Я защищаю веб-приложение и применяю технику пробивания портов. Реализация на стороне сервера работает, и я делаю небольшое настольное приложение, чтобы «стучать» по портам. Я решил сделать это с помощью javascript и API-интерфейса выборки, доступного в настоящее время в большинстве браузеров.

Для проверки я открыл браузер и написал следующую функцию:

(async function() {
    for ( port of [7000, 8000, 9000] ) { 
       await fetch("https://xx.xx.xx.xx:" + port)
           .catch(() => console.info("packet sent on port ", port)) 
           // I only catch because the server rejects the connection.
           // With the TCP SYN sent it's enough.
    }
})();

Запуск этого в Chrome поверх Ubuntu 18.10 работает точно так, как ожидалось, но когда я скопировал эту функцию на компьютер с Windows 7, поведение выборки как-то случайно:

Просматривая журналы сервера, я понимаю, что для каждого порта существует несколько подключений (не постоянно), и иногда порядок менялся.

Обычное поведение на моем компьютере с Linux:

openWeb: Stage 1
openWeb: Stage 2
openWeb: Stage 3

При работе на компьютере под управлением Windows:

openWeb: Stage 1
openWeb: Stage 1
openWeb: Stage 1
openWeb: Stage 2
openWeb: Stage 1
openWeb: Stage 1
openWeb: Stage 1
closeWeb: Stage 1
closeWeb: Stage 2
closeWeb: Stage 1
closeWeb: Stage 1

Порядок соединений важен, и поэтому он не работает с демоном прослушивателя стука.

Использовал Chrome Dev Tools для анализа сетевой активности и ничего странного в том, как там отображаются соединения, нет.


Обновлено: Использовал модуль сеть вместо выборка узла и получил тот же результат.

*indows 7 была выпущена в 2009 году. Вы сообщили об ошибке? Такое же поведение происходит в * windows 10?

guest271314 09.02.2019 01:20

Возможно, это как-то связано с отказом сервера. Есть ли способ открыть эти порты и вместо этого отправить фиктивные данные? Тогда, возможно, поведение Windows будет таким же. Также вы проверили, чтобы убедиться, что Windows не блокирует эту сетевую активность?

Jason Livesay 09.02.2019 01:46

Проверено на Windows 10, и то же самое. Возможно, если я открою эти порты и поставлю прослушиватель, это сработает, но это не то, что мне нужно.

El Pane 09.02.2019 16:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
3
297
0

Другие вопросы по теме