Как проверить порты на открытость?

PortScan.Ru

Первое, на что обращаешь внимание посетив данный ресурс, — подробное описание всех возможностей предоставляемых ресурсом. Все разделы представлены исключительно на русском языке

Обратившись в раздел «Проверка порта», помимо проверки заданного порта, можно также ознакомиться, что означает результат проверки, а также с FAQ, дающем общую информацию по теме.

В данном разделе, как видно из названия, можно проверить доступность лишь одного, конкретного порта. Для этого вводим его номер в соответствующее поле и нажимаем кнопку «Проверить».

Для того, чтобы просканировать все наиболее распространенные порты следует перейти в раздел «Сканер портов». Для запуска воспользуйтесь кнопкой «Запустить сканер портов».

Список портов, которые будут просканированы и их соответствие сервисам указаны на этой же странице в соответствующем разделе.

Если вы считаете, что разработчики указали не все порты, можете обратится с запросом, воспользовавшись специально разработанной формой обратной связи.

Помимо сканирования портов сервис позволяет измерить пинг, узнать WHOIS-информацию о домене, получить информацию на основе HTTP-запроса от удаленного веб-сервера.

Ресурс предоставляет 2 бесплатные утилиты «Открытые порты» и «PortCheker» для использования на ПК и в качестве расширения для браузера Google Chrome соответственно.

Из недостатков ресурса отметим невозможность сканирования всех портов (а лишь указанных разработчиками), а также удаленных ресурсов.

Фильтрация портов интернет-провайдерами

Многие интернет-провайдеры ограничивают возможность своих клиентов выполнять сканирование портов для пунктов назначения за пределами их домашних сетей. Обычно это предусмотрено условиями обслуживания или политикой допустимого использования, с которыми заказчик должен согласиться. Некоторые интернет-провайдеры реализуют фильтры пакетов или прозрачные прокси-серверы, которые предотвращают исходящие сервисные запросы к определенным портам. Например, если интернет-провайдер предоставляет прозрачный HTTP-прокси на порту 80, при сканировании портов любого адреса будет казаться, что порт 80 открыт, независимо от фактической конфигурации целевого хоста.

Открытие портов на windows 7

Впрочем, данное руководство полезно для тех, у кого брандмауэр фаервол установлен по умолчанию.

Пользователю необходимо открыть панель управления ПК через меню Пуск, расположенного в левом нижнем углу .

  • На скриншоте мы видим папку «Брандмауэр Windows» , опцию просмотра предварительно следует изменить, включая «Мелкие значки», можно даже и «Крупные», для того чтобы отобразилась сама иконка Брандмауэра.
  • Перед вами появиться следующий скриншот .

На левой стороне изображения мы видим перечень вкладок, среди которых находится строка «Дополнительные параметры».

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

В верхнем углу мы вы видим надпись, которая обеспечивает открытие портов для соединений с соблюдением режима повышенной безопасности. В этом окне пользователю нужно выбрать вкладку «Правила для входящих подключений».

После появления изображения, которое мы видим на скриншоте, юзеру следует само правило. Выполнить это действие можно во вкладке «Мастер по созданию правил нового подключения».

Обратите внимание!
Во время дальнейшей работы мастер постоянно будет подсказывать пользователю дальнейшие действия, задавать вопросы и предлагать варианты ответа. Единственное, что необходимо юзеру, – внимательно читать подсказки во всплывающих окнах и нажимать на клавишу «Продолжить», если он согласен со следующим предложением. Так, на первом этапе мастер спрашивает пользователя, какого типа правило ему необходимо

Так, на первом этапе мастер спрашивает пользователя, какого типа правило ему необходимо.

Вам нужно поставить галочку в строке «Для порта» и тапнуть на клавишу «Далее». После этого выбрать строку «Входящее подключение».

После этих бесхитростных манипуляций можно приступать ко второму этапу работы.

На этом этапе пользователь должен выбрать номер порта или диапазон нескольких портов, которые ему нужно открыть для беспрепятственного доступа к различным серверам и соединениям с другими программами и приложениями.

Перед вами появиться строка «Определенные локальные порты», которую следует заполнить выбранным номером.

Если же вы желаете сделать открытыми несколько портов, то между номерами просто ставите дефис и нажимаете клавишу «Далее».

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

Для того чтобы представленные соединения стали доступными для вашего ПК, необходимо поставить галочку в строке «Разрешать подключение» и затем нажать на клавишу «Далее».

Данное правило применяется для Доменного, Частного и Публичного профиля, поэтому их необходимо отметить при открытии порта.

После создания правила, нажмите на клавишу «Готово» и программа «Мастер создания правила для нового входящего подключения» завершит свое функционирование, а вы сможете получать сообщения или устанавливать соединения через новый доступный порт.

На данном скриншоте мы видим упрощенную пошаговую инструкцию,как открыть порты через брандмауэр на ,которая будет более приемлемой среди начинающих пользователей ПК.

Which port numbers can opened?

Ports are identified by numbers from 0 to 65535, inclusive. Any other port can not be opened, respectively, and check too. This limitation TCP / IP protocol.
It is worth noting that the client program should always know the port to which it needs to connect to a remote server or another network device. For this reason, the most popular protocols reserved ports in the range from 0 to 1023.
For example, carrying out surfing on the Internet, your browser connects to port 80 on a remote server that hosts the site.
In response, the browser receives a set of data and code that downloads and displays a web page.
If you are not sure about the port numbers you do a port number lookup from standard database.

Какие номера портов может открывать программа?

Порты идентифицируются номерами от 0 до 65535 включительно. Любой другой порт открыть нельзя, соответственно и проверить тоже. Это ограничения TCP/IP протокола.

Стоит отметить, что клиентская программа всегда должна знать номер порта, к которому ей нужно подключаться на сервере или другом удаленном сетевом устройстве. По этой причине для наиболее популярных протоколов зарезервированы порты в диапазоне от 0 до 1023.

Так, например, осуществляя серфинг в интернете, ваш браузер подключается к 80 порту на удаленном сервере, на котором находится сайт. В ответ браузер получает набор кода и данных, который скачивает и отображает в виде веб-страницы.

Функции

Более подробно читаем тут

  1. Сканирование практически любых локальных вычислительных сетей на наличие разнообразных компьютеров, ноутбуков, планшетов, коммутаторов, роутеров, смартфонов и иных гаджетов.
  2. Возможность получить полную информацию о любом девайсе, находящемся в пределах вашей LAN.
  3. Переименование, изменение ip-адресов, оставление комментариев или другой полезной информации.
  4. Выгрузка всей информации о выбранном ПК, ноутбуке или другой техники в текстовый документ.
  5. Сканирование подсетей компьютеров или ноутбуков, в том числе и виртуальных.
  6. Использование стандартных для операционной системы инструментов, как Tracert, Ping и других полезных утилит.
  7. Возможность тщательной настройки точности и скорости сканирование.
  8. Наличие софта на сайте, избавляет от необходимости искать «левый» торрент или ссылку на файл, что нередко связано с риском подхватить вирус или троян.
  9. Возможность удалённого отключения или включения ПК, что облегчит работу с большими локальными сетями на предприятиях, где рабочих мест, требующих своевременного включения или выключения, очень много.
  10. Возможность подключения к девайсам по протоколам FTP, HTTP или даже защищённому HTTPS (что позволяет сделать далеко не каждое подобное ПО).
  11. Использование встроенного в ОС семейства Windows «Удалённого рабочего стола».
  12. Интеграция с Radmin (для работы требует установки Radmin Viewer, в противном случае данный функционал будет попросту недоступным).
  13. Простой и интуитивно понятный интерфейс, с которым разберётся даже полный новичок в персональных ПК и локальных сетях.
  14. Программа практически не нагружает ресурсы компьютеров, ноутбуков и локальной LAN в целом.

Онлайн

ИВИТ Сканирование портов

Очень простой русскоязычный онлайн сканер портов, который позволит просканировать доступные из интернета ресурсы. Для этого, достаточно знать адрес хоста, который будет сканироваться, выбрать нужные порты (на выбор доступны варианты из предустановленных популярных портов и указания своих), а так же выбрать протокол TCP или UDP (можно выбрать оба). Результат сканирования будет отображен в виде таблицы.

Hacker Target

Данный ресурс позволяет просканировать доступный в интернете хост на наличие открытых 10 популярных портов. Для работы используется nmap (про который мы еще напишем ниже), вывод результата так же отображается в виде консольного вывода этой программы.

Pentest Tools

Онлайн сканер TCP портов от Pentest ToolsОнлайн сканер UDP портов от Pentest Tools

Сервис сканирования портов на английском языке, который позволяет провести тестирование на открытые порты TCP, с использованием программы nmap. Процесс сканирования nmap будет отображен в виде обычного консольного вывода данной программы, после чего будет сформирована таблица с результатами.

Для чего необходимо сканировать порты и айпи адреса в локальной Сети

Вариантов, для чего необходимо производить сканирование портов и IP-адресов, может быть всего два:

  • Анализ ЛВС системным администратором на предмет уязвимости, чтобы предупредить попытку взлома или атаки. При этом рассматривается возможность определения служб, работающих на удаленном узле, их доступность, используемой ОС. При сканировании IP-сканером можно определить MAC-адрес устройства, наличие элементов общего доступа и т. д.
  • То же самое, что и в первом случае, только с целью проведения атаки или взлома.

Обратите внимание! В последнее время к вопросу о защите конфиденциальной и персональной информации, а также авторских прав контролирующие органы подходят серьезно, поскольку нынешний век именуется веком цифровой эпохи, в которой виртуальное пространство фактически приравнивается к реальному. Поэтому настоятельно не рекомендуется использовать полученные навыки для осуществления неправомерных действий, поскольку, во-первых, это неэтично, а во-вторых, с вероятностью 99% будет выявлено и пресечено

Этика

Информация, собранная при сканировании портов, имеет множество законных целей, включая инвентаризацию сети и проверку безопасности сети. Однако сканирование портов также может быть использовано для нарушения безопасности. Многие эксплойты используют сканирование портов для поиска открытых портов и отправки определенных шаблонов данных в попытке вызвать состояние, известное как переполнение буфера . Такое поведение может поставить под угрозу безопасность сети и компьютеров в ней, что приведет к потере или раскрытию конфиденциальной информации и способности выполнять работу.

Уровень угрозы, вызванный сканированием портов, может сильно различаться в зависимости от метода, используемого для сканирования, типа сканируемого порта, его номера, значения целевого хоста и администратора, который контролирует хост. Но сканирование портов часто рассматривается как первый шаг к атаке и поэтому воспринимается серьезно, поскольку может раскрыть большую конфиденциальную информацию о хосте. Несмотря на это, вероятность того, что за одним сканированием портов последует настоящая атака, мала. Вероятность атаки намного выше, если сканирование портов связано со сканированием уязвимостей .

Проверьте открытые порты с netcat

Netcat (или ) — это инструмент командной строки, который может читать и записывать данные через сетевые подключения, используя протоколы TCP или UDP.

С его помощью можно сканировать один порт или диапазон портов.

Например, для поиска открытых портов TCP на удаленном компьютере с IP-адресом в диапазоне вы должны использовать следующую команду:

Опция указует сканировать только открытые порты, без отправки каких — либо данных и для более многословной информации.

Вывод будет выглядеть примерно так:

Если вы хотите, чтобы на экране выводились только строки с открытыми портами, вы можете отфильтровать результаты с помощью команды grep .

Для сканирования UDP-портов передайте параметр в команду:

Зачем делать проверку открытых портов по IP онлайн

Приём и передача информационных пакетов в пределах одного хоста осуществляется через порт, то есть через цифровую «платформу прибытия», которая определяет форму и степень взаимодействия компьютера и сети. Проверка порта компьютера или сайта по IP – это инструмент, который использует локальную или глобальную сеть для обнаружения и вычисления параметров точек доступа устройств подключенных к ней в режиме реального времени.

Проверка открытых портов позволит:

  • Находить открытые порты – программное обеспечение находит действующие точки связи, через которые устройство получает и передаёт данные;
  • Определять ОС устройства – хакеры часто используют сканеры, чтобы определять операционку пользователя и использовать её слабые точки в личных целях;
  • Просматривать рабочие сервисы – через порт хоста можно смотреть, какие сервисы в данный момент используются операционной системой, а значит собрать больше данных об устройстве, подключенном к сети;
  • Проверять уязвимость системы – сканер портов Windows позволит провести проверку безопасности и ликвидировать вариант осуществления атаки.

Сканирование интернета на предмет открытых портов связи с компьютером произвольного пользователя или веб-сервером отдельного сайта позволяет хакерам подготавливать и инициировать атаки, а администраторам обнаруживать и исключать возможности проникновения.

Специальные программы

Одним из приложений, с помощью которых может производиться проверка порта на открытость, является Portforward Network Utilities. С помощью этой же программы нужные порты можно и открыть.

Для работы с ней требуется:

3Запустить приложение для проверки портов на открытость и выбрать режим использования.
Программа является условно-бесплатной. Поэтому пользователь может выбрать режим Trial или приобрести её на сайте производителя и ввести регистрационный ключ.

4Перейти к разделу Tools и выбрать пункт Port Checker, позволяющий определить открытость соединений.

5Для того чтобы узнать, открыт ли порт, вводится его номер. После этого выбирается протокол передачи информации и нажимается кнопка Check Me (Проверь меня). Когда сканирование завершится, на экран выдаётся перечень результатов.

Рис. 5. Первый запуск программы Portforward Network Utilities.

XSpider

Приложение XSpider 7.7. позволяет проверять IP-адреса и хосты. Можно определять с его помощью и состояние соединений.

Найдите и скачайте программу в интернете, после скачивания и установки, запустите приложение. Далее, укажите какие следует проверить открытые порты, и запустите процесс нажатием значка запуска.

В результате проверки можно обнаружить не только недоступные соединения, но и открытые, но требующие закрытия из-за риска взлома компьютера злоумышленниками.

Рис. 5. Проверка портов приложением XSpider 7.7.

Что такое проброс портов?

Проброс портов (Port Forwarding, иногда Virtual Servers) — специальная настройка на роутере, позволяющая перенаправить внешние запросы (из интернета) на компьютеры локальной сети. По сути это способ указать, на какой локальный компьютер пересылать данные и запросы подключения, пришедшие на определенный порт.

Допустим, у вас дома игровой или веб-сервер, подключенный через роутер к интернету. Все компьютеры, подключенные к этому же роутеру, находятся в одной сети, поэтому смогут подключиться к данному серверу. Однако снаружи, из интернета, подключиться к вашему серверу без проброса портов уже не получится.

Если ваш компьютер подключен к интернету напрямую (без роутера/маршрутизатора), то выполнять проброс портов не требуется. Все ваши открытые порты должны быть доступны из интернета (естественно, при наличии выделенного IP).

Монтаж или ввод в эксплуатацию

Одна особенность, которая нам очень понравилась, заключается в том, что ее не нужно устанавливать на наш компьютер. Когда мы загрузим установщик и выберем испанский язык, у нас будет два варианта: установить или запустить программу. Другими словами, эта программа включает в себя как установщик для нашего компьютера с Windows, так и возможность запуска портативной версии без ее установки. Наконец, он сообщит нам, что мы должны принять лицензионное соглашение.

Если мы собираемся использовать эту программу несколько раз, было бы идеально использовать ее непосредственно в портативном режиме, не устанавливая ее, таким образом, нам не нужно будет устанавливать все больше и больше программ на нашем ПК, экономя диск. космос.

Игровые порты: что, куда бросаем?

Какой порт открыть — зависит от конкретного программного обеспечения. Некоторые программы требуют проброса нескольких портов, другим — достаточно одного.

У разных игр требования тоже отличаются — в одни можно играть даже с «серого» адреса, другие без проброса портов потеряют часть своих возможностей (например, вы не будете слышать голоса союзников в кооперативной игре), третьи вообще откажутся работать.

Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.

В следующей таблице приведены некоторые игры и используемые ими порты на ПК:

Открыть порт в Windows брандмауэре не так сложно, но сложно если не знать как его открывать.

Для чего может понадобится необходимость открыть порты?

По умолчанию Windows защитила пользователя, закрыв все порты, кроме тех, что используются непосредственно системой и ее прикладными программами. Поэтому, когда мы устанавливаем какую-либо программу или игру, у нас что-то не работает. Инструкция к программе или форум технической поддержки игры говорит нам открыть необходимый порт для исправной работы. Для WOT это могут быть, например UDP-диапазон 32800 – 32820 и UDP порты 53, 20020, TCP-диапазон 32800 – 32820 и TCP-порты 80, 443 и 20020. Для каких-нибудь онлайн-чатов могут быть другие порты, для torrent – другие, майнкрафт и CS 1.6 – другие. Давайте приступим к делу и откроем порт для входящих и исходящих соединений по 25565 TCP-порту.

Открыть порт на Windows 10.

Для начала переходим в брандмауэр, порты открываются в нем. 1.Нажимаем кнопку Windows – значок “шестеренка” Параметры – Обновление и безопасность. 2. В левом меню ищем Безопасность Windows. 3. Брандмауэр и защита сети. 4. Дополнительные параметры. 5. В открывшемся окне “Монитор брандмауэра Защитника Windows в режиме повышенной безопасности включен Локальный компьютер” слева видим меню, где есть пункты “Правила для входящих подключений” и “Правила для исходящих подключений“.

6. Начнем с настройки входящих подключений. 6.1. В левом меню выбираем «Правила для входящих подключений» (Inbound Rules). В правой колонке – «Создать правило» (New Rule). 6.2. В новом окне выбираем «Для порта» (Port) и Далее (Next). 6.3. Выбираем необходимый протокол: TCP. Вводим в поле «Определённые локальные порты» (Specific local ports) наш порт 25565. Если портов несколько, то добавляем все через запятую или если это диапазон портов, то через тире. Нажимаем Далее (Next). 6.4. Следующим шагом выбираем «Разрешить подключение» (Allow the connection) и Далее (Next). 6.5. Профили подключения можно оставить по умолчанию включенным и Далее (Next). 6.6. Задаем имя созданного правила, обычно пишется название программы для который открывается порт и номер порта и Готово.

Таким образом мы открыли порт 25565 для входящих соединений. «Правила для исходящих подключений» делается аналогично, попробуйте самостоятельно.

Как открыть порт на Windows 7.

Открываем брандмауэр. Переходим по этапам меню Пуск – панель управления – Брандмауэр Защитника Windows – Дополнительные параметры. Далее аналогично инструкции по открытию порта на Windows 10 (выше), начиная с пункта 6. Начнем с настройки входящих подключений.

Как открыть порты на Windows 7, 8, 8.1, знают далеко не все, зато слышали о них, наверное, многие пользователи ПК. Однако для некоторых онлайн-игр или программ, требующих доступа к интернету, открытие дополнительных подключений становится необходимым. Иногда требуется открыть или проверить уже открытые порты.

Открытие порта в Windows

Проверьте открытые порты с netcat

Netcat (или nc) – это инструмент командной строки, который может читать и записывать данные через сетевые подключения, используя протоколы TCP или UDP.

С netcatего помощью можно сканировать один порт или диапазон портов.

Например, для поиска открытых портов TCP на удаленном компьютере с IP-адресом 10.10.8.8 в диапазоне 20-80 вы должны использовать следующую команду:

nc -z -v 10.10.8.8 20-80

Опция -z указывает ncсканировать только открытые порты, без отправки каких – либо данных и -v для более подробной информации.

Вывод будет выглядеть примерно так:

nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused
nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
...
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

Если вы хотите, чтобы на экране выводились только строки с открытыми портами, вы можете отфильтровать результаты с помощью команды grep.

nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

Для сканирования UDP-портов передайте параметр -u в команду nc:

nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded

Что такое атаки со сканированием портов

Этот тип атаки также известен как сканирование портов . По сути, злоумышленник автоматически сканирует все порты компьютера, подключенного к сети, например компьютера. Они ищут возможные открытые порты, протоколы безопасности которых могут быть плохими.

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

Это может быть очень важным точка входа для хакеров. Как мы говорим, оказавшись внутри сети, с этого компьютера они могут украсть информацию, получить доступ к паролям и, в конечном итоге, поставить под угрозу нашу конфиденциальность.

Киберпреступники могут использовать разные инструменты для обнаружения этих уязвимостей. Они также известны как сетевые анализаторы. Примером может быть TCPing, который запускается из Windows командная строка. Но есть и другие более сложные инструменты, такие как Nmap or Zenmap.

Имейте в виду, что существует 65,535 XNUMX портов TCP / IP. Каждый из них может выполнять разные функции. Также, как известно, многие из них могут быть открытыми. С помощью сканирования портов злоумышленник может узнать, какие порты открыты и есть ли какие-либо уязвимости, которые можно использовать. Это можно определить автоматически, анализируя каждый порт по очереди.

HideMe.Ru

Онлайн сканер открытых портов HideMe.Ru, более универсален по сравнению с PortScan.Ru, позволяя сканировать не только свой компьютер, но и любой другой хост Интернет-сети.

Также может выбирать тип сканируемых портов: популярные порты, индивидуальные (т.е. заданные пользователем) и порты, встречающиеся у прокси-серверов.

Интерфейс HideMe.Ru онлайн сканера портов имеет русскую, английскую и испанскую локализацию, довольно прост, а его использование не вызывает лишних вопросов.

В поле ввода пользователь вводит IP-адрес или доменное имя сканируемого хоста, выбирает тип сканирования и ждет результатов проверки.

Сканирование довольно долгое, в случае, если вы хотите проверить наиболее популярные порты, время ожидания составит около 3 минут (на PortScan.Ru на это уходило около 30 секунд).

Судя по всему, сервис сканирует первую 1000 портов, в отличие от PortScan.Ru, где в общем случае сканируется лишь 5-6 десятков.

Ресурс HideMe.Ru судя по названию все же больше ориентирован на предоставление услуг для обхода ограничений сегментов локальных или глобальной сети, путем использования анонимайзеров, прокси- или VPN-серверов.

Из дополнительных опций имеется функция измерения скорости Интернет-соединения и определения IP-адреса.

Так же как и у PortScan.Ru, имеется каталог статей, посвященных безопасной работе в Интернет-сети.

Advanced Port Scanner:

Этот сканер открытых портов является самым быстрым, простым в доступе и свободно доступным.

Он помогает обнаружить открытые порты на сетевых компьютерах и извлечь некие программы, которые работают на обнаруженных портах.

Эти программы имеют адаптируемый интерфейс и полезную функциональность.

Сканирование TCP-портов с Nmap:

Этот инструмент помогает определить, какой TCP-порт открыт на вашей целевой машине, а также предоставляет информацию об ОС, служебную информацию, а также трассировку.

Этот сканер представляет собой веб-интерфейс для широко известного сканера портов Nmap, который реализован с правильным параметром для обеспечения скорости и точности.

Процесс сканирования отправляет пакеты на каждый порт и прослушивает подтверждение.

Это называется «SYN-сканирование», при котором пакеты TCP SYN отправляются на каждый порт.

Если порт отвечает SYN-ACK, он помечается как открытый и RST отправляется обратно сканером портов Nmap.

Быстрый сканер портов

Теперь давайте перейдем к нашему простому сканеру портов на более высокий уровень. В этом разделе мы напишем поточный сканер портов, который может сканировать 200 или более портов одновременно.

Приведенный ниже код — это фактически та же функция, которую мы видели ранее, которая отвечает за сканирование одного порта. Поскольку мы используем потоки, то нужна блокировка, для печати только одного потока за раз, иначе мы ничего не прочитаем:

import argparse
import socket # for connecting
from colorama import init, Fore
from threading import Thread, Lock
from queue import Queue

# немного цветов
init()
GREEN = Fore.GREEN
RESET = Fore.RESET
GRAY = Fore.LIGHTBLACK_EX

# количество потоков, можете настроить этот параметр по своему усмотрению
N_THREADS = 200
# очередь потока
q = Queue()
print_lock = Lock()

def port_scan(port):
    """
    Сканируйте порт по глобальной переменной `host`
    """
    try:
        s = socket.socket()
        s.connect((host, port))
    except:
        with print_lock:
            print(f"{GRAY}{host:15}:{port:5} is closed  {RESET}", end='\r')
    else:
        with print_lock:
            print(f"{GREEN}{host:15}:{port:5} is open    {RESET}")
    finally:
        s.close()

Итак, на этот раз функция ничего не возвращает, мы просто хотим распечатать, открыт ли порт (хотя вы можете это изменить).

Мы использовали класс из встроенного модуля queue, который поможет нам с использованием портов, две следующие функции предназначены для создания и заполнения очереди номерами портов и использования потоков для их использования:

def scan_thread():
    global q
    while True:
        # получаем номер порта из очереди
        worker = q.get()
        # сканировать этого порта
        port_scan(worker)
        # сообщает очереди, что сканирование этого порта
        # сделано
        q.task_done()


def main(host, ports):
    global q
    for t in range(N_THREADS):
        # для каждого потока запускаем его
        t = Thread(target=scan_thread)
        # когда мы устанавливаем daemon в true, этот поток завершится, когда закончится основной поток
        t.daemon = True
        # запускаем поток демона
        t.start()
    for worker in ports:
        # для каждого порта поместить этот порт в очередь
        # чтобы начать сканирование
        q.put(worker)
    # ждем завершения потоков (сканеров портов)
    q.join()

Задача функции — получить номера портов из очереди и просканировать их, а затем добавить их к выполненным задачам, тогда как функция отвечает за заполнение очереди номерами портов и порождение потоков N_THREADS для использования их.

Обратите внимание, что будет блокироваться до тех пор, пока в очереди не появится единственный элемент. помещает один элемент в очередь, а ожидает завершения всех потоков демона (очистки очереди)

Наконец, давайте сделаем простой парсер аргументов, чтобы мы могли передать диапазон номеров хоста и порта из командной строки:

if __name__ == "__main__":
    # разбираем некоторые переданные параметры
    parser = argparse.ArgumentParser(description="Simple port scanner")
    parser.add_argument("host", help="Host to scan.")
    parser.add_argument("--ports", "-p", dest="port_range", default="1-65535", help="Port range to scan, default is 1-65535 (all ports)")
    args = parser.parse_args()
    host, port_range = args.host, args.port_range

    start_port, end_port = port_range.split("-")
    start_port, end_port = int(start_port), int(end_port)

    ports = 

    main(host, ports)

Вот скриншот, когда я пытался сканировать свой компьютер:Результат сканирования портов на своем компьютере

Сканер портов. Общие сведения

Сканер портов — программное обеспечение, разработанное с целью поиска хостов локальной сети, имеющих открытые порты.

Данный тип утилит, как правило, используется системными администраторами (а также злоумышленниками) для проверки безопасности сетей (а также их уязвимостей).

В зависимости от поставленных задач, сканирование на предмет всех открытых портов производят как для одного (сканирование портов), так и для множества хостов (сканирование сети).

Также возможен вариант поиска лишь одного открытого порта (или определенной группы) для множества хостов сети.

Сканирование портов это первый шаг в процессе предупреждения взлома (или взлома, в зависимости от целей), цель которого помочь определить возможные векторы атаки.

Помимо, собственно, открытых портов сканеры позволяют определить установленную на хосте операционную систему и работающие службы (Web-сервер, FTP-сервер, Mail-сервер), включая номера их версии.

Утилита nc (netcat).

Программа работает как в Windows, так и в Linux, только придётся её устанавливать. В Windows дистрибутив копируется в любую папку, например в папку С:\Program Files\, далее прописываем путь к запускающему файлу в переменные среды и запускаем программу в командной строке, или в командной строке прописываем полный путь к файлу и затем запускаем его. В Linux после установки програмного обеспечения, не нужно прописывать путь к запускающему файлу.

Программа позволяет принимать и отсылать данные, работать в роли простенького веб-сервера или чата.

Просканировать на наличие открытого порта:

# nc -vn 192.168.10.243 22   или диапaзона портов:# nc -vnz 192.168.10.243 0-65536

Просканировать UDP-порты:

# nc -vnzu 192.168.10.243 0-65536

 Для запуска help для netcat:

# nc -h

Заключение

Потрясающе! Он завершил сканирование 5000 портов менее чем за 2 секунды! Вы можете использовать диапазон по умолчанию (от 1 до 65535), и это займет несколько секунд.

Если вы видите, что ваш сканер зависает на одном порту, это признак того, что вам нужно уменьшить количество потоков, если у проверяемого сервера высокий пинг, то следует уменьшить N_THREADS до 100, 50 или даже ниже, попробуйте поэкспериментировать с этим параметром.

Сканирование портов оказывается полезным во многих случаях, авторизованный тестер на проникновение может использовать этот инструмент, чтобы увидеть, какие порты открыты, и выявить наличие потенциальных устройств безопасности, таких как межсетевые экраны, а также тестирование сетевой безопасности и надёжности устройства.

Это также популярный инструмент разведки для хакеров, которые ищут слабые места, чтобы получить доступ к целевой машине.

Пожалуйста, проверьте полную версию обоих скриптов здесь.

Источник PythonCode

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector