Но, прежде чем начать и приступить к выявлению открытых портов и программы, которые на них висят, я хотел-бы, для общего понимания пояснить простейшим языком, и рассказать вкратце о том, что такое порт и тип программ работающих по типу «Сервер – Клиент »
Что такое порт и тип программ Сервер – Клиент?
Как вы понимаете, я не буду особо глубоко вникать в суть вопроса, и рассказывать на техническом, сложном языке о том, что такое порт, зачем он нужен итд. Я постараюсь коротко и на понятном языке объяснить для заинтересованных людей о том, что это такое и зачем!
Если говорить о вредоносных программах то ситуация выглядит вот так. Имеются две программы «Программа — Сервер » и «Программа – Клиент » Принцип работы подобных вещей такой:
Программа – Сервер : Всегда запускается на компьютере, к которому нужно получить не правомерный доступ.
Программа – Клиент : Запускается самим создателям или просто пользователем с целью управления удаленным компьютером!
Человек используя «Клиент » отправляет нужные ему команды, которые понимает сервер. Сервер в свою очередь принимает команды и выполняет соответствующие действия на удалённом компьютере.
Подобные вредоносные вещи, о которых идёт речь в данный момент имеют названия «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 |