Проверка портов из интернета. Как проверить порты на открытость

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

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

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

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

В ней вводим простенькую команду следующего вида:

После этого запустится процесс сканирования. Естественно, здесь нужно немножко подождать, поэтому надо запастись терпением или чаем. 😉 И вот, на рисунке ниже в желтой рамке показаны открытые порты. Как видите, в графе «Состояние» они помечены как «LISTENING» (то есть слушающий).

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

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

Также могут присутствовать в общем списке значения типа «CLOSE_WAIT» (ожидания закрытия соединения) и «TIME_WAIT» (превышение времени ответа). Внимание на скриншот ниже.

Хорошо, вот мы узнали какие порты открыты, но что делать дальше с этим хозяйством? На самом деле все просто. Рассмотрим ситуацию на реальном примере. Допустим мы хотим узнать, какой программой открыт порт «1688» (он выделен на рисунке выше).

Для этого нужно скопировать значение из последнего столбца, который называется «PID». В нашем случае это цифра «9184». Теперь следует открыть диспетчер задач Windows одновременным нажатием клавиш «Ctrl+Alt+Del», а затем перейти на вкладку «Подробности».

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

На этом рассказ о том, как проверить открытые порты компьютера через командную строку Windows 10 и 7 версий подошел к завершению. Если остались какие-то вопросы, задавайте их в комментариях к публикации.

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

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

Вешаем службу отвечающую по нужному порту

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

netcat - утилита Unix, позволяющая устанавливать соединения TCP и UDP, принимать оттуда данные и передавать их. На Windows платформах, она так же присутствует.

Распаковываем архив на сервере, где в будущем будет работать служба. В папке вам будут необходимы файлы nc.exe и nc64.exe. Далее зажимаете Shift и щелкаете правым кликом по папке, из контекстного меню выбираете пункт "Открыть окно команд"

Теперь представим, что я хочу чтобы на сервере работал 80 порт, ну типа IIS сервер . Открываем netcat, для начала посмотрите справку:

  • -d detach from console, background mode
  • -e prog inbound program to exec
  • -g gateway source-routing hop point[s], up to 8
  • -G num source-routing pointer: 4, 8, 12, ...
  • -h this cruft
  • -i secs delay interval for lines sent, ports scanned
  • -l - слушать входящие соединения
  • -L listen harder, re-listen on socket close
  • -n numeric-only IP addresses, no DNS
  • -o file hex dump of traffic
  • -p - какое соединение будет прослушивать
  • -r randomize local and remote ports
  • -s - задать локальный адрес назначения
  • -t answer TELNET negotiation
  • -c send CRLF instead of just LF
  • -u - UDP режим
  • -v verbose
  • -w secs timeout for connects and final net reads
  • -z zero-I/O mode

Нас интересует команда вот такого вида:

netcat-win32-1.12>nc.exe -l -p 80

В результате чего, на сервере поднимается виртуальный сокет, который слушает 80 соединение, симулируя веб сервер.

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

Теперь перейдем на другой сервер и попытаемся проверить открытые порты на удаленном сервере. В решении нашей задачи, мы будем использовать утилиту telnet, как ее устанавливать смотрите . Открываем командную строку и вводим такую строку:

telnet 10.242.17.134 80

Как видите я указал нужный мне ip адрес и нужный номер порта

Кстати проверить открытые порты на компьютере, где расположена служба, можно командой:

telnet localhost номер 80

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

Если подключение удачное, то вы вы увидите черный экран, либо без текста, либо с каким-то приветственным сообщением, о том, что вам ответила какая-то служба.

Через внешние утилиты

Проверить открыть ли порт, можно и внешними утилитами, тут главное требование, чтобы у вас был белый ip имеющий доступ в интернет. Представим себе, все туже ситуацию, что вам необходимо протестировать 80 соединение, на котором будет сайт компании. Вы его развернули, но он почему-то не работает. Не так давно, я вам рассказывал про сервис ping.eu (). Одним из пунктов этого инструментария был port check (проверка открытых портов). В поле "ip address or host name" вы пишите ip адрес или dns имя сервиса, что требует проверки, а в соседнем поле, необходимый номер сокета, в моем случае 80, нажимаете "Go". Через секунду, вы получите результат, открыты порты 80 или 443 у сайта или нет. В моем случае статус "open".

Массовая проверка открытых портов в сети и локально

Существуют специальные утилиты, в задачи которых входит сканирование компьютера или сервера, на предмет доступных портов, по которым есть соединение, они называются сканеры портов. Таких программ очень много, я приведу пример в виде XSpider 7.7. Как проверить открыт ли порт в утилите XSpider 7.7. Щелкаем правым кликом по "сканированные хосты" и добавляем хост или диапазон ip адресов.

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

Нажимаем значок запуска и запускаем процедуру.

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

Инструкция

Узнать, какие приложения и процессы занимают порты вашего компьютера, можно средствами Windows. Запустите командную строку из меню «Пуск» и введите cmd. В окне консоли наберите netstat –a –n –o
Команда выводит список всех активных подключений TCP и UPD, портов и процессов. В столбце «Локальный адрес» указан IP-адрес вашего компьютера и, через двоеточие, номер порта, процессом из столбца PID. «Внешний адрес» сообщает адрес удаленных узла и порта, которые прослушиваются соответствующим приложением.

Чтобы узнать имя процесса по его , cочетанием клавиш Сtrl+Alt+Delete вызывайте окно «Диспетчера процессов». Нажмите на кнопку «Диспетчер задач» и перейдите во вкладку «Процессы». Каждому номеру в столбце PID соответствует название процесса или приложения в столбце «Имя образа».
Если в окне «Диспетчера задач» не отображаются PID, в главном меню выбирайте команды «Вид» и «Выбрать столбцы». Отметьте флажком пункт «Идентиф. процесса (PID)».

Чтобы любого порта, введите в командную строку cmd. В окне консоли наберите telnet. В следующей строке появится приглашение к работе с этой командой. Наберите open , где domen_name – имя вашего домена, port_number – номер порта.
Если порт закрыт, появится cообщение о cбое: «Не удалось открыть подключение к этому узлу, сбой подключения». Если команда вступает в диалог и выдает значимую информацию – порт открыт.

Защищают от несанкционированных действий программы-файерволы, или брандмауэры. Иногда бывает необходимо открыть какой-то порт для связи с другим узлом. Если у вас активирован встроенный брандмауер Windows, через «Панель управления» зайдите в раздел «Сетевые подключения». Щелкните правой клавишей мыши по пиктограмме подключения к интернету для вызова контекстного меню. Выбирайте команду «Cвойства», перейдите во вкладку «Дoпoлнительно» и нажмите кнопку «Параметры».

В окне «Брандмауер Windows» нажмите кнопку «Дoбавить порт». В пoле «Имя» введите описание приложения, которое будет занимать порт, в поле «Нoмер пoрта» – произвольное число. Если ваша версия предлагает на выбор протоколы TCP и UPD, проведите процедуру дважды. Если вы добавляете порт для работы с определенным приложением, нажмите кнопку «Добавить программу» и укажите сетевой путь к ней, нажав «Обзор» или «Изменить область».

Источники:

  • Как проверить и определить, какое приложение открывает

Обменом данными между узлами в сети управляют сетевые протоколы (логические интерфейсы) разного уровня. Транспортный протокол TCP устанавливает соединение между узлом-клиентом и узлом-сервером и контролирует надежность пересылки пакетов данных. Обмен данными происходит между приложениями, которые установлены на компьютерах. Сетевой порт – это условное понятие, число, которое присваивается приложению, чтобы транспортный протокол знал, куда адресовать пакеты. Число это лежит в интервале от 1 до 65535.

Инструкция

Чтобы обмен данными происходил успешно, нужно чтобы соответствующие в узлах были открыты, т.е. могли принимать и передавать данные. Процесс поиска открытых портов называется сканированием. Занимаются им и хакеры, и системные администраторы: первые – чтобы внедрить вредоносное ПО на компьютер, вторые – чтобы помешать первым это сделать. Проверить порт ы вы можете, установив на компьютер специальную программу – скан портов или при помощи онлайновых сканеров. Зайдите на сайт WindowsFAQ.ru: http://www.windowsfaq.ru/content/view/451/82/ .

Если на вашем компьютере установлен файервол с детектором атак и автоматической блокировкой атакующего узла, отключите эту опцию или добавьте WindowsFAQ.ru в список исключений, иначе сканер будет . В разделе «Настройки сканирования» введите номера первого и конечного портов из того диапазона, который вы хотите проверить. Это могут быть т.н. зарезервированные номера – от 1 до 1023, или все порты на вашем компьютере.

Важно правильно установить время, в течение которого сканер будет ожидать ответа от порта . Если «Таймаут подключения» (так называется этот параметр) сделать слишком маленьким, порт может не успеть ответить и будет ошибочно определен как закрытый. С другой стороны, слишком большое время существенно замедлит проверку. Лучше принимать рекомендованное значение – 0,3 сек.

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

Порт 80 предназначен для протокола HTTP для соединения с Интернетом, а почтовый протокол POP3 использует порт 110. Если 80 закрыт, соответственно, осуществлять передачу данных по Сети невозможно. Следовательно, отправка и получение почты запрещены с закрытым портом 100.

Для системных программ назначаются порты под номерами от 0 до 1023. Пользовательские программы используют для соединения номера от 1024 до 49151. Порты от 49152 до 65535 называются динамическими, используются для временных соединений клиент - сервер.

Порты находятся в следующих состояниях:

  • готов для принятия пакетов;
  • порт блокируется фаерволом, состояние не может быть определено;
  • заблокирован и не связан с приложениями, может быть открыт;
  • состояние не может быть определено.

Способ 1: онлайн-сервисы

Это очень простой способ проверить, открыт ли порт на используемом компьютере.

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

  • 25565 для игры "Майнкрафт";
  • 8621 обычно используемый программой Ace Stream для трансляций ТВ;
  • 80 для протокола HTTP;
  • 7777;
  • 27016;
  • 8080 для соединения с сервером.

Как проверить, открыт ли порт на компьютере? Все что необходимо сделать - выбрать интересующий и дождаться ответа. Кроме этого, можно:

  • проверить свой IP;
  • получить детальную информацию о сайте;
  • узнать скорость соединения;
  • узнать посещаемость сайта;
  • проверить существование электронной почты.

Способ 2: CurrPorts

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


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

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

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

Способ 3: netstat

Один из быстрых способов проверить, открыт ли порт на компьютере или сервере, - из командной строки с помощью утилиты netstat.


Позволяет мониторить входящие и исходящие сетевые подключения, просматривать таблицу маршрутизации. Доступен для unix-подобных операционных систем и ОС Windows.

Используя некоторые параметры, можно отфильтровать вывод информации на экран.

  1. Отображение таблицы маршрутизации осуществляется в виде netstat -r (к имени команды добавляют параметры -r или --route).
  2. Вывод таблицы интерфейсов осуществляется в виде netstat -i или netstat --interfaces.
  3. Для вывода сетевой статистики необходимо добавить -s.
  4. Детализированный вывод осуществляется с помощью параметра -v.
  5. Для отображения таймера добавляется параметр -t;
  6. Непрерывный ввод задается с помощью -c.
  7. Чтобы вывести адрес и номера портов в числовом формате без имен, подается netstat -n.
  8. Отображение подключения по протоколу, а задается как "-p имя_протокола".

Способ 4: telnet

Другой эффективный способ проверить, открыт ли порт, - использовать telnet.


Как правило, утилита доступна в большинстве систем. Чтобы проверить доступность адресов используются:

Telnet IP_адрес

Есть возможность включить режим отладки и вывести подробную информацию во время работы. Для этого добавляется параметр -d, задается адрес и номер порта. Например:

Sudo telnet -d localhost 22

Чтобы проверить, открыт ли порт по IP:

Telnet адрес_IP номер_порта

Протестировать сайт, собрать запросы, увидеть все переданные данные можно командой:

Telnet адрес_сайта ru 80 GET /

Таким образом, возвращается страница, заголовки, которые отображает браузер.

Способ 5: tcping

Как проверить, открыт ли порт на компьютере? Можно воспользоваться командой tcping. Она доступна только для серверов "Виндовс". Перед использованием утилиту необходимо загрузить.

Проведение диагностики доступности порта производится в виде:

Tcping [-tdsvf46] [-i interval] [-n times] [-w interval] [-b n] [-r times][-j depth] [--tee filename] [-f] destination

Обозначение некоторых опций:

  • 4 - использование IPv4;
  • 6 - использование IPv6;
  • n - количество отправляемых пингов (по умолчанию 4);
  • i - интервал между отправкой пингов (по умолчанию 1);
  • w - интервал между ответами (по умолчанию 2);
  • d - отображать дату и время запроса;
  • f - принудительная отправка минимум 1 байта;
  • g - остановка после заданного количества неудачных пингов;
  • v - печать версии и выход;
  • --tee _filename_ - дублирование результата в текстовый файл;
  • --append - если используется --tee, вместо перезаписи содержимого файла, новая информация добавляется к существующей;
  • port - номер порта;
  • h - использование режима http;
  • u - отображать адрес URL на каждой строке;
  • post - использовать POST вместо GET в режиме http;
  • head - использовать HEAD вместо GET;
  • сокращенный вызов режима http.

Способ 6: nmap

Как проверить, открыт ли порт на роутере?


Это легко сделать с помощью утилиты nmap. Установить занятость некоторого порта IP-адреса можно так:

Nmap -sP IP_адрес/номер_порта

Общий синтаксис команды:

Nmap [типы сканирования] [опции] {спецификации}

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

Чтобы узнать используемый софт:

Nmap -sV сайт

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

Просканировать диапазон адресов можно так:

Nmap -sP x-y

где x - адрес, с которого начинается диапазон, y - которым заканчивается.

Утилита имеет графическую оболочку Zenap. Кроме того, что она выполняет все функции nmap, умеет строить карту сети.

Как-то можно проверить, открыт ли порт на удаленном компьютере или сервере? Да, и сделать это относительно не сложно. С компьютером сможет справиться любой человек, даже не обладающий значительным количеством знаний и умений. Приступим.

Локальный компьютер

В данном случае проверить, открыт ли порт, очень легко. Для этого необходимо вызвать командную строку. Используйте для этой цели сочетание клавиш Win+R. После того как откроется окно, необходимо прописать и нажать клавишу ввода. Как результат - перед нами командная строка. В открывшемся окне нужно прописать netstat -a. После этого на экран будет выведен список портов, которые открыты на данный момент.

Удаленный компьютер

Для этой цели используется все та же командная строка. Только теперь необходимо ввести три элемента: "telnet - ІР-адрес - порт". Нажимаем на клавишу ввода. Если не появляется запись Could not open», то это значит, что он открыт. В случаях, когда она выводится, порт закрыт. Если нет времени пробивать все значения, но одновременно необходимо проверить, открыт ли порт, то для этой цели можно использовать утилиты. Кстати, команда telnet позволяет рассматривать и локальный компьютер как удаленный, работая с ним так, сложно он находится на расстоянии. Каков механизм подобной работы? В таком случае запись в командной строке выглядит как "telnet - localhost - порт".

Сервер

В данном случае проверить, открыт ли порт, сложнее всего. Поскольку автор исходит из того, что читатели не будут заниматься взломом техники и обладают правами администратора, то и рассматриваться будет соответствующее поведение. Первоначально необходимо обеспечить работу службы, которая будет работать на определенном порте. Для этой цели можно использовать утилиту netcat, благодаря которой можно слушать его работу. Она позволяет использовать протоколы ТСР и UDP, принимая и передавая данные. Говоря о ее преимуществах, необходимо отметить довольно широкие возможности, понятное руководство и легкость использования.

Кстати, для работы с серверами можно использовать и рассмотренную ранее команду telnet, вопрос только в удобстве работы с нею. Ведь может понадобиться провести массовую проверку портов. Ибо если перебирать все вручную, это займет слишком много времени. В этом случае без вариантов - необходимо использовать утилиты. Без них массово проверить, открыт ли порт, хотя и можно, но повлечет потерю времени. При этом работа не является сложной. Необходимо просто добавить определенный хост (как вариант - диапазон ІР), указать, что является объектом исследований, и запустить процедуру. Правда, в этом случае есть негативный момент: такие действия многими системами защиты рассматриваются как DDOS-атака, что влечет за собой бан.