Kportscan 3.0
Содержание:
- Быстрый сканер портов
- Yougetsignal
- Постраничное отображение открытых портов
- Мониторинг сети с помощью других утилит
- Простой способ узнать какие порты открыты, и какие программы их используют
- Frequently Used Ports
- Монтаж или ввод в эксплуатацию
- LISTENING, ESTABLISHED, CLOSE_WAIT и другие состояния
- Утилита nestat и ss.
- Звёздочка (*) вместо адреса или порта
- Отчёт: география и посещаемость сайта
- Что показывает проверка доступности портов
- Прослушиваемые порты IPv4 и IPv6 адресов в Linux
- Основы TCP / IP
- F.A.Q.
- Основы TCP / IP
Быстрый сканер портов
Теперь давайте перейдем к нашему простому сканеру портов на более высокий уровень. В этом разделе мы напишем поточный сканер портов, который может сканировать 200 или более портов одновременно.
Приведенный ниже код — это фактически та же функция, которую мы видели ранее, которая отвечает за сканирование одного порта. Поскольку мы используем потоки, то нужна блокировка, для печати только одного потока за раз, иначе мы ничего не прочитаем:
import argparse import socket # for connecting from colorama import init, Fore from threading import Thread, Lock from queue import Queue # немного цветов init() GREEN = Fore.GREEN RESET = Fore.RESET GRAY = Fore.LIGHTBLACK_EX # количество потоков, можете настроить этот параметр по своему усмотрению N_THREADS = 200 # очередь потока q = Queue() print_lock = Lock() def port_scan(port): """ Сканируйте порт по глобальной переменной `host` """ try: s = socket.socket() s.connect((host, port)) except: with print_lock: print(f"{GRAY}{host:15}:{port:5} is closed {RESET}", end='\r') else: with print_lock: print(f"{GREEN}{host:15}:{port:5} is open {RESET}") finally: s.close()
Итак, на этот раз функция ничего не возвращает, мы просто хотим распечатать, открыт ли порт (хотя вы можете это изменить).
Мы использовали класс из встроенного модуля queue, который поможет нам с использованием портов, две следующие функции предназначены для создания и заполнения очереди номерами портов и использования потоков для их использования:
def scan_thread(): global q while True: # получаем номер порта из очереди worker = q.get() # сканировать этого порта port_scan(worker) # сообщает очереди, что сканирование этого порта # сделано q.task_done() def main(host, ports): global q for t in range(N_THREADS): # для каждого потока запускаем его t = Thread(target=scan_thread) # когда мы устанавливаем daemon в true, этот поток завершится, когда закончится основной поток t.daemon = True # запускаем поток демона t.start() for worker in ports: # для каждого порта поместить этот порт в очередь # чтобы начать сканирование q.put(worker) # ждем завершения потоков (сканеров портов) q.join()
Задача функции — получить номера портов из очереди и просканировать их, а затем добавить их к выполненным задачам, тогда как функция отвечает за заполнение очереди номерами портов и порождение потоков N_THREADS для использования их.
Обратите внимание, что будет блокироваться до тех пор, пока в очереди не появится единственный элемент. помещает один элемент в очередь, а ожидает завершения всех потоков демона (очистки очереди)
Наконец, давайте сделаем простой парсер аргументов, чтобы мы могли передать диапазон номеров хоста и порта из командной строки:
if __name__ == "__main__": # разбираем некоторые переданные параметры parser = argparse.ArgumentParser(description="Simple port scanner") parser.add_argument("host", help="Host to scan.") parser.add_argument("--ports", "-p", dest="port_range", default="1-65535", help="Port range to scan, default is 1-65535 (all ports)") args = parser.parse_args() host, port_range = args.host, args.port_range start_port, end_port = port_range.split("-") start_port, end_port = int(start_port), int(end_port) ports = main(host, ports)
Вот скриншот, когда я пытался сканировать свой компьютер:Результат сканирования портов на своем компьютере
Yougetsignal
Yougetsignal – это инструмент проверки открытых портов, который позволяет вам проверять любой внешний IP-адрес на наличие открытых портов.
Это полезный инструмент для проверки ограничений, установленных в брандмауэре.
С помощью этого инструмента вы можете проверить все порты TCP и UDP.
Заключение
Ниже перечислены некоторые бесплатные инструменты, доступные в Интернете для проверки открытых портов на сервере и других DNS-запросов.
Мы классифицировали некоторые из лучших сканеров портов и инструментов проверки портов, чтобы помочь найти открытые порты и другие связанные с портами операции при выполнении теста на проникновение в сеть.
- 8 лучших инструментов сканеров IP для управления сетью
- ? GoScan: интерактивный сетевой сканер
Постраничное отображение открытых портов
К сожалению, приведенный выше вариант отображает не все необходимые данные об открытых портах, поскольку выводит он только те параметры, которые на текущий момент находятся в состоянии LISTENING. К тому же там не указывались уникальные идентификаторы процессов (PID), что тоже играет важную роль во время определенного мониторинга
Потому советуем обратить внимание немного на другие аргументы
- В консоли пропишите и нажмите на Enter.
Здесь сразу же появится вся важная информация о портах, которые находятся в разных состояниях. В пятой колонке обозначаются идентификаторы.
Не все порты выводятся сразу, поэтому нужно жать на Enter, чтобы каждый раз отображать еще по одной строке.
Если вы увидите поле ввода, значит все страницы были успешно выведены на экран.
Теперь хотелось бы поговорить про используемые аргументы и значение увиденных параметров. Давайте сначала затронем знакомые буквы синтаксиса:
- -a — как известно, отображает сведения обо всех подключениях;
- -o — отвечает за включение колонки с идентификатором каждого адреса;
- -n — переводит адреса портов и их номера в числовой формат;
- more — постраничный вывод элементов.
Важно также уточнить и состояние портов, поскольку они могут являться открытыми, но на этот момент не использоваться или ожидать своего подключения. В колонке «Состояние» могут отображаться такие показатели:
- — подключение ожидает своего закрытия;
- — подключение было успешно закрыто;
- — активная работа соединения;
- — ожидается соединение или еще говорят: «Слушается порт»;
- — время ответа было превышено.
Эти объяснения должны разобраться помочь не только с составлением запросов для netstat, но и без проблем разобраться с полученной информацией.
Мониторинг сети с помощью других утилит
Самая мощная программа для мониторинга сети — это iptraf. Она предоставляет всю необходимую для администраторов информацию. Но, кроме нее, существуют и другие продукты. Рассмотрим их более подробно.
1. iftop
Утилита имеет более простой интерфейс и отображает намного меньше информации. Она выводит ip адреса отправителя и получателя, а также количество переданных или полученных данных за несколько последних секунд:
Установить программу в Ubuntu можно командной:
Хотя здесь отображается информация по каждому соединению, программа не может идентифицировать программу, которая создает пакеты.
2. nload
nload — это очень простая утилита, которая отображает только скорость входящих и исходящих соединений. Это позволяет сделать примитивный анализ сети linux и определить нагрузку. Отображается текущая скорость, максимальная и минимальная скорость за период работы. Также данные о скорости выводятся в виде графика, поэтому вам будет достаточно беглого взгляда, чтобы понять что происходит.
Для установки программы в Ubuntu используйте команду:
3. nethogs
Nethogs — это достаточно интересная утилита для мониторинга сетей, которая выделяется среди других. С помощью нее можно посмотреть какой процесс создает тот или иной трафик. Здесь отображаются PID процессов и имена пользователей, отсортированные по занимаемой пропускной способности сети:
Программа, как и другие доступна из официальных репозиториев, поэтому у вас не возникнет проблем с установкой:
4. bmon
Утилита bmon позволяет отображать достаточно подробно статистику по каждому сетевому интерфейсу. Она работает похоже на nload и выводит график кроме текстовой информации:
Для установки программы выполните:
5. Vnstat
Vnstat отличается от всех инструментов, рассмотренных выше. Программа работает постоянно в фоновом режиме и собирает информацию об использовании сети в лог файл. Далее можно посмотреть какой была нагрузка за определенный период. Для установки утилиты выполните:
Далее необходимо запустить сервис, для этого выполните такую команду:
Далее необходимо немного подождать, пока утилита соберет данные и можно просматривать статистику:
Здесь будет отображаться информация о нагрузке на сеть с указанием дат и периодов. Также вы можете посмотреть доступную информацию в реальном времени. Для этого используйте опцию -l:
Видео про использование и настройку vnstat:
6. bwm-ng
Это еще одна утилита, очень простая в использовании, которая позволяет следить за сетевой нагрузкой в режиме реального времени. Отображаются все доступные сетевые интерфейсы в системе:
Для установки утилиты выполните такую команду:
7. speedometer
Это еще один простой инструмент, который позволяет выполнить мониторинг сети и выводит данные в виде красивых графиков. Для установки программы выполните:
Как видите, она есть в официальных репозиториев не всех дистрибутивов, зато вы можете установить программу из репозитория python.
Опция -r указывает интерфейс, с которого необходимо отображать количество полученных пакетов, а опция -t — отправленных.
8. netwatch
Netwatch — это небольшая утилита, которая входит в набор инструментов Netdiag и показывает сетевые соединения между локальной и удаленными системами, а также скорость, с которой будут передаваться данные. Для установки программы используйте:
Затем для запуска:
9. ifstat
Утилита ifstat показывает пропускную способность сети, измеряя количество переданных и принятых пакетов. Вывод утилиты можно использовать и анализировать в других программах. Утилита не выводит информацию об ip адресах или других параметрах, а только скорость. Для установки используйте:
Для запуска:
10. trafshow
Это утилита, очень похожа на iftop, которая отображает не только скорость передачи, но и сами соединения. Здесь выводится информация по соединениях, размеры пакетов и протокол. Для установки программы наберите:
Осталось запустить программу:
Простой способ узнать какие порты открыты, и какие программы их используют
Думаю, если Вы нашли эту статью и собираетесь проверить какие порты открыты на ПК, то объяснять что такое порты, для чего они нужны и как используются различными программами, не нужно. Перейдем сразу к делу.
Смотреть видео:
Чтобы проверить состояние портов, необходимо открыть командную строку. Для этого используйте шорткат Win R, в появившемся окошке наберите cmd и нажмите Ввод:
В окне командной строки наберите команду netstat -a (перед знаком минус не забудьте поставить пробел), нажмите Ввод. После быстрого сканирования Вы сможете посмотреть какие сокеты открыты на Вашем ПК и в каком состоянии они находятся:
Как видим, для каждого активного сокета указывается протокол, локальный и внешний адрес, а также состояние протокола. Вот список и значение самых распространенных состояний:
- LISTENING – значит, что порт ожидает входящих соединений
- ESTABLISHED – соединение установлено
- CLOSE_WAIT – ожидание закрытия вследствие отключения удаленной стороны
- TIME_WAIT – порт закрыт, но еще ожидает входящие пакеты для обработки
- SYN_SENT – установка соединения
Интерес представляет конечно же не только получить список сокетов, но и узнать
какая программа какой номер порта использует
. Для этого в командном окне наберите команду netstat -n -b (пробелы перед знаком минус):
Возле номера каждого сокета в квадратных скобках указана программа, которая его использует (исполняемое имя файла).
Если Вы обнаружили, что какой-то порт использует программа, которую Вы не запускали и которая похожа на троян или вирус, то его следует закрыть. Закрыть порт можно при помощи фаервола. Однако гораздо быстрей и эффективней будет использовать небольшую бесплатную программу под названием Windows Worms Doors Cleaner (WWDC), которую Вы можете скачать прямо сейчас (51Kb).
После запуска она покажет список открытых сокетов, которые представляют опасность, и которые специалисты в области информационной защиты настоятельно рекомендуют держать отключенными: 135, 445, 137-139. Чтобы сделать их неактивными, просто нажмите кнопки справа от каждого красного значка:
После вступлений изменений в силу Вы получите такую картину:
Преимущество программы WWDC перед фаерволами состоит в том, что она не просто блокирует открытые порты, но закрывает их, отключая службы, которые их используют. Это, как Вы понимаете, гораздо эффективнее, потому что устраняет источник проблемы, а не симптомы.
Frequently Used Ports
Protocol | Port | Description |
---|---|---|
FTP | 21 | File Transfer Protocol — File Transfer Protocol. Port for commands. |
SSH | 22 | Secure SHell — «secure shell». Remote Management Protocol operating system. |
Telnet | 23 | TerminaL Network. Protocol implementation text interface over the network. |
SMTP | 25 | Simple Mail Transfer Protocol — Simple Mail Transfer Protocol. |
WHOIS | 43 | «Who is». Protocol obtaining the registration of ownership of domain names and IP addresses |
DNS | 53 | Domain Name System — Domain Name System. |
DHCP | 67 | Dynamic Host Configuration Protocol — Dynamic Host Configuration Protocol. Dynamic IP |
TFTP | 69 | Trivial File Transfer Protocol — a simple file transfer protocol. |
HTTP / Web | 80 | HyperText Transfer Protocol — hypertext transfer protocol. |
POP3 | 110 | Post Office Protocol Version 3 — receive e-mail protocol, version 3 |
SFTP | 115 | SSH File Transfer Protocol. Secure data transmission protocol. |
IMAP | 143 | Internet Message Access Protocol. Application-level protocol for accessing e-mail. |
SNMP | 161 | Simple Network Management Protocol — Simple Network Management Protocol. Device Management. |
HTTPS | 443 | HyperText Transfer Protocol Secure) — protocol HTTP, which supports encryption. |
LPD | 515 | Line Printer Daemon. Remote printing protocol on the printer. |
IMAP SSL | 993 | Protocol IMAP, supports SSL encryption. |
POP3 SSL | 995 | POP3 protocol supports SSL encryption. |
SOCKS | 1080 | SOCKet Secure. Receiving protocol secure anonymous access. |
Proxy | 3128 | Currently the port often used proxies. |
MySql | 3306 | Mysql database |
RDP | 3389 | Remote Desktop Protocol — Remote Desktop for Windows. |
PostgreSql | 5432 | Postgres Database |
VNC | 5900 | Virtual Network Computing — a system of remote access to the desktop computer. |
TeamViewer | 5938 | TeamViewer — Remote control system for ensuring your computer and data exchange. |
HTTP / Web | 8080 | Alternate port for the HTTP protocol. Sometimes used proxies. |
Монтаж или ввод в эксплуатацию
Одна особенность, которая нам очень понравилась, заключается в том, что ее не нужно устанавливать на наш компьютер. Когда мы загрузим установщик и выберем испанский язык, у нас будет два варианта: установить или запустить программу. Другими словами, эта программа включает в себя как установщик для нашего компьютера с Windows, так и возможность запуска портативной версии без ее установки. Наконец, он сообщит нам, что мы должны принять лицензионное соглашение.
Если мы собираемся использовать эту программу несколько раз, было бы идеально использовать ее непосредственно в портативном режиме, не устанавливая ее, таким образом, нам не нужно будет устанавливать все больше и больше программ на нашем ПК, экономя диск. космос.
LISTENING, ESTABLISHED, CLOSE_WAIT и другие состояния
Как вы можете увидеть в выводе команды netstat для протокола TCP доступны разные варианты состояний.
Самые популярные из них это LISTENING — означает, что порт прослушивает запущенное на данном компьютере приложение, что оно готово принять соединение, например, от другого компьютера или от другой службы, запущенной на этом же компьютере.
ESTABLISHED означает уже установленное соединение. Пример такого соединения: веб-браузер инициализировал загрузку страницы сайта и пока данные передаются по этому соединению, у этого соединения статус ESTABLISHED.
Имеются и другие виды состояний, но для наших целей они не очень важны. По большому счёту нас интересует только LISTENING, так как это означает открытые порты на нашем компьютере и возможность подключаться к нему.
Утилита nestat и ss.
Работает netstat в Windows и Linux. Команда немного различается в синтаксисе в различных операционных системах. Справку можно получить с помощью:
Для Windows:netstat /? Для Linux:# man netstat
Получить открытые порты можно с помощью следующей команды:
netstat -aon или для постраничного вывода в Windows:netstat -aon | more или Linux:# netstat -aon | less
Где, a — отображение всех подключений и портов прослушивания,
o — отображение ИД процесса каждого подключения,
n — отображение адресов и номеров портов в числовом формате.
Добавим букву b для отображения исполняемого файла, участвующего в создании каждого подключения или порта прослушивания.
netstat -aonb
Или например используем отображение статистики по протоколу tcp с отображением полного имени домена (FQDN) для внешних адресов:
netstat -s -p tcp -f
Можно использовать фильтры. Выводить каждые 5 секунд соединение со статусом «LISTENING» для 135 порта:
netstat -a -n 5 | find /I "LISTENING" | find /I "135" или записывать вывод в файл:netstat -a -n 5 | find /I "LISTENING" | find /I "135" > C:\135LISTEN.txt
Утилита netstat считается устаревшей в Linux. Вместо неё рекомендуют использовать ss. Для того, чтобы посмотреть опции используем man:
# man ss
Просмотр информации о всех портах, открытых в системе, и приложения, которое их открыло:
# ss -lp
Посмотреть какое приложение открыло конкретный порт:
# ss -lp | grep 8080
Отобразить все TCP или UDP соединения:
# ss -ta# ss -ua
Просмотр PID процесса, использующих сокет:
# ss -ltp
А если нужно определить наличие открытых (закрытых) портов на удалённой машине, то здесь пригодятся такие программные приложения, как nc, nmap.
Звёздочка (*) вместо адреса или порта
Мы можем увидеть записи вроде *:80 или даже *:*
Здесь звёздочка означает любой адрес или любой порт. Например, *:80 в колонке Local Address:Port (Локальный адрес:Порт) означает, что прослушивается 80 порт сразу на всех сетевых интерфейсах, доступных в данной системе
То есть служба ответит на запрос к 80 порту откуда бы он не пришёл: из локальной сети, из глобальной сети (если есть прямое соединение и интерфейс с белым IP) или с закольцованного адреса — это неважно, служба всё равно примет это соединение
Кстати, служба может прослушивать порт в соответствии со следующими правилами:
- может прослушиваться конкретный порт для одного IP адреса
- может прослушиваться конкретный порт для любого IP адреса
То есть порт должен в любом случае быть указан, поэтому для Локальный адрес:Порт допустима запись *:80, но запись вида *:* никогда не встретится в этом столбце.
Для Peer Address:Port (Удалённый адрес:Порт) запись *:* означает, что принимаются соединения от любого IP, отправленные с любого порта.
Кстати, просто для справки: если ваш компьютер подключается к веб сайту, то веб сайты обычно работают на 80 порту. Следовательно, веб браузер подключается именно к 80 порту (или 443, если это безопасное HTTPS соединение). Но на вашем компьютере открывается новое соединение на каком угодно, но только не на 80 и 443 портах — обычно используются порты с номерами >30000, например, на вашем компьютере может быть открыто исходящее соединение с портом 42063 и оно будет адресовано к 80 порту какого-либо веб сервера.
Отчёт: география и посещаемость сайта
Отчёт в графической форме показывает объём посещений сайта portscan.ru, в динамике, с привязкой к географическому размещению активных пользователей данного сайта.
Отчёт доступен для сайтов, входящих в TOP-100000 рейтинга Alexa. Для всех остальных сайтов отчёт доступен с некоторыми ограничениями.
Alexa Rank – рейтинговая система оценки сайтов, основанная на подсчете общего количества просмотра страниц и частоты посещений конкретного ресурса. Alexa Rank вычисляется исходя из показателей за три месяца. Число Alexa Rank – это соотношение посещаемости одного ресурса и посещаемости прочих Интернет-порталов, поэтому, чем ниже число Alexa Rank, тем популярнее ресурс.
Что показывает проверка доступности портов
В результате проверки на открытость по IP адресу порт может оказаться:
- Закрытым. Свидетельствует о том, что сейчас подключиться к порту через сервер невозможно, соответственно, содержимое компьютера надежно защищено от хакерских атак и сетевых мошенников. Статус «закрыт» показывает высокую степень конфиденциальности. Если требуется, чтобы недоступный порт был открытым – проблема в некорректной настройке сетевого подключения или ПО. В такой ситуации рекомендуется проверить права доступа к необходимой программе.
- Открытым. Открытость порта говорит о его доступности для Интернет пользователей и о том, что к нему возможно подключиться с помощью удаленного сервера. Если это не требуется, следует проверить работающие сервисы – вероятно, в этот момент они используют порт для выхода в сеть. Распространенная причина доступности – воздействие вредоносного ПО. Чтобы избежать утечек персональной информации, дополнительно проверьте компьютер на вирусы.
При проверке портов на сервере важно учитывать: если гаджет подключен к сети через Wi-Fi-роутер, результаты сканирования на доступность относятся непосредственно к маршрутизатору. Проверить открытость внутри подсетей можно, выполнив проброс
Этот процесс представляет собой настройку роутера, после которой запросы пользователя из Интернета перенаправляются на компьютеры, подключенные к локальной сети.
Проверить доступность портов по айпи адресу можно на своем устройстве или с помощью специальных программ. Второй вариант предпочтительнее, поскольку, помимо проверки открытости, многие бесплатные утилиты показывают и другие важные сведения: расположение сервера, скорость загрузки веб-страниц, уровень приватности, пинг и т.д.
Прослушиваемые порты IPv4 и IPv6 адресов в Linux
В Linux у программ netstat и ss имеется особенность вывода информации о прослушиваемых портах, когда прослушиваются одновременно IPv4 и IPv6 адреса — выводится информация только об IPv6 адресе! Возможно это связано с какими-то глубинными особенностями реализации ядра Linux, но в Windows, например, есть чёткое разделение и если служба одновременно прослушивает порт на IPv4 и IPv6 адресах, то информация об этой службе выводится два раза — пример этого почти в самом начале статьи, где мы ищем, какая служба прослушивает 80й порт и в найденной информации нам дважды показана служба httpd.
Основы TCP / IP
Дизайн и работа Интернета основаны на Internet Protocol Suite , обычно также называемом TCP / IP . В этой системе для обращения к сетевым службам используются два компонента: адрес хоста и номер порта. Имеется 65535 различных и используемых номеров портов, пронумерованных 1..65535. (Нулевой порт не является используемым номером порта.) Большинство служб используют один или, самое большее, ограниченный диапазон номеров портов.
Некоторые сканеры портов сканируют только наиболее распространенные номера портов или порты, наиболее часто связанные с уязвимыми службами на данном хосте.
Результат сканирования порта обычно делится на одну из трех категорий:
- Открыто или принято : хост отправил ответ, указывающий, что служба прослушивает порт.
- Закрытый или Denied или не слушают : Хозяин прислал ответ , указывающий , что соединение будет отказано в порт.
- Отфильтровано , удалено или заблокировано : от хоста не было ответа.
Открытые порты представляют две уязвимости, с которыми администраторы должны опасаться:
- Проблемы безопасности и стабильности, связанные с программой, ответственной за предоставление услуги — Открытые порты.
- Проблемы безопасности и стабильности, связанные с операционной системой , работающей на хосте — открытые или закрытые порты.
Отфильтрованные порты не представляют уязвимости.
F.A.Q.
Что за порты? Для чего они нужны?
Порты, которые проверяет PortScan.ru — это не физические, а логические порты на компьютере или сетевом устройстве.В случае, если программа или служба планирует работать с сетью, она открывает порт с уникальным номером, через который она может работать с удаленными клиентами/серверами. Фактически, сетевая программа резервирует для себя определенное число, которое позволяет понять, что пришедшие данные предназначаются именно этой программе.
На человеческом языке это звучало бы примерно так: «Я, программа-сервер, открываю порт номер 1234. Если по сетевому кабелю придут данные с номером порта 1234 — это мне. «
Какие номера портов может открывать программа?
Порты идентифицируются номерами от 0 до 65535 включительно. Любой другой порт открыть нельзя, соответственно и проверить тоже. Это ограничения TCP/IP протокола.
Стоит отметить, что клиентская программа всегда должна знать номер порта, к которому ей нужно подключаться на сервере или другом удаленном сетевом устройстве. По этой причине для наиболее популярных протоколов зарезервированы порты в диапазоне от 0 до 1023.
Так, например, осуществляя серфинг в интернете, ваш браузер подключается к 80 порту на удаленном сервере, на котором находится сайт. В ответ браузер получает набор кода и данных, который скачивает и отображает в виде веб-страницы.
Для каких ситуаций возможна проверка открытых портов?
Проверка открытых портов возможна, если вашему компьютеру присвоен внешний IP адрес. Подробнее об этом вы можете узнать у своего интернет-провайдера.
Стоит учесть, что если ваш компьютер подключен к интернету не напрямую, а через роутер (маршрутизатор), то результаты проверки относятся именно к роутеру. Проверить состояние порта для компьютера внутри такой подсети возможно только при наличии проброса портов.
Что такое проброс портов?
Проброс портов (Port Forwarding, иногда Virtual Servers) — специальная настройка на роутере, позволяющая перенаправить внешние запросы (из интернета) на компьютеры локальной сети. По сути это способ указать, на какой локальный компьютер пересылать данные и запросы подключения, пришедшие на определенный порт.
Допустим, у вас дома игровой или веб-сервер, подключенный через роутер к интернету. Все компьютеры, подключенные к этому же роутеру, находятся в одной сети, поэтому смогут подключиться к данному серверу. Однако снаружи, из интернета, подключиться к вашему серверу без проброса портов уже не получится.
Если ваш компьютер подключен к интернету напрямую (без роутера/маршрутизатора), то выполнять проброс портов не требуется. Все ваши открытые порты должны быть доступны из интернета (естественно, при наличии выделенного IP).
Как узнать, какие порты открыты на компьютере?
Для Windows: Пуск → «cmd» → Запустить от имени администратора → netstat -bnДля Linux: В терминале выполнить команду: «ss -tln»
Как закрыть порт?
Прежде всего надо устранить причину — запущенную программу или службу, которая открыла этот порт; ее надо закрыть/остановить. Если причина открытого порта не ясна — проверьте компьютер антивирусом, удалите лишние правила проброса портов на роутере и установите продвинутый файервол (Firewall).
Основы TCP / IP
Дизайн и работа Интернета основаны на Internet Protocol Suite , обычно также называемом TCP / IP . В этой системе для обращения к сетевым службам используются два компонента: адрес хоста и номер порта. Имеется 65535 различных и используемых номеров портов, пронумерованных 1..65535. (Нулевой порт не является используемым номером порта.) Большинство служб используют один или, самое большее, ограниченный диапазон номеров портов.
Некоторые сканеры портов сканируют только наиболее распространенные номера портов или порты, наиболее часто связанные с уязвимыми службами на данном узле.
Результат сканирования порта обычно делится на одну из трех категорий:
- Открыто или принято : хост отправил ответ, указывающий, что служба прослушивает порт.
- Закрытый или Denied или не слушают : Хозяин прислал ответ , указывающий , что соединение будет отказано в порт.
- Отфильтровано , удалено или заблокировано : от хоста не было ответа.
Открытые порты представляют две уязвимости, с которыми администраторам следует опасаться:
- Проблемы безопасности и стабильности, связанные с программой, ответственной за предоставление услуги — Открытые порты.
- Проблемы безопасности и стабильности, связанные с операционной системой , работающей на хосте — открытые или закрытые порты.
Отфильтрованные порты обычно не представляют собой уязвимостей.