- Как проверить открытые порты windows server
- Вешаем службу отвечающую по нужному порту
- Как проверить открыт ли порт на сервере
- Через внешние утилиты
- Массовая проверка открытых портов в сети и локально
- Как проверить какие порты TCP/UDP у меня открыты на Windows Server 2012 R2 ?
- Похожие материалы по этой теме на сайте
- Как проверить открыт ли сетевой порт
- Находим открытые порты в Windows 10
- Типы адресов
- Состояние порта
- Как осуществлять проверку
- Как посмотреть какие порты открыты на компьютере, и кто их использует
Как проверить открытые порты windows server
Добрый день уважаемые читатели и гости блога, вновь рад вас приветствовать в разделе про безопасность, в прошлый раз мы с вами научились удалять 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 [dangerous!!]
- -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 [use twice to be more verbose]
- -w secs timeout for connects and final net reads
- -z zero-I/O mode [used for scanning]
Нас интересует команда вот такого вида:
В результате чего, на сервере поднимается виртуальный сокет, который слушает 80 соединение, симулируя веб сервер.
Как проверить открыт ли порт на сервере
Теперь перейдем на другой сервер и попытаемся проверить открытые порты на удаленном сервере. В решении нашей задачи, мы будем использовать утилиту telnet, как ее устанавливать смотрите тут. Открываем командную строку и вводим такую строку:
Как видите я указал нужный мне ip адрес и нужный номер порта
Кстати проверить открытые порты на компьютере, где расположена служба, можно командой:
Если 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 атака и многие фаэрволы в сети могут вас просто забанить, так что будьте осторожны.
В итоге сканер мне указал, на то, что есть проблемные места, например, 445 подключение, через которое не так давно лезли шифровальщики, быстро его закрываем.
Как видите проверить открытые соединения очень просто. Еще существуют две полезные утилиты, показывающие слушаемые локальные сервисы, о них я так же рассказывал подробно, это утилита netstat и программка TCPView (советую ознакомиться)
- Пример работы утилиты netstat
- Пример работы утилиты TCPView
Они обе показывают, что случает ваша операционная система. Думаю у вас не осталось вопросов, как проверить открытые порты и понять кем они слушаются.
Как проверить какие порты TCP/UDP у меня открыты на Windows Server 2012 R2 ?
Как проверить какие порты TCP/UDP у меня открыты на Windows Server 2012 R2 ?
Очень просто:
- Откройте командную строку.
- Введите команду netstat -a
Привести в более читаемый вид данные можно командой
netstat -an | findstr LISTENING
- Блог пользователя serg kaac
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Похожие материалы по этой теме на сайте
Убить все отключенные сессии:
Иногда на работающем сервере возникает такая ошибка:
Известная, но слабоосвещенная тема — обработка в коммандном интерпретаторе CMD данных со спецсимволами.
В большинстве ситуаций она вполне решаема.
Плюс к этому периодически возникают задачи вывода в файл без перевода строки.
Скрипты выполняемые интерпретатором CMD.EXE — стандартной консольной оболочкой для Win2000/WinXP/Vista/Seven/Win8/Win2000 Server/Win2003/Win2008.
Относительно простой вариант резервного копирования по списку файлов/папок с учетом типа резервной копии и количества хранимых копий по типам. Классические типы: дневная-недельная-месячная-годовая копии. Кодировка скрипта CP866.
Лично мне периодически приходилось сталкиваться с обработкой данных не в табличной форме, а в «именованном формате» то есть когда каждый параметр пишется на отдельной строке в виде Параметр=Значение параметра причем файл.
Продвинутый кросплатформенный модуль для встраивания в скрипты, позволяющий в удобной форме получать данные из реестра для дальнейшего использования(как всегда — кодировка скрипта CP866):
Как проверить открыт ли сетевой порт
Открытые сетевые порты компьютера являются основной дырой для попадания вирусов из интернета. Контроль над ними является важной задачей для обеспечения безопасности. Для устранения уязвимости следует выявить подозрительные процессы, использующие порты. Посмотрим как это сделать в Windows.
Под портом в сетевых технологиях подразумевается виртуальная дверь, в которую можно постучаться из сети и получить определенный ответ от программы, следящей за этой дверью.
Находим открытые порты в Windows 10
Для нахождения открытых портов будем использовать консоль Windows со встроенными утилитами.
Нажмите Win + R , чтобы вызвать диалоговое окно «Выполнить», и введите «cmd» для запуска консоли.
Команда для получения списка открытых портов:
Типы адресов
Локальный адрес указывает на IP вашего устройства, а внешний — того, кто к нему подключен. Условно их можно разделить на несколько типов:
- 127.0.0.1 — локальный адрес, как правило, вирусами не используется.
- 0.0.0.0 — устройство может иметь несколько IP адресов, и такое обозначение указывает что порт прослушивается на всех.
- [::] — то же самое что и 0.0.0.0 , но в другой системе адресации — IPv6.
- 192.168.0.число — назначается устройству во внутренней локальной сети.
- Все остальные обычно относятся к внешней сети — интернету.
Состояние порта
Возможны следующие состояния:
- LISTENING — за дверью следят, но диалога из сети не ведется.
- ESTABLISHED — соединение установлено, ведется диалог.
- TIME_WAIT — соединение закрыто, но ещё некоторое время за дверью будут следить.
PID в последнем столбце указывает на идентификатор процесса, который следит за портом. Для вывода детальной информации наберите команду:
- /FI — фильтр по списку запущенных процессов;
- PID eq 3984 — условие фильтрации — вывод информации о процессе с конкретным идентификатором.
Как осуществлять проверку
Просмотрев поочередно все процессы, специалист может выявить подозрительную активность и закрыть доступ к лишним портам или удалить приложение, которое инициирует запуск процесса.
Конкретные рекомендации обычным пользователям дать в этом случае не получится, так как набор работающих процессов и приложений у всех индивидуален. Но в некоторых случаях каждый может попробовать завершить работу подозрительного процесса и посмотреть, как это повлияет на работу компьютера.
Как посмотреть какие порты открыты на компьютере, и кто их использует
Думаю, если Вы нашли эту статью и собираетесь проверить какие порты открыты на ПК, то объяснять что такое порты, для чего они нужны и как используются различными программами, не нужно. Перейдем сразу к делу.
Чтобы проверить состояние портов, необходимо открыть командную строку. Для этого используйте шорткат Win+R, в появившемся окошке наберите cmd и нажмите Ввод:
В окне командной строки наберите команду netstat -a (перед знаком минус не забудьте поставить пробел), нажмите Ввод. После быстрого сканирования Вы сможете посмотреть какие сокеты открыты на Вашем ПК и в каком состоянии они находятся:
Как видим, для каждого активного сокета указывается протокол, локальный и внешний адрес, а также состояние протокола. Вот список и значение самых распространенных состояний:
- LISTENING – значит, что порт ожидает входящих соединений
- ESTABLISHED – соединение установлено
- CLOSE_WAIT – ожидание закрытия вследствие отключения удаленной стороны
- TIME_WAIT – порт закрыт, но еще ожидает входящие пакеты для обработки
- SYN_SENT – установка соединения
Возле номера каждого сокета в квадратных скобках указана программа, которая его использует (исполняемое имя файла).
Если Вы обнаружили, что какой-то порт использует программа, которую Вы не запускали и которая похожа на троян или вирус, то его следует закрыть. Закрыть порт можно при помощи фаервола. Однако гораздо быстрей и эффективней будет использовать небольшую бесплатную программу под названием Windows Worms Doors Cleaner (WWDC), которую Вы можете скачать прямо сейчас (51Kb).
После запуска она покажет список открытых сокетов, которые представляют опасность, и которые специалисты в области информационной защиты настоятельно рекомендуют держать отключенными: 135, 445, 137-139. Чтобы сделать их неактивными, просто нажмите кнопки справа от каждого красного значка:
После вступлений изменений в силу Вы получите такую картину:
Преимущество программы WWDC перед фаерволами состоит в том, что она не просто блокирует открытые порты, но закрывает их, отключая службы, которые их используют. Это, как Вы понимаете, гораздо эффективнее, потому что устраняет источник проблемы, а не симптомы.