Которая посвящалась фанатам игры Майнкрафт, я в очередной раз заострял внимание на том, что сетевая безопасность — это наше все. Ведь никому же не хочется, чтобы какой-то нехороший дядька получил доступ к вашему личному электронному кошельку, или, например, зашифровал все файлы на компьютере.
Конечно, все мы пользуемся современными , но порой сами даем злоумышленникам лишний повод зайти к нам в гости без приглашения. Я сейчас имею в виду «проброс» портов для нужд различных онлайн-игр и прочих сетевых приложений.
Поэтому пришло время поговорить о том, как проверить открытые порты компьютера через командную строку. И поверьте, это очень просто. С этим справиться даже первоклассник. 😉
Все дальнейшие действия будут показаны на примере Windows 10, хотя и в других версиях данной ОС все происходит аналогично. Итак, начинаем «колдовать». Для этого первым делом жмем правой кнопкой мыши по кнопке «Пуск» и открываем командную строку.
В ней вводим простенькую команду следующего вида:
После этого запустится процесс сканирования. Естественно, здесь нужно немножко подождать, поэтому надо запастись терпением или чаем. 😉 И вот, на рисунке ниже в желтой рамке показаны открытые порты. Как видите, в графе «Состояние» они помечены как «LISTENING» (то есть слушающий).
Если же вместо этого значения будет надпись «ESTABLISHED», значит, в это время соединение установлено и идет передача данных между двумя узлами сети. Вот так это выглядит наглядно.
Посмотрите, во втором и третьем столбцах показаны этих узлов. В моем случае никакой опасности нет, поскольку адрес «127.0.0.1» относится к одному и тому же локальному компьютеру. То есть все происходит в пределах домашнего компа, внешней угрозы нет.
Также могут присутствовать в общем списке значения типа «CLOSE_WAIT» (ожидания закрытия соединения) и «TIME_WAIT» (превышение времени ответа). Внимание на скриншот ниже.
Хорошо, вот мы узнали какие порты открыты, но что делать дальше с этим хозяйством? На самом деле все просто. Рассмотрим ситуацию на реальном примере. Допустим мы хотим узнать, какой программой открыт порт «1688» (он выделен на рисунке выше).
Для этого нужно скопировать значение из последнего столбца, который называется «PID». В нашем случае это цифра «9184». Теперь следует открыть диспетчер задач Windows одновременным нажатием клавиш «Ctrl+Alt+Del», а затем перейти на вкладку «Подробности».
Далее в графе «ИД процесса» можно без труда найти нужное нам значение и понять, что за приложение его использует. Нажав, например, правой кнопкой мыши по названию задействованного процесса, появится возможность почитать о нем в интернете либо сразу перейти в папку размещения его исполнительных файлов.
На этом рассказ о том, как проверить открытые порты компьютера через командную строку Windows 10 и 7 версий подошел к завершению. Если остались какие-то вопросы, задавайте их в комментариях к публикации.
А уже в скором времени я покажу вам еще одну для этих целей, которая призвана еще более автоматизировать процесс определения активных сетевых соединений. На этом все пока и давайте смотреть интересный видеоролик.
Про порты, и прояснит ситуацию.
Все уже давно используют имитаторы (локальной сети ), после того, как некоторые провайдеры в начале нового десятилетия, отключи всех своих абонентов от локальной сети, оставив им только подключение по каналу "Интернет".
Именно с того момента и пошла популяризация имитаторов , так как без них, с соседом невозможно было по-играть в какую-нибудь игрушку. И с того момента вопрос про "открытие портов " становился более популярным , и многие "псевдо-сис.админы" пытались выложить актуальное руководство как открыть порты на своем железе. Но не все знают что да как это сделать правильно.
Что же такое "Открытый порт " ? Да все гениальное просто - любой компьютер в сети имеет определенный идентификатор (имя, 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 (черный интерфейс)
- 192.168.1.1 ), с логином и паролем (admin/admin
- В левом меню выбираем "Интернет " (или WAN ) -> Переадресация портов (или Virtual Server/Port Forwarding )
- Включаем данную опцию, поставив галочку напротив "Включить переадресацию портов: Да ".
- Выбираем из готовых шаблонов заданные порты, или вписываем свои:
- Имя службы - можно быть любое
- Диапазон портов - можно ввести как один порт (например 80) так и диапазон (27000:27099)
- Локальный IP
- Конечный порт - так же как и в "Диапазон" нужно вводить в зависимости от того, что сначала ввели - один или диапазон.
- Протокол - TCP/UDP/BOTH /OTHER - выбрать один (TCP/UDP порты выбирают)
- После ввода данных нажимаем на плюсик (слева от формы заполнения).
- А после ввода данных, нажимаем "Сохранить".
Настройка роутера D-Link
Открываем порты на реальном (белом) IP в роутере D-link
Примечание: настройка производится на роутере D-link DIR 615 с белым интерфейсом новейшей микропрограммы 2.5.20 .
- Подключаемся к своему роутеру через браузер (192.168.0.1 . или в некоторых 192.168.1.1 ), с логином и паролем (admin/admin ). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем Межсетевой экран/Виртуальные серверы .
- Выбираем из готовых шаблонов, или вписываем свои (выбрав пункт "Costom
"):
- Имя службы - можно быть любое
- Протокол - выбираем нужный протокол.
- Внешний порт (начальный)
- Внутренний порт (начальный)
- Внутренний IP
- Применить ", а после через "Система " - выбрать пункт "", и только после этого порты должны открыться.
Настройка роутера TP-Link
Открываем порты на реальном (белом) IP в роутере TP-Link
TP-LINK TL-WR940N / TL-WR941ND с микропрограммой 3.13.31 .
- Подключаемся к своему роутеру через браузер (192.168.0.1/192.168.1.1 ), с логином и паролем (admin/admin ). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем Переадресация (Forwarding ) -> Виртуальные сервера (Virtual Server ).
- После открытия раздела «Виртуальные серверы
» перед вами должна появиться страница со списком открытых портов. Для того чтобы открыть нужный вам порт здесь нужно нажать на кнопку «Добавить новый» и заполняем форму:
- Порт сервиса – внешний порт. Здесь нужно ввести порт (или диапазон портов через знак дефиз, например, 10100-10200)
- Внутренний порт – внутренний порт, который будет использоваться программами на вашем компьютере.
- IP адрес
- Протокол
- Состояние (Status ) – статус порта.
- После ввода данных можно нажать "Сохранить " (Save ).
Настройка роутера ZyXEL
Открываем порты на реальном (белом) IP в роутере ZyXEL
Примечание: настройка производится на роутере ZyXEL Keenetic с микропрограммой 2.0 .
- Подключаемся к своему роутеру через браузер (192.168.0.1/192.168.1.1 ), с логином и паролем (admin/admin или admin/1234 ). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем «Безопасность» (в виде щита) -> .
- После открытия раздела «Трансляция сетевых адресов (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 адрес компьютера.
- Интерфейс
– выбираем необходимый интерфейс.
- После ввода данных можно нажать "Сохранить ".
Подводя итоги можно сделать такой вывод - что для проброса портов и сохранения своих нервных клеток, лучше сразу купить у своего провайдера статический (белый) IP , так как на сером - проброс портов не удастся сделать. Если все удалось сделать, то видимость портов можно проверить на , или на . Из эксперимента с роутерами, мне удалось правильно все сделать только на трех из четырех маршрутизаторах (кроме Zyxel).
Но, прежде чем начать и приступить к выявлению открытых портов и программы, которые на них висят, я хотел-бы, для общего понимания пояснить простейшим языком, и рассказать вкратце о том, что такое порт и тип программ работающих по типу «Сервер – Клиент »
Что такое порт и тип программ Сервер – Клиент?
Как вы понимаете, я не буду особо глубоко вникать в суть вопроса, и рассказывать на техническом, сложном языке о том, что такое порт, зачем он нужен итд. Я постараюсь коротко и на понятном языке объяснить для заинтересованных людей о том, что это такое и зачем!
Если говорить о вредоносных программах то ситуация выглядит вот так. Имеются две программы «Программа — Сервер » и «Программа – Клиент » Принцип работы подобных вещей такой:
Программа – Сервер : Всегда запускается на компьютере, к которому нужно получить не правомерный доступ.
Программа – Клиент : Запускается самим создателям или просто пользователем с целью управления удаленным компьютером!
Человек используя «Клиент » отправляет нужные ему команды, которые понимает сервер. Сервер в свою очередь принимает команды и выполняет соответствующие действия на удалённом компьютере.
Подобные вредоносные вещи, о которых идёт речь в данный момент имеют названия «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»
Надеюсь, у меня получилось понятно ответить на вопрос, Как узнать открытые порты. И у Вас больше не возникнет сложностей, если Вам нужно будет узнать открытые порты и программы которые их используют.
Источники: Википедия, Майкрософт, portscan.ru
Как узнать, какие порты открыты на компьютере?
- Для Windows: Пуск → «cmd» → Запустить от имени администратора → «netstat -bn»
- В антивируснике, таком как Avast, есть возможность посмотреть активные порты в Брандмауэре: инструменты -> Брандмауэр -> Сетевые соединения.
Также полезные команды netstat:
To display both the Ethernet statistics and the statistics for all protocols, type the following command:
netstat -e -s
To display the statistics for only the TCP and UDP protocols, type the following command:
netstat -s -p tcp udp
To display active TCP connections and the process IDs every 5 seconds, type the following command:
nbtstat -o 5
To display active TCP connections and the process IDs using numerical form, type the following command:
nbtstat -n -o
Для сокетов TCP допустимы следующие значения состояния:
CLOSED | Закрыт. Сокет не используется. |
LISTEN (LISTENING) | Ожидает входящих соединений. |
SYN_SENT | Активно пытается установить соединение. |
SYN_RECEIVED | Идет начальная синхронизация соединения. |
ESTABLISHED | Соединение установлено. |
CLOSE_WAIT | Удаленная сторона отключилась; ожидание закрытия сокета. |
FIN_WAIT_1 | Сокет закрыт; отключение соединения. |
CLOSING | Сокет закрыт, затем удаленная сторона отключилась; ожидание подтверждения. |
LAST_ACK | Удаленная сторона отключилась, затем сокет закрыт; ожидание подтверждения. |
FIN_WAIT_2 | Сокет закрыт; ожидание отключения удаленной стороны. |
TIME_WAIT | Сокет закрыт, но ожидает пакеты, ещё находящиеся в сети для обработки |
Список наиболее часто используемых портов
№ | Порт | Протокол | Описание |
---|---|---|---|
1 | 20 | FTP Data | File Transfer Protocol - протокол передачи файлов. Порт для данных. |
2 | 21 | FTP Control | File Transfer Protocol - протокол передачи файлов. Порт для команд. |
3 | 22 | SSH | Secure SHell - «безопасная оболочка». Протокол удаленного управления операционной системой. |
4 | 23 | telnet | TErminaL NETwork. Протокол реализации текстового интерфейса по сети. |
5 | 25 | SMTP | Simple Mail Transfer Protocol - простой протокол передачи почты. |
6 | 42 | WINS | Windows Internet Name Service. Служба сопоставления NetBIOS-имён компьютеров с IP-адресами узлов. |
7 | 43 | WHOIS | «Who is». Протокол получения регистрационных данных о владельцах доменных имён и IP адресах. |
8 | 53 | DNS | Domain Name System - система доменных имён. |
9 | 67 | DHCP | Dynamic Host Configuration Protocol - протокол динамической настройки узла. Получение динамических IP. |
10 | 69 | TFTP | Trivial File Transfer Protocol - простой протокол передачи файлов. |
11 | 80 | HTTP/Web | HyperText Transfer Protocol - протокол передачи гипертекста. |
12 | 110 | POP3 | Post Office Protocol Version 3 - протокол получения электронной почты, версия 3. |
13 | 115 | SFTP | SSH File Transfer Protocol. Протокол защищенной передачи данных. |
14 | 123 | NTP | Network Time Protocol. Протокол синхронизации внутренних часов компьютера. |
15 | 137 | NetBIOS | Network Basic Input/Output System. Протокол обеспечения сетевых операций ввода/вывода. Служба имен. |
16 | 138 | NetBIOS | Network Basic Input/Output System. Протокол обеспечения сетевых операций ввода/вывода. Служба соединения. |
17 | 139 | NetBIOS | Network Basic Input/Output System. Протокол обеспечения сетевых операций ввода/вывода. Служба сессий. |
18 | 143 | IMAP | Internet Message Access Protocol. Протокол прикладного уровня для доступа к электронной почте. |
19 | 161 | SNMP | Simple Network Management Protocol - простой протокол сетевого управления. Управление устройствами. |
20 | 179 | BGP | Border Gateway Protocol, протокол граничного шлюза. Протокол динамической маршрутизации. |
21 | 443 | HTTPS | HyperText Transfer Protocol Secure) - протокол HTTP, поддерживающий шифрование. |
22 | 445 | SMB | Server Message Block. Протокол удалённого доступа к файлам, принтерам и сетевым ресурсам. |
23 | 514 | Syslog | System Log. Протокол отправки и регистрации сообщений о происходящих системных событиях. |
24 | 515 | LPD | Line Printer Daemon. Протокол удаленной печати на принтере. |
25 | 993 | IMAP SSL | Протокол IMAP, поддерживающий SSL шифрование. |
26 | 995 | POP3 SSL | Протокол POP3 поддерживающий SSL шифрование. |
27 | 1080 | SOCKS | SOCKet Secure. Протокол получения защищенного анонимного доступа. |
28 | 1194 | OpenVPN | Открытая реализация технологии Виртуальной Частной Сети (VPN). |
29 | 1433 | MSSQL | Microsoft SQL Server - система управления базами данных. Порт доступа к базе. |
30 | 1702 | L2TP (IPsec) | Протокол поддержки виртуальных частных сетей. А также набор протоколов обеспечения защиты данных. |
31 | 1723 | PPTP | Туннельный протокол защищённого соединения с сервером типа точка-точка. |
32 | 3128 | Proxy | В данный момент порт часто используется прокси-серверами. |
33 | 3268 | LDAP | Lightweight Directory Access Protocol - облегчённый протокол доступа к каталогам (службе каталогов). |
34 | 3306 | MySQL | Доступ к MySQL базам данных. |
35 | 3389 | RDP | Remote Desktop Protocol - протокол удалённого рабочего стола для Windows. |
36 | 5432 | PostgreSQL | Доступ к PostgreSQL базам данных. |
37 | 5060 | SIP | Протокол установления сеанса и передачи мультимедиа содержимого. |
38 | 5900 | VNC | Virtual Network Computing - система удалённого доступа к рабочему столу компьютера. |
39 | 5938 | TeamViewer | TeamViewer - система обеспечения удалённого контроля компьютера и обмена данными. |
40 | 8080 | HTTP/Web | Альтернативный порт для HTTP протокола. Иногда используется прокси-серверами. |
41 | 10000 | NDMP | Популярный порт: Webmin, SIP-голос, VPN IPSec over TCP. |
42 | 20000 | DNP |