Проверка открытых портов windows. Как проверить порты на открытость? Что такое порт и тип программ Сервер – Клиент

  • 26.04.2019

Добрый день уважаемые читатели и гости блога, вновь рад вас приветствовать в разделе про безопасность, в прошлый раз мы с вами научились удалять 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. Сделать это совсем не сложно и под силу даже начинающему пользователю. Давайте разбираться.

заг��зка...

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

I. ПРОВЕРКА ОТКРЫТЫХ ПОРТОВ НА ЛОКАЛЬНОМ КОМПЬЮТЕРЕ

Способ 1. Для того, чтобы проверить открытые порты на локальном (своем) компьютере, можно воспользоваться «Командной строкой » операционной системы Windows. Для вызова этой строки необходимо нажать сочетание клавиш Win+R и прописать команду «cmd », после чего нажать «ОК ».

В открывшемся окне пропишите специальную команду «netstat -a » и ознакомьтесь со списком открытых портов на Вашем компьютере.

Способ 2. Если Вы подключены к интернету, то проверить, открыт ли порт, можно на сайте whatsmyip.org/port-scanner . Данный ресурс сам определит Ваш IP-адрес, а сканировать порты можно через специальное поле «Custom Port Test ».

Введите интересующий Вас порт и нажмите кнопку «Check Port », после чего Вы получите ответ, открыт или закрыт данный порт.

II. ПРОВЕРКА ОТКРЫТЫХ ПОРТОВ НА УДАЛЕННОМ КОМПЬЮТЕРЕ

Теперь рассмотрим, как проверить, открыт ли порт на удаленном компьютере или сервере. Воспользуйтесь все той же «Командной строкой » в системе Windows, но теперь пропишите команду telnet в формате:

telnet IP-адрес порт

Нажмите клавишу «Enter ». Если нет записи «Could not open … », то запрашиваемый порт открыт, иначе – закрыт .

Мы вкратце рассмотрели, как проверить, открыт ли порт на компьютере. Если остались, какие либо вопросы, то задайте их в поле для комментариев.

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

Что такое порт и тип программ Сервер – Клиент?

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

Если говорить о вредоносных программах то ситуация выглядит вот так. Имеются две программы «Программа — Сервер » и «Программа – Клиент » Принцип работы подобных вещей такой:

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

Программа – Клиент : Запускается самим создателям или просто пользователем с целью управления удаленным компьютером!

Человек используя «Клиент » отправляет нужные ему команды, которые понимает сервер. Сервер в свою очередь принимает команды и выполняет соответствующие действия на удалённом компьютере.

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

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

Как происходит подключения?
Что бы «Клиент» имел возможность подключиться к «Серверу» и получить доступ к удалённому компьютеру «Сервер» открывает какой-то «ПОРТ» и ждёт подключения от клиента. Порт может быть открыт любой, но в диапазоне «От 0 до 65535» таковы ограничения протокола «TCP/IP»

В момент запуска «Сервера» происходит следующие: Программа – сервер открывает некий порт, например «3123» когда от клиента приходит запрос на порт «3123», сервер понимает, что это ему и обрабатывает полученные данные.

К слову: Клиент, всегда должен точно знать, на каком порту весит сервер.

Так как существуют и легальные программы, которые используют определённые порты, например почтовые клиенты, всегда забирают себе 25 порт для отправки почты и 110 для приёма. Существует множество других популярных программ и по этой причины для всех популярных вещей зарезервирован диапазон «От 0 до 1023»

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

Как узнать открытые порты и программы, которые их используют?

Как я сказал выше, мы будем узнавать открытые порты средствами «Windows» не используя сторонние программы и тем более online сервисы. Для работы нам понадобится только командная строка.

Запускаем «cmd.exe» получаем список открытых портов, а так же «PID» процессов, которые используют порты. Для этого используем команду «netstat» с параметрами «-a -o» и для удобства сохраняем результат выполнения команды в файл «*.txt» на диск «С:\»

Конечный вариант команды такой:

Default

netstat -a -o > C:\Port.txt

netstat - a - o > C : \ Port . txt

После нажатия клавиши «Enter» нужно будет немного подождать, не долго.

После выполнения команды на диске «С» появится файл «Port.txt» В этом файле мы можем узнать открытые порты и «PID» процессов, которыми заняты порты.

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

Для получения имени процесса по его «PID» используем команду «tasklist» и смотрим, что за гадость открыла на нашем компьютере данный порт.

Для справки: Можно было изначально использовать команду «netstat» с параметрами «-a -b» в этом случаи мы сразу получили бы имена процессов.

Результат выполнения команды «tasklist» так же сохраняем в файл на диск, для удобного просмотра.

Default

tasklist > C:\ PID.txt

tasklist > C : \ PID . txt

в итоге получаем файл «PID.txt» и зная что порт «3123» открыла программа с «PID — 3264» находим его и смотрим имя процесса.

Как видим имя программы «123.exe» не стал фантазировать, решил просто назвать «123» и все))

Сбор информации о файле и портах :

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

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

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

В заключении.
Мы узнали — Как узнать открытые порты , на компьютере используя команду «netstat » Вы можете получить больше информации в самой справке по данной команде.

Как я уже говорил выше, можно было просто использовать параметры команды «-a -b» и не париться с получением имени процесса командой «tasklist» Сделал я так специально, что бы вкратце продемонстрировать для общего понимания работу команды «tasklist»

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

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

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

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

Способ 1: Portscan

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


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

Способ 2: Hide my name

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

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


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

Способ 3: Тест IP

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

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


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

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

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

Персональный компьютер или ноутбук(В нашем интернет-магазине большой поступление мощных ноутбуков. );

— Подключение к интернету.

Инструкция

  • Netstat -a – отображает все соединения с открытыми портами.
  • Netstat -o – отображение дополнительного идентификатора процесса, которое использует определенное соединение.
  • Netstat -n – отобразятся реальные ip-адреса и идентификационные данные портов.
  1. 3. Для получения информации о подключениях компьютера можно использовать стороннее программное обеспечение. Полностью заменяет возможности командной строки и обладает дополнительными функциями утилита TCPView. Данная утилита является продуктом Microsoft и скачать ее можно на официальном сайте производителей. После того, как вы скачаете и установите программу TCPView, запустите ее и в основном окне приложения вы получите список всех процессов, которые используют интернет. Вся информация о портах будет доступна изначально, изучите интерфейс программы, для получения детальной информации о соединениях.
  2. 4. В настоящее время существует множество других программ в интернете, которые способны выполнять данную операцию. Например, утилита Nmap или Advanced Port Scanner, многие из подобных программ можно найти в свободном доступе в интернете.
  3. 5. Для определения портов соединения существуют различные интернет ресурсы. Например, один из самых распространенных ресурсов находится по адресу http://2ip.ru/. Для проверки открытых портов сторонними программами нужно перейти на данный сайт и в разделе «Тесты» выбрать пункт «Безопасность вашего компьютера». Нажмите кнопку «Проверить» и дождитесь выполнения операции.