Домой / Музыка / Как проверить открытые порты по ip адресу. Как определить открытые порты

Как проверить открытые порты по ip адресу. Как определить открытые порты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подобные вредоносные вещи, о которых идёт речь в данный момент имеют названия «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»

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

Про порты, и прояснит ситуацию.

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

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

Что же такое "Открытый порт " ? Да все гениальное просто - любой компьютер в сети имеет определенный идентификатор (имя, MAC-адрес, IP ), так вот, по IP на роутер поступает определенный пакет, но не просто поступает по IP , а по специальному каналу (порту ), через который, программа отправляет/принимает запросы из внешней сети. По стандарту, этот пакет дальше роутера не пройдет, так как по умолчанию (далее дефолту), порт по которому работает программа - закрыт, а что принять пакет, его нужно открыть.

То, что пишут в интернете - можно открыть порты, независимо от того, какое сетевое оборудование стоит - все это бред! Любой знающий сис.админ скажет - что IP делятся на два вида - "Белый " и "Серый ", и только на одном можно открыть порты, что бы принимать "пакеты" из вне. Серый - это когда IP может переходить из рук-в-руки множество количество раз (он же именуется как динамический ), Белый - или реальный (по другому статический ) можно быть присвоен только на одного пользователя, и не будет переходить из рук-в-руки.

Именно по "Белому" IP и стоит открывать порты на своем оборудовании. Что бы получить свой "Белый" IP необходимо обратить к своему провайдеру, и после этого, он назначит IP на Вас. Данная услуга везде является платной, и в зависимости от региона может составлять от 50 рублей/месяц .

Допустим, мы купили реальный IP у своего провайдера, и теперь необходимо приступить к настройке. Разберемся с настройками на 4-х популярных моделях роутеров (ASUS/TP-Link/D-Link/Zyxel ):

Настройка роутера ASUS


Открываем порты на реальном (белом) IP в роутере ASUS

Примечание: настройка производилась на оборудовании ASUS RT-N12 C1 с микропрограммой 3.0.0.4.260 (черный интерфейс)

  1. 192.168.1.1 ), с логином и паролем (admin/admin
  2. В левом меню выбираем "Интернет " (или WAN ) -> Переадресация портов (или Virtual Server/Port Forwarding )
  3. Включаем данную опцию, поставив галочку напротив "Включить переадресацию портов: Да ".
  4. Выбираем из готовых шаблонов заданные порты, или вписываем свои:
    • Имя службы - можно быть любое
    • Диапазон портов - можно ввести как один порт (например 80) так и диапазон (27000:27099)
    • Локальный IP
    • Конечный порт - так же как и в "Диапазон" нужно вводить в зависимости от того, что сначала ввели - один или диапазон.
    • Протокол - TCP/UDP/BOTH /OTHER - выбрать один (TCP/UDP порты выбирают)
  5. После ввода данных нажимаем на плюсик (слева от формы заполнения).
  6. А после ввода данных, нажимаем "Сохранить".
Примечание:

Настройка роутера D-Link


Открываем порты на реальном (белом) IP в роутере D-link

Примечание: настройка производится на роутере D-link DIR 615 с белым интерфейсом новейшей микропрограммы 2.5.20 .

  1. Подключаемся к своему роутеру через браузер (192.168.0.1 . или в некоторых 192.168.1.1 ), с логином и паролем (admin/admin ). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
  2. В левом меню выбираем Межсетевой экран/Виртуальные серверы .
  3. Выбираем из готовых шаблонов, или вписываем свои (выбрав пункт "Costom "):
    • Имя службы - можно быть любое
    • Протокол - выбираем нужный протокол.
    • Внешний порт (начальный)
    • Внутренний порт (начальный)
    • Внутренний IP
  4. Применить ", а после через "Система " - выбрать пункт "", и только после этого порты должны открыться.
Примечание: пункты и названия интерфейса могут отличаться в зависимости от модели и микропрограммы сетевого оборудования (роутера).

Настройка роутера TP-Link


Открываем порты на реальном (белом) IP в роутере TP-Link

TP-LINK TL-WR940N / TL-WR941ND с микропрограммой 3.13.31 .

  1. Подключаемся к своему роутеру через браузер (192.168.0.1/192.168.1.1 ), с логином и паролем (admin/admin ). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
  2. В левом меню выбираем Переадресация (Forwarding ) -> Виртуальные сервера (Virtual Server ).
  3. После открытия раздела «Виртуальные серверы » перед вами должна появиться страница со списком открытых портов. Для того чтобы открыть нужный вам порт здесь нужно нажать на кнопку «Добавить новый» и заполняем форму:
    • Порт сервиса внешний порт. Здесь нужно ввести порт (или диапазон портов через знак дефиз, например, 10100-10200)
    • Внутренний порт внутренний порт, который будет использоваться программами на вашем компьютере.
    • IP адрес
    • Протокол
    • Состояние (Status ) – статус порта.
  4. После ввода данных можно нажать "Сохранить " (Save ).
Примечание: пункты и названия интерфейса могут отличаться в зависимости от модели и микропрограммы сетевого оборудования (роутера).

Настройка роутера ZyXEL


Открываем порты на реальном (белом) IP в роутере ZyXEL

Примечание: настройка производится на роутере ZyXEL Keenetic с микропрограммой 2.0 .

  1. Подключаемся к своему роутеру через браузер (192.168.0.1/192.168.1.1 ), с логином и паролем (admin/admin или admin/1234 ). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
  2. В левом меню выбираем «Безопасность» (в виде щита) -> .
  3. После открытия раздела «Трансляция сетевых адресов (NAT) » нажимаем на кнопку «Добавить» и добавляем по шаблону:
    • Интерфейс – выбираем необходимый интерфейс.
      Внимание! Необходимо правильно указать значение поля Интерфейс. В зависимости от того, использует ли ваш провайдер авторизацию (PPPoE, L2TP или PPTP), значение этого поля может быть различным. Если авторизация у провайдера не используется, следует всегда выбирать интерфейс Broadband connection (ISP). Если провайдер использует PPPoE для доступа в Интернет, то следует выбирать соответствующий интерфейс PPPoE.
      Если вам предоставляется одновременный доступ в локальную сеть провайдера и Интернет (Link Duo), для проброса порта из локальной сети нужно выбирать интерфейс Broadband connection (ISP), а для проброса порта из Интернета - интерфейс туннеля (PPPoE, PPTP или L2TP).
    • Протокол – можно указать протокол из списка предустановленных, который будет использован при пробросе порта (в нашем примере используется TCP/21 – Передача файлов FTP). При выборе в поле Протокол значения TCP или UDP вы можете в полях
    • Порты TCP/UDP - указать номер порта или диапазон портов.
    • Перенаправить на адрес - указываем локальный IP адрес компьютера.
  4. После ввода данных можно нажать "Сохранить ".
Примечание: пункты и названия интерфейса могут отличаться в зависимости от модели и микропрограммы сетевого оборудования (роутера).

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

Нас часто спрашивают, как проверить, открыт ли порт с помощью стандартных средств операционной системы 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 … », то запрашиваемый порт открыт, иначе – закрыт .

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