Просканировать порты: проверка открытых портов на своём или удалённом компьютере — hidemy.name

Содержание

Определение портов и порядка сканирования |


Определение портов и порядка сканирования

В дополнении ко всем методам сканирования описанными ранее, Nmap предлагает опции для определения портов для сканирования, а также порядка сканирования: произвольного или последовательного. По умолчанию, Nmap сканирует все порты до 1024 включительно, а также все порты с большими номерами упомянутыми в файле nmap-services для протокола, по которому идет сканирование.

-p <диапазон портов> (Сканирование только определенных портов)

С помощью этой опции вы можете определить, какие порты вы хотите просканировать и переопределить установки по умолчанию. Указание отдельных номеров портов допустимо, как и задание диапазонов портов разделенных дефисом (напр. 1-1023). Начальные и/или кончные значения диапазонов могут быть опущены, что заставит Nmap использовать 1 и 65535 соответственно. Поэтому вы можете задать опцию

-p-, чтобы просканировать все порты от 1 до 65535. Сканирование нулевого порта допустимо, если вы укажене его явно . Для сканирования по IP протоколу (-sO), эта опция определяет номера протоколов, которые вы хотите просканировать для диапазона (0-255).

Когда сканируете и TCP и UDP порты, вы можете задать определенный протокол указав перед номерами портов T: или U:. Определитель будет действовать до того момента, пока вы не зададите другой. Например, при задании аргумента -p U:53,111,137,T:21-25,80,139,8080 будут просканированы UDP порты 53,111, и 137, а также все перечисленные TCP порты. Имейте в виду, что для сканирования и UDP и TCP портов, вы должны указать опцию -sU и, по крайне мере, один из типов сканирования TCP (таких как

-sS, -sF или -sT). Если определитель прокотола не указан, то перечисленные порты будут добавлены ко всем протоколам.

Порты также могут быть заданы именами, которые указаны в nmap-services. Вы даже можете использовать символы ? и * с именами. Например, чтобы просканировать FTP и все порты, чьи имена начинаются с «http», используйте -p ftp,http*. Будьте осторожны при вводе этой команды и лучше заключите аргумент -p в кавычки.

Диапазоны портов могут быть заключены в квадратные скобки, чтобы определить порты внутри этого диапазона, которые упомянуты в nmap-services. Например, с помощью следующей команды будут просканированы все порты из nmap-services равные или меньшие 1024: -p [-1024]. Будьте осторожны при вводе этой команды и лучше заключите аргумент

-p в кавычки.

-F (Быстрое (ограниченные порты) сканирование)

Указывает, что вы хотите произвести сканирование только портов, указанных в nmap-services, который поставляется вместе с Nmap (или в файле протоколов для -sO). Это намного быстрее, чем сканировать все 65535 портов целевой машины. Т.к. этот список содержит много TCP портов (больше 1200), разница в скорости в отличии от TCP сканирования по умолчанию (около 1650 портов) несущественна. Разница может быть огромна, если вы определите свой небольшой nmap-services файл используя --servicedb или --datadir опции.

-r (Не использовать случайный порядок портов)

По умолчанию, Nmap использует произвольный порядок сканирования портов (исключение составляют лишь наиболее часто употребляемые порты, которые расположены в начале списка сканирования по причинам эффективности). Обычно эта случайность нужна, но вы можете задать опцию

-r, чтобы использовать прямой порядок сканирования.

--port-ratio <десятичное число между 0 и 1>

Сканирует все порты из nmap-services, чей рейтинг больше числа, указанного как аргумент (только для нового формата nmap-services).

--top-ports <целое число от 1 и выше>

Сканирует N портов с наибольшими рейтингами, расположенными в nmap-services файле (только для нового формата nmap-services).

Сканер открытых портов

  • Recluse
  • 15.08.2021
  • 247
  • 0
  • 1
  • 1
  • 0
  • Содержание статьи

Описание

На данной странице представлены наиболее простые и популярные программы (оффлайн) и сервисы (онлайн), которые позволят вам просканировать открытые порты на своем собственном, либо удаленном компьютере(ах).

Онлайн

ИВИТ Сканирование портов

Онлайн сканер TCP и UDP портов от ИВИТ

Очень простой русскоязычный онлайн сканер портов, который позволит просканировать доступные из интернета ресурсы. Для этого, достаточно знать адрес хоста, который будет сканироваться, выбрать нужные порты (на выбор доступны варианты из предустановленных популярных портов и указания своих), а так же выбрать протокол TCP или UDP (можно выбрать оба). Результат сканирования будет отображен в виде таблицы.

Hacker Target

Онлайн сканер TCP портов от Hacker Target

Данный ресурс позволяет просканировать доступный в интернете хост на наличие открытых 10 популярных портов. Для работы используется nmap (про который мы еще напишем ниже), вывод результата так же отображается в виде консольного вывода этой программы.

Pentest Tools

Онлайн сканер TCP портов от Pentest Tools
Онлайн сканер UDP портов от Pentest Tools

Сервис сканирования портов на английском языке, который позволяет провести тестирование на открытые порты TCP, с использованием программы nmap. Процесс сканирования nmap будет отображен в виде обычного консольного вывода данной программы, после чего будет сформирована таблица с результатами.

Кроссплатформенные (Windows, Linux)

В этом разделе будут описаны сканеры открытых портов, которые работают сразу на различных операционных системах, вроде Windows и Linux.

Angry IP Scanner

Официальный сайт

Бесплатный сетевой сканер, который написан на языке Java. Обладает простым интерфейсом и позволяет просканировать определенные хосты на наличие у них открытых портов, номера которых заданы в настройках программы.

nmap

Официальный сайт

Утилита nmap является одним из самых простых и доступных инструментов для сканирования открытых портов.

У данной утилиты существуют версии под все популярные операционные системы — Windows, Linux, Mac OS X, FreeBSD и его аналоги, и т. д.

nmap имя хоста

Например, мы хотим исследовать открытые порты на стороне сервера yandex.ru. Выполняем команду nmap yandex.ru и смотрим на результат:

recluse@hostsrv:~$ nmap yandex.ru

Starting Nmap 7.60 ( https://nmap.org ) at 2020-11-01 18:31 MSK
Nmap scan report for yandex.ru (5.255.255.70)
Host is up (0.015s latency).
Other addresses for yandex.ru (not scanned): 5.255.255.77 77.88.55.70 77.88.55.77 2a02:6b8:a::a
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http

443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 4.51 seconds

Как видно из вывода программы, открытых порта оказалось два — 80 (http) и 443 (https).

Windows

Advanced Port Scanner 2

Официальный сайт

Сравнительно простой в использовании сетевой сканер, разработанный теми же людьми, что сделали известную программу для удаленного доступа под названием Radmin. Для использования, достаточно указать диапазон сканируемых адресов и нажать на кнопку «Сканировать». Результат сканирования будет отображаться в реальном времени, с возможностью дальнейшего экспорта результата в Excel или текстовый файл.

PortQry

Официальный сайт

Консольная утилита для работы с сетью, непосредственно от разработчика Windows — корпорации Microsoft. Умеет сканировать порты по TCP и UDP протоколам, номера которых вручную задаются в аргументах запуска программы. Сами параметры запуска выглядят следующим образом:

  • -n
    — имя или ip адрес удаленного хоста
  • -e — номер сетевого порта для сканирования (в случае, если нужно просканировать один сетевой порт)
  • -p — используемый сетевой протокол — возможные значения — tcp, udp, both
  • -r — диапазон портов для сканирования (в случае, если нужно просканировать несколько сетевых портов)

Например, для сканирования удаленного узла yandex.ru по обоим протоколам TCP и UDP с указанными портами 80 и 443, нужно будет выполнить следующую команду:

C:\PortQryV2>portqry -n yandex.ru -p both -o 80,443

Querying target system called:

yandex.ru

Attempting to resolve name to IP address…

Name resolved to 77.88.55.88

querying…

TCP port 80 (http service): LISTENING

UDP port 80 (unknown service): LISTENING or FILTERED

TCP port 443 (https service): LISTENING

UDP port 443 (https service): LISTENING or FILTERED

Как проверить (просканировать) наличие открытых портов в Linux

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

В этой статье описывается несколько подходов, чтобы выяснить, какие порты открыты снаружи в вашей системе.

 

Порт прослушивания – это сетевой порт, который прослушивает приложение. Вы можете просмотреть порты прослушивания в вашей системе, запросив сетевой стек с помощью таких команд, как ss, netstat или lsof. Каждый порт прослушивания может быть открыт или закрыт (отфильтрован) с помощью брандмауэра.

В общих чертах, открытый порт – это сетевой порт, который принимает входящие пакеты из удаленных мест.

Например, если вы используете веб-сервер, который прослушивает порты 80 и 443, то эти порты открыты на вашем брандмауэре, любой (кроме заблокированных ips) сможет получить доступ к веб-сайтам, размещенным на вашем веб-сервере, с помощью своего браузера. В этом случае оба 80 и 443 являются открытыми портами.

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

 

Nmap – это мощный инструмент сетевого сканирования, который может сканировать отдельные узлы и большие сети. Он в основном используется для аудита безопасности и тестирования на проникновение.

Если доступно, nmapдолжен быть ваш первый инструмент, когда дело доходит до сканирования портов. Помимо сканирования портов nmap, также можно определить Mac-адрес, тип ОС , версии ядра и многое другое.

Следующая команда из консоли определяет, какие порты прослушивают TCP-соединения из сети:

sudo nmap -sT -p- 10.10.8.8

-sT Говорит nmap для сканирования TCP портов и -p-сканирование всех 65535 портов. Если -p-не используется nmap, будет сканироваться только 1000 портов.

Starting Nmap 7.60 ( https://nmap.org ) at 2019-07-09 23:10 CEST
Nmap scan report for 10.10.8.8
Host is up (0.0012s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 08:00:27:05:49:23 (Oracle VirtualBox virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.41 seconds

Вывод выше показывает, что только порты 22, 80 и 8069 открыты в целевой системе.

Для сканирования портов UDP используйте -uT вместо -sT:

sudo nmap -uT -p- 10.10.8.8

Для получения дополнительной информации посетите страницу руководства nmap и прочитайте обо всех других мощных опциях этого инструмента.

 

Netcat (или nc) – это инструмент командной строки, который может читать и записывать данные через сетевые подключения, используя протоколы TCP или UDP.

С netcatего помощью можно сканировать один порт или диапазон портов.

Например, для поиска открытых портов TCP на удаленном компьютере с IP-адресом 10.10.8.8 в диапазоне 20-80 вы должны использовать следующую команду:

nc -z -v 10.10.8.8 20-80

Опция -z указывает ncсканировать только открытые порты, без отправки каких – либо данных и -v для более подробной информации.

Вывод будет выглядеть примерно так:

nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused
nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
...
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

Если вы хотите, чтобы на экране выводились только строки с открытыми портами, вы можете отфильтровать результаты с помощью команды grep.

nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

Для сканирования UDP-портов передайте параметр -u в команду nc:

nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded

Другой способ проверить, является ли определенный порт открытым или закрытым, – это использование оболочки Bash псевдоустройства /dev/tcp/.. или /dev/udp/…

При выполнении команды на псевдоустройстве /dev/$PROTOCOL/$HOST/$IP  в Bash откроет TCP или UDP-соединение с указанным хостом на указанном порту.

Следующий оператор if..else проверит, открыт ли порт 443 на kernel.org:

if timeout 5 bash -c '</dev/tcp/kernel.org/443 &>/dev/null'
then
  echo "Порт открыт"
else
  echo "Порт закрыт"
fi
Порт открыт

Как работает приведенный выше код?

Время ожидания по умолчанию при подключении к порту с использованием псевдоустройства очень велико, поэтому мы используем команду timeout для уничтожения команды test через 5 секунд. Если соединение установлено у kernel.org с портом 443 тестовая команда вернет true.

Вы также можете использовать цикл for для проверки диапазона портов:

for PORT in {20..80}; do
  timeout 1 bash -c "</dev/tcp/10.10.8.8/$PORT &>/dev/null" &&  echo "порт $PORT открыт"
done

Вывод будет выглядеть примерно так:

порт 22 открыт
порт 80 открыт

Мы показали вам несколько инструментов, которые вы можете использовать для поиска открытых портов. Есть также другие утилиты и методы для проверки открытых портов, например, вы можете использовать модуль socket в Python curl, telnet или wget.

Если у вас есть какие-либо вопросы или замечания, пожалуйста, оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Прежде чем сканировать по сети с помощью программного обеспечения Brother (Windows®)

Настройки брандмауэра на компьютере могут препятствовать установке сетевого подключения для сканирования по сети. Если на компьютере, защищенном брандмауэром Windows®, пакет MFL-Pro Suite был установлен с DVD-диска, то необходимые параметры брандмауэра уже настроены. Если установка выполнена не с DVD-диска, следуйте инструкциям ниже для настройки брандмауэра Windows®. При использовании локального брандмауэра стороннего производителя см. руководство пользователя программного обеспечения или же обратитесь к его производителю.

Информация о номере порта UDP для настройки брандмауэра

Порт UDP

Сканирование по сети

Номер внешнего порта

Номер внутреннего порта

Пользователи Windows

® XP с пакетом обновления 2 (SP2) или более поздней версии
1

Нажмите кнопку Пуск, Панель управления, Сеть и подключения к Интернету, а затем Брандмауэр Windows.

Убедитесь, что для параметра Брандмауэр Windows на вкладке Общие выбрано значение Включить.

2

Выберите вкладку Дополнительно и нажмите кнопку Параметры.

3

Нажмите кнопку Добавить.

4

Добавьте порт 54925 для сканирования по сети, введя следующую информацию.

1.

В поле Описание службы: введите любое описание, например «Сканер Brother».

2.

В поле Имя или IP-адрес компьютера вашей сети, на котором располагается эта служба (например, 192.168.0.12): введите «Localhost».

3.

В поле Номер внешнего порта службы: введите «54925».

4.

В поле Номер внутреннего порта службы: введите «54925».

5.

Убедитесь, что выбран параметр для UDP.

6.

Нажмите кнопку OK.

5

Если сетевое подключение по-прежнему не устанавливается, нажмите кнопку Добавить.

6

Добавьте порт 137 для сканирования по сети, введя следующую информацию.

1.

В поле Описание службы: введите любое описание, например «Сетевой сканер Brother».

2.

В поле Имя или IP-адрес компьютера вашей сети, на котором располагается эта служба (например, 192.168.0.12): введите «Localhost».

3.

В поле Номер внешнего порта службы: введите «137».

4.

В поле Номер внутреннего порта службы: введите «137».

5.

Убедитесь, что выбран параметр для UDP.

6.

Нажмите кнопку OK.

7

Убедитесь, что новая настройка добавлена и проверена, и нажмите кнопку OK.

Nmap — открытые порты и сканирование портов

1.5 / 5 ( 4 голоса )

Nmap – это очень популярный сканер сети с открытым исходным кодом. Nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб).

Что такое анализ локальной сети

Комплекс мер по изучению параметров соединения между компьютерами в домашней или корпоративной сети называется анализом локальной сети (АЛС). Процесс включает в себя:

  • измерение скорости сети;
  • просмотр IP-адресов подключённых устройств;
  • анализ трафика сети — процесс, который позволяет выявить конфликтную машину или неисправность паутины в определённом узле.

Эта процедура может обнаружить вредоносное программное обеспечение и изолировать его распространение на всю сеть. Поэтому АЛС стоит проводить даже в профилактических целях.

Что такое сканер портов?

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

Сканирование портов представляет собой способ определения, какие порты в сети открыты. Поскольку порты на компьютере – это место, где информация отправляется и принимается, сканирование портов аналогично стуку в дверь, чтобы увидеть, находится ли кто-то дома. Выполнение сканирования портов в локальной сети или на сервере позволяет определить, какие порты открыты и находятся в режиме прослушивания (listening) (получения информации), а также выявить наличие таких устройств безопасности, как межсетевые экраны, которые находятся между отправителем и целью. Этот метод известен как дактилоскопия (fingerprinting). Это также полезно для тестирования сетевой безопасности и надежности брандмауэра системы. Благодаря этой функциональности, это также популярный инструмент разведки для злоумышленников, ищущих слабую точку доступа для проникновения в компьютер или сервер.

Порты различаются по своим назначениям. Они пронумерованы от 0 до 65535, но определенные диапазоны используются чаще. Порты с 0 по 1023 идентифицируются (https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP), как «общеизвестные порты» или стандартные порты и были назначены для определенных служб, агентством по присвоению номеров в Интернете (IANA). Некоторые из наиболее известных портов и назначенных им служб включают в себя:

  • Порт 20 (UDP) – протокол передачи файлов (FTP) для передачи данных
  • Порт 22 (tcp) – протокол Secure Shell (SSH) для безопасного входа, FTP и переадресации портов
  • Порт 23 (tcp) – протокол Telnet для не зашифрованных текстовых коммутаций
  • Порт 53 (UDP) – Система доменных имен (DNS) переводит имена всех компьютеров в Интернете в IP-адреса
  • Порт 80 (tcp) – Всемирная паутина HTTP

Как провести сканирование скорости

Первый параметр, который стоит просмотреть на предмет ошибок, — это скорость передачи данных. Если при обмене пакетами информации в ЛС происходят сбои, замедления потери команд, то налицо нарушение протоколов или конфликт адресов. В таких случаях стоит начинать искать неполадку. Просмотреть информацию о скорости передачи данных можно через «Командную строку» или стороннее ПО.

С помощью «Командной строки»

Терминал «Командной строки» — уникальный инструмент для управления компьютером и вывода необходимой информации пользователю. Консоль также может помочь с АЛС, в частности вывести отчёт о скорости доступа в ЛС:

  1. Чтобы запустить «Командную строку», открываем меню «Пуск», переходим в папку «Служебные» и кликаем по иконке «Командная строка».
  2. В терминале прописываем первую команду ipconfig /all. Внимательно смотрим на выведенную информацию и находим строку «Основной шлюз», где будет указан сетевой адрес роутера. Это значение нам понадобится для дальнейших действий.

    Прописываем команду ipconfig /all и находим основной шлюз компьютера

  3. Запускаем команду Ping, указывая адрес шлюза (в данном случае команда имеет вид Ping 192.168.137.1), и ожидаем несколько секунд, пока произойдёт обмен пакетов с маршрутизатором. Результат будет опубликован почти мгновенно, сразу же после обработки данных.

    Через команду Ping основного шлюза узнаём скорость обмена данных с роутером

Если максимальное значение будет больше 1500 мсек даже в беспроводной сети, имеет смысл провести анализ трафика, а также проверить каждый компьютер на наличие вредоносного ПО антивирусными программами.

С помощью сторонних программ

Не только с помощью «Командной строки» можно узнать скорость внутри ЛС. Существуют дополнительные инструменты в виде сторонних программ. По интернету их гуляет огромное количество и большинство схожи между собой как по интерфейсу, так и по выводимым данным. Одной из таких утилит является LAN Speed Test. Утилита на должном уровне справляется с анализом скорости, имеет простой и понятный интерфейс.

  1. Скачиваем, устанавливаем и запускаем программу.
  2. На главной странице приложения нажимаем кнопку Start Test.

    В интерфейсе программы LAN Speed Test нажимаем кнопку Start Test

  3. В течение пары секунд получаем исчерпывающую информацию о возможностях передачи данных в ЛС.

    Данные о скорости в сети выводятся в виде таблицы

Также для анализа можно использовать другие утилиты, к примеру, Iperf или LAN Bench.

Первая весьма полезная для домашней и небольшой корпоративной сети. Приложение можно установить на все машины и следить за пингом. Оно весьма полезно, так как может производить мониторинг и вести записи продолжительное время.

Iperf — это программа для слежки за пингом и выявления небольших неполадок в ЛС

LAN Bench — это минималистическая утилита, похожая на LAN Speed Test. Ею очень легко мониторить скорость и пинг в сети, достаточно открыть интерфейс и нажать кнопку Test. Ниже сразу начнут появляться результаты.

LAN Bench — это простейшая утилита для оценки скорости ЛС

Как посмотреть список IP-адресов, подключённых к ЛС

Иногда возникает необходимость узнать информацию о подключённых к сети устройствах. В основном это касается беспроводных маршрутизаторов, к которым можно подключиться незаметно и «воровать» трафик. Посмотреть список устройств можно сторонними ПО и штатными средствами (веб-админкой маршрутизатора).

С первым всё довольно просто: существует простейшая утилита под названием Wireless Network Watcher. Она, как IP-сканер локальной сети, прекрасно справляется с анализом адресатов сети и выводит на экран всю доступную информацию о них.

Через программу Wireless Network Watcher можно увидеть список всех подключённых к сети устройств

Однако у программы есть два минуса:

  • для её работы необходимо проводное подключение к роутеру;
  • инструментарий программы ограничивается только выводом информации. Если нарушитель будет обнаружен, она ничего не сможет с ним сделать. То же касается и аналогичных программ. Заблокировать доступ к сети можно только внутри веб-админки роутера.

Для просмотра информации о подключённых устройствах через веб-админку маршрутизатора необходимо сначала её открыть:

  1. На тыльной стороне устройства знакомимся с реквизитами для входа.

    На тыльной стороне роутера знакомимся с реквизитами для входа

  2. Вводим данные в браузере и авторизуемся в сервисе управления.

    Через браузер открываем панель управления маршрутизатором

  3. В свойствах админки находим вкладку «Беспроводной режим», а в ней пункт «Статистика беспроводного режима».

    Находим пункт «Статистика беспроводного режима» и знакомимся со всеми подключёнными устройствами

  4. Проверяем IP-адресы всех известных устройств, остальные же можно «Запретить». Только не стоит забывать о подключённых телевизорах, телефонах и планшетах, они также имеют собственный индикатор в этой вкладке настроек.

Как сканировать LAN, узнать IP и MAC-адреса.

Порядок действий по сканированию адресов и получению другой информации:

  1. Первым делом рекомендуется первоначальная настройка установленного ПО, сделать это можно в соответствующем пункте меню.
  2. Во вкладке «Производительность» выбрать наиболее подходящую для себя (и своего ПК) скорость сканирования. Не рекомендуется выбирать максимальную скорость на офисных ПК или ноутбуках, в таком случае прога может работать нестабильно. При наличии редких и специфичных девайсов (различных сетевых касс, специфичного оборудования для бизнеса или откровенно китайских и никем не поддерживаемых девайсов) рекомендуется поставить галочку «Высокая точность сканирования». При использовании стандартных устройств её можно не ставить.
  3. Теперь можно переходить к непосредственному поиску гаджетов, указав необходимый диапазон IP-адресов (по умолчанию у большинства коммутаторов или роутеров используется диапазон от 192.168.0.1 до 192.168.0.254), и нажать кнопку «Сканировать». В некоторых случаях диапазон адресов может быть изначально изменён вручную, поэтому вводить нужно будет именно его (сканирование стандартных ip практически ничего не даст).
  4. В нашем случае было определено три устройства: ПК, на котором запущен сканер, беспроводной роутер и смартфон, подключенный по Wi-Fi. По каждому из гаджетов присутствует полная информация, такая как текущий ip-адрес (при желании его можно поменять), производитель техники и MAC адрес.

Методы сканирования портов

Сканирование портов отправляет тщательно подготовленный пакет на каждый номер порта назначения. Основные методы, которые может использовать программное обеспечение для сканирования портов:

  • Ваниль (Vanilla) – самый простой скан; попытка подключиться ко всем 65 536 портам по по очереди. Ванильное сканирование – это полное сканирование соединения, то есть оно отправляет флаг SYN (запрос на подключение) и после получения ответа SYN-ACK (подтверждение подключения) отправляет обратно флаг ACK. Этот обмен SYN, SYN-ACK, ACK включает квитирование TCP. Полное сканирование подключений является точным, но очень легко обнаруживается, поскольку все подключения всегда регистрируются брандмауэрами.

  • Сканирование SYN (SYN Scan) – также называется полуоткрытым сканированием, оно только отправляет SYN и ожидает ответа SYN-ACK от цели. Если ответ получен, сканер никогда не отвечает. Так как соединение TCP не было установлено, система не регистрирует взаимодействие, но отправитель узнал, открыт порт или нет.
  • Сканирование XMAS и FIN (XMAS and FIN Scans) – набор сканирований, используемых для сбора информации без регистрации в целевой системе. При сканировании FIN незапрошенный флаг FIN (обычно используемый для завершения установленного сеанса) будет отправлен на порт. Ответ системы на этот случайный флаг может показать состояние порта или брандмауэр. Например, закрытый порт, который получает незапрошенный пакет FIN, ответит пакетом RST (мгновенный прерывание), но открытый порт проигнорирует его. Сканирование XMAS просто отправляет набор всех флагов, создавая бессмысленное взаимодействие. Ответ системы может быть интерпретирован для лучшего понимания портов системы и брандмауэра.
  • Сканирование отказов FTP (FTP Bounce Scan) – позволяет замаскировать местоположение отправителя путем пересылки пакета через FTP-сервер. Это также предназначено для отправителя, чтобы остаться незамеченным.

  • Сканирование развертки (Sweep scan) – пингует один и тот же порт на нескольких компьютерах, чтобы определить, какие компьютеры в сети активны. Это не раскрывает информацию о состоянии порта, а сообщает отправителю, какие системы в сети активны. Таким образом, его можно использовать как предварительное сканирование.

Описание NMap

Nmap – бесплатная программа для защиты сетей. Она поддерживает работу с разными протоколами безопасности и сканирует любые порты. Утилита использует различные методы проверки. Это позволяет находить уязвимости сетей и устранять их.

Nmap – одна из лучших программ в своем роде. Она поддерживает работу с TCP, ICMP, UDP, FTP proxy, SYN и другими протоколами. В программе нет ограничений на проверку сетей по размерам или сложности. После проверки можно сравнить результаты анализа и задействовать фильтр хостов.

Работа осуществляется как через командную строку, так и через графическую оболочку с пользовательским интерфейсом. Поэтому использовать Nmap могут как новички, так и профессионалы. Софт совместим с версиями Windows от XP до 10.

Преимущества и недостатки

  • Обходит многие фаерволы
  • Позволяет проверять доступность серверов
  • Работа в анонимном режиме
  • Запрещена в некоторых странах

Как работает Nmap?

В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. Nmap использует немного иной подход. Компьютеры также определенным образом реагируют на те или иные сетевые пакеты, утилита просто отправляет нужные пакеты и смотрит какие хосты прислали ответ.

Но об этом вы, наверное, уже знаете. Более интересно то как Nmap узнает какие сервисы запущены на машине. Суть работы всех сетевых программ основана на портах. Чтобы получить сообщение из сети, программа должна открыть порт на вашем компьютере и ждать входящих соединений. А для отправки сообщения по сети нужно подключиться к уже другой программой (адресатом) порту. Затем программе необходимо будет открыть порт, на котором она будет ждать ответа.

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

Сканирование сети с помощью nmap – немного теории

nmap – свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети.

nmap была написана с помощью C, C++, Python, Lua и предустановлена в Kali Linux, который мы с вами уже обозревали.

Изначально утилита была разработана для систем UNIX, сейчас же не составляет проблем установить её и на Windows.

nmap используется злоумышленниками для сканирования сетей WiFi, LAN и обнаружения открытых портов на подключенных устройствах для проведения различных атак.

Если на подключенном устройстве открыты порты, то оно считается уязвимым и легко поддаётся атакам с помощью различных X-sploits. Одним из самых распространнёных является Metasploit.

Metasploit Project – проект, посвящённый информационной безопасности. Создан для предоставления информации об уязвимостях, помощи в создании сигнатур для IDS, создания и тестирования эксплойтов.

Также вы можете прочитать о скрипте для Termux, с помощью него можно легко установить Network Mapper на ваш смартфон.

Зачем нужна команда nmap?

Основная задача команды nmap – сканирование сетевых портов указанных компьютеров для определения, какие из них используются (прослушиваются) программами-серверами. Для подавляющего числа сетевых демонов (служб) определены их стандартные порты по-умолчаню, которые они используют для своей работы. По этому признаку можно делать выводы, о том какие серверные программы запущены на том или ином компьютере в сети.

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

Возможности nmap и примеры сканирования

Синтаксис Network Mapper

nmap [Тип сканирования] [Параметры] {Целевая спецификация}

В качестве целевой спецификации может быть имя хоста, IP-адрес, сеть и т.п.

Список параметров можно получить написав в терминале команду nmap.

Как вы знаете, роутеры сами раздают IP-адреса в диапазоне 192.168.0(1).0 – 192.168.0(1).255, это функция DHCP.

Для сканирования всего радиуса нам необходимо написать команду:

nmap -sL 192.168.1.1/24

-sL – параметр, запускает сканирование списка

24 в IP-адресе – это 24-битная подсетка, которая имеет нужный нам радиус в 256 символов. То есть сканирование пройдёт от 10.0.0.0 – 10.0.0.255.

Для сканирования подключенных устройств мы использует параметр -sn, в таком случае -sL нам не требуется.

nmap -sn 192.168.1.1/24

Как вы можете увидеть, в моей сети из было просканировано 256 хостов и 3 из них используются. Важно, что 192.168.0.1 – это роутер. Далее идёт мой телефон и ПК.

Теперь давайте просканируем устройства на наличие открытых портов следующей командой:

nmap -Pn {цель}

Мой компьютер не имеет открытых портов, что хорошо для меня и плохо для злоумышленника, так как он не сможет провести атаку.

Однако просканировав роутер, мы видим, что 2 порта открыто, 80 и 1900.

Также можно просканировать и все 256 хостов, однако это займет намного больше времени.

Узнаем версию ОС нашего ПК и роутера. Сканирование на операционную систему требует root привелегий и наличия открытых портов. В случае если порты закрыты, конкретного результата не будет и об этом будет предупреждение. С роутером проблем не возникло и все вывелось корректно, также мы видим MAC-адрес роутера/

#1: Сканирование одного хоста или IP адреса (IPv4)

### Сканирование одного IP nmap 192.168.1.1 ## Сканирование хоста nmap randomsite.com ## Сканирование хоста с дополнительной информацией nmap -v randomsite.com

#2: Сканирование нескольких IP-адресов или подсети(IPv4)

nmap 192.168.1.1 192.168.1.2 192.168.1.3 nmap 192.168.1.1,2,3

Вы также можете сканировать диапазон IP-адресов:

nmap 192.168.1.1-20 nmap 192.168.1.*

Наконец, вы можете сканировать всю подсеть:

nmap 192.168.1.0/24

#3: Чтение списка хостов/сетей из файла (IPv4)

Опция -iL позволяет вам читать список целевых систем, используя текстовый файл. Это полезно для сканирования большого количества хостов / сетей. Создайте текстовый файл следующим образом:

cat > /tmp/test.txt

Заполните его:

randomsite.com 192.168.1.0/24 192.168.1.1/24 10.1.2.3 localhost

Запустите сканирование:

nmap -iL /tmp/test.txt

#4: Исключение хостов/сетей (IPv4)

При сканировании большого количества хостов/сетей вы можете исключить хосты из проверки:

nmap 192.168.1.0/24 –exclude 192.168.1.5 nmap 192.168.1.0/24 –exclude 192.168.1.5,192.168.1.254

Или исключить список с помощью файла /tmp/exclude.txt

nmap -iL /tmp/scanlist.txt –excludefile /tmp/exclude.txt

#5: Включить скрипт сканирования ОС и ее версии (IPv4)

nmap -A 192.168.1.254 nmap -v -A 192.168.1.1 nmap -A -iL /tmp/scanlist.txt

#6: Узнать, защищен ли хост брандмауэром

nmap -sA 192.168.1.254
nmap -sA randomsite.com

#7: Сканирование хоста, если он защищен брандмауэром

nmap -PN 192.168.1.1
nmap -PN randomsite.com

#8: Сканирование хоста/адреса IPv6

Опция -6 включает сканирование IPv6. Синтаксис:

nmap -6 IPv6-Address-Here
nmap -6 randomsite.com
nmap -6 2607:f0d0:1002:51::4
nmap -v A -6 2607:f0d0:1002:51::4

#9: Сканирование сети и поиск работающих устройств

nmap -sP 192.168.1.0/24

Пример вывода:

Host 192.168.1.1 is up (0.00035s latency).
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Host 192.168.1.2 is up (0.0038s latency).
MAC Address: 74:44:01:40:57:FB (Unknown)
Host 192.168.1.5 is up.
Host nas03 (192.168.1.12) is up (0.0091s latency).
MAC Address: 00:11:32:11:15:FC (Synology Incorporated)
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.80 second

#10: Быстрое сканирование

nmap -F 192.168.1.1

#11: Показать причину, по которой порт находится в определенном состоянии

nmap –reason 192.168.1.1
nmap –reason randomsite.com

#12: Показывать только открытые (или возможно открытые) порты

nmap –open 192.168.1.1
nmap –open randomsite.com

#13: Показать все отправленные и полученные пакеты

nmap –packet-trace 192.168.1.1
nmap –packet-trace randomsite.com

#14: Показать интерфейсы и маршруты хоста

nmap –iflist

Пример вывода:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 02:01 IST
************************INTERFACES************************
DEV (SHORT) IP/MASK TYPE UP MAC
lo (lo) 127.0.0.1/8 loopback up
eth0 (eth0) 192.168.1.5/24 ethernet up B8:AC:6F:65:31:E5
vmnet1 (vmnet1) 192.168.121.1/24 ethernet up 00:50:56:C0:00:01
vmnet8 (vmnet8) 192.168.179.1/24 ethernet up 00:50:56:C0:00:08
ppp0 (ppp0) 10.1.19.69/32 point2point up

**************************ROUTES**************************
DST/MASK DEV GATEWAY
10.0.31.178/32 ppp0
209.133.67.35/32 eth0 192.168.1.2
192.168.1.0/0 eth0
192.168.121.0/0 vmnet1
192.168.179.0/0 vmnet8
169.254.0.0/0 eth0
10.0.0.0/0 ppp0
0.0.0.0/0 eth0 192.168.1.2

#15: Сканирование определенных портов

nmap -p [port] hostName ## Сканирование 80 порта nmap -p 80 192.168.1.1 ## TCP сканирование 80 порта nmap -p T:80 192.168.1.1 ## UDP сканирование 80 порта nmap -p U:53 192.168.1.1 ## Сканирование двух портов nmap -p 80,443 192.168.1.1 ## Сканирование диапазона портов nmap -p 80-200 192.168.1.1 ## Комбинирование всех параметров nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1 nmap -p U:53,111,137,T:21-25,80,139,8080 randomsite.com nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254 ## Сканирование всех портов с помощью * nmap -p “*” 192.168.1.1 ## Сканирование популярных портов, нужно указать количество nmap –top-ports 5 192.168.1.1 nmap –top-ports 10 192.168.1.1

Пример вывода:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:23 IST Interesting ports on 192.168.1.1: PORT STATE SERVICE 21/tcp closed ftp 22/tcp open ssh 23/tcp closed telnet 25/tcp closed smtp 80/tcp open http 110/tcp closed pop3 139/tcp closed netbios-ssn 443/tcp closed https 445/tcp closed microsoft-ds 3389/tcp closed ms-term-serv MAC Address: BC:AE:C5:C3:16:93 (Unknown) Nmap done: 1 IP address (1 host up) scanned in 0.51 seconds

#16: Самый быстрый способ проверить все ваши устройства на наличие открытых портов

nmap -T5 192.168.1.0/24

#17: Определение ОС

Вы можете идентифицировать приложения и ОС удаленного хоста, используя опцию -O:

nmap -O 192.168.1.1
nmap -O –osscan-guess 192.168.1.1
nmap -v -O –osscan-guess 192.168.1.1

Пример вывода:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:29 IST
NSE: Loaded 0 scripts for scanning.
Initiating ARP Ping Scan at 01:29
Scanning 192.168.1.1 [1 port] Completed ARP Ping Scan at 01:29, 0.01s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 01:29
Completed Parallel DNS resolution of 1 host. at 01:29, 0.22s elapsed
Initiating SYN Stealth Scan at 01:29
Scanning 192.168.1.1 [1000 ports] Discovered open port 80/tcp on 192.168.1.1
Discovered open port 22/tcp on 192.168.1.1
Completed SYN Stealth Scan at 01:29, 0.16s elapsed (1000 total ports)
Initiating OS detection (try #1) against 192.168.1.1
Retrying OS detection (try #2) against 192.168.1.1
Retrying OS detection (try #3) against 192.168.1.1
Retrying OS detection (try #4) against 192.168.1.1
Retrying OS detection (try #5) against 192.168.1.1
Host 192.168.1.1 is up (0.00049s latency).
Interesting ports on 192.168.1.1:
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Device type: WAP|general purpose|router|printer|broadband router
Running (JUST GUESSING) : Linksys Linux 2.4.X (95%), Linux 2.4.X|2.6.X (94%), MikroTik RouterOS 3.X (92%), Lexmark embedded (90%), Enterasys embedded (89%), D-Link Linux 2.4.X (89%), Netgear Linux 2.4.X (89%)
Aggressive OS guesses: OpenWrt White Russian 0.9 (Linux 2.4.30) (95%), OpenWrt 0.9 – 7.09 (Linux 2.4.30 – 2.4.34) (94%), OpenWrt Kamikaze 7.09 (Linux 2.6.22) (94%), Linux 2.4.21 – 2.4.31 (likely embedded) (92%), Linux 2.6.15 – 2.6.23 (embedded) (92%), Linux 2.6.15 – 2.6.24 (92%), MikroTik RouterOS 3.0beta5 (92%), MikroTik RouterOS 3.17 (92%), Linux 2.6.24 (91%), Linux 2.6.22 (90%)
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=5.00%D=11/27%OT=22%CT=1%CU=30609%PV=Y%DS=1%G=Y%M=BCAEC5%TM=50B3CA
OS:4B%P=x86_64-unknown-linux-gnu)SEQ(SP=C8%GCD=1%ISR=CB%TI=Z%CI=Z%II=I%TS=7
OS:)OPS(O1=M2300ST11NW2%O2=M2300ST11NW2%O3=M2300NNT11NW2%O4=M2300ST11NW2%O5
OS:=M2300ST11NW2%O6=M2300ST11)WIN(W1=45E8%W2=45E8%W3=45E8%W4=45E8%W5=45E8%W
OS_6=45E8)ECN(R=Y%DF=Y%T=40%W=4600%O=M2300NNSNW2%CC=N%Q=)T1(R=Y%DF=Y%T=40%S
OS:=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%R
OS_D=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=
OS:0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID
OS:=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)
Uptime guess: 12.990 days (since Wed Nov 14 01:44:40 2012)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=200 (Good luck!)
IP ID Sequence Generation: All zeros
Read data files from: /usr/share/nmap
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.38 seconds
Raw packets sent: 1126 (53.832KB) | Rcvd: 1066 (46.100KB)

#18: Как определить версии служб?

nmap -sV 192.168.1.1

Пример вывода:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:34 IST Interesting ports on 192.168.1.1: Not shown: 998 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh Dropbear sshd 0.52 (protocol 2.0) 80/tcp open http? 1 service unrecognized despite returning data.

Синтаксис команды nmap и особенности её работы

Команда nmap довольно проста в использовании и каким-то сложным синтаксисом не отличается:

nmap [Тип сканирования…] [Опции] {цель сканирования}

Чего нельзя сказать о количестве, функциональности её ключей и неисчерпаемых возможностях их применения. Официальная документация, доступная на страницах man-руководства (команда man nmap), кроме того, что очень подробная (трудно встретить ещё подробнее), так ещё и имеет качественный перевод (локализации, в том числе и на русском языке) в большинстве Linux-дистрибутивов.

Не всегда утилита nmap предустановлена в системе, поэтому для её использования требуется установка соответствующего пакета, который обычно имеет имя nmap:

$ sudo apt-get install nmap

Или в Centos/Redhat

$  yum install nmap -y

Пример:

$ nmap -sT localhost

Столбец STATE показывает состояние порта: он может быть открыт (open), когда связан с использующими его службами (соединениями), закрыт (closed), когда порт не используется ни одним сервером. Также доступны состояния: unfiltered, когда nmap не смогла определить состояние порта. А также filtered – когда порт защищён (или заблокирован) брандмауэром.

Для задания хоста можно также использовать цифровую запись в виде IP-адреса. Отчёт из данного примера сформирован для самого обычного компьютера, для которого не была сконфигурирована какая-то защита. Как можно видеть, для прослушивания 80 и 443 портов для работы протоколов HTTP и HTTPS соответственно, запущен веб-сервер. Сервер баз данных (БД) MySQL также работает по стандартному порту.

Примеры команды nmap

Для поиска устройств, подключенных к сети, пользователю необходимо узнать маску локальной сети. Эта информация будет доступна после ввода команды:

$ ip addr show

В открывшемся окне, напротив слова «inet» запомните число, указанное, после слеша. Например, 24. Это число понадобится вам в дальнейшем. Теперь нужно задать команду для сканирования сети с указанием сохраненного числа и IP маршрутизатора:

$ nmap -sL 192.168.1.1/24

Если в операционной системе Linux стоит защита от сканирования портов, процесс не даст никаких результатов. В этом случае пользователю придется пойти на небольшую хитрость – использовать специальную опцию для обхода этой защиты. Как это будет выглядеть на практике:

$ nmap -sn 192.168.1.1/24

Теперь в открывшемся окне должны появиться результаты сканирования. Далее следует провести сканирование портов нужного узла без добавления каких-либо опций. Запуск утилиты:

# nmap 192.168.1.1

В открывшемся окне будут указаны все порты, используемые различными сервисами на ПК. Не забывайте о том, что каждый из этих портов может послужить уязвимым местом в системе. Если вас не устраивает сжатый вид найденной информации о подключенных портах, попробуйте заполучить развернутые данные. Это можно выполнить данным способом:

# nmap -sV 192.168.1.1

Для осуществления проверки конкретного порта понадобится команда в виде:

# nmap -sC 192.168.56.102 -p 21

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

# find /usr/share/nmap/scripts/ -name ‘*.nse’ | grep ftp

Чтобы утилита функционировала в агрессивном режиме (при таком раскладе в окне будет указана развернутая информация о портах, вызванная всего лишь одной командой, что особенно удобно для неопытного владельца Linux), нужно добавить специальную опцию в стандартную команду. А именно:

# nmap -A 192.168.1.1

Использование nmap

При первом запуске Zenmap мы увидим основное окно. Что же неоходимо нам для того, чтобы начать анализ сети?

Первый шаг– нам нужно указать Цель (Target). Это то, что мы будем анализировать. Допустим, нам нужно просмотреть сеть вида 192.168.0.100. Мы можем просканировать ее целиком – для этого введем диапазон 192.168.0.* в поле Target. В этом случае будут проанализированы все доступные адреса локальной сети этого диапазона.

Второй шаг – это выбор Профиля сканирования. Поле Профиль (Profile) имеет выпадающий список, в котором находятся шаблоны (наборы предустановленных параметров Nmap) для анализа сети – от простого пингования до интенсивного сканирования. Хочу вас предупредить – последний вариант профиля может быть причиной выхода из строя оборудования в небольших сетях. Если у вас имеются роутеры или маршрутизаторы, то при сканировании они могут стать узким местом (в смысле – пропускной способности).

Когда вы выбираете профиль, то можете обратить внимание на происходящие изменения в строке Command. В зависимости от выбранного профиля меняются опции, с которыми запускается Zenmap. Точно такую же строку вы можете ввести в терминале. Другими словами, запуск Nmap с определенными параметрами в командной строке аналогичен запуску Zenmap с соотвествующим профилем.

И так, профиль выбран. Нажимаем кнопку Scan. Процесс сканирования начался. В левом окне будут отображаться обнаруженные IP-адреса (хосты), в правом – лог сканирования.

Внимание! Обязательно дождитесь окончания сканирования, прежде чем переключаться на другие вкладки! Иначе процесс может преждевременно прерваться или вообще завершиться крахом Zenmap. И вы не получите нужных результатов.

На правой панели находятся различные вкладки. Каждая из них служит своей определенной цели.

  • Nmap Output: Вкладка по умолчанию. Выводит все команды, выполняемые программой Nmap.
  • Ports Hosts: Показывает, какие порты на IP-адресах (хостах) открыты.
  • Topology: Представляет в графическом режиме (картинка) топологию сети.
  • Host details: Подробная информация о каждом отдельно выбранном хосте. Для того, чтобы выбрать нужный хост, достаточно просто щелкнуть на нем мыщью в левом окне программы.
  • Scans: Список всех сканирований, выполненных программой. Вы можете заново запустить любой из них, выбрав его из списка и щелкнув мыщью на кнопке Scan.

Установка nmap на Linux

По умолчанию nmap не установлен в операционною систему Линукс, поэтому его нужно установить.

Centos  8:

dnf install nmap

Для Дебиан / Убунту:
# apt update
# apt install nmap

Centos  7 / Redhat /Fedora

yum install nmap

Сканирование чужих узлов.

В примерах выше для сканирования были выбраны локальный маршрутизатор и одна из рабочих станций, потому что мы имели право на их сканирование. Однако, будет плохой идеей запуск множественного сканирования чужого узла, если вы их не контролируете или не имеете прав для сканирования. Для экспериментов Nmap имеет общедоступный тестовый сервер scanme.nmap.org который Вы можете использовать.
Многие администраторы не любят несанкционированного сканирования их серверов, так что лучшим вариантом будет ограничение сканирования узлов своей локальной сети или тех для которых у вас есть права на сканирование. Также в некоторых случаях вы можете нарушить договор с вашим провайдером, при использовании некоторых особо агрессивных методов сканирования Nmap, поэтому будьте осторожны.

Сканирование нескольких узлов.

Вы можете сканировать больше чем один узел за раз, используя nmap. Если вы производите сканирование по IP-адресу вы можете определить диапазон 10.0.0.1-6 или 10.0.0.0/24.Используя диапазон 10.0.0.1-6 будут сканироваться узлы от 10.0.0.1 до 10.0.0.6. Используя определение /24 будет сканироваться весь диапазон узлов от 10.0.0.0 до 10.0.0.255. Для примера, если нужно просканировать узлы от 10.0.0.1 до 10.0.0.42 и узнать какая ОС вероятно запущена используйте:
nmap –O 10.0.0.1-42
Если у вас есть некоторый список доменных имен вместо IP адресов, вы можете разделить их в командной строке, вот так:
nmap -O host1.target.com host2.target.com

Проверка открытых портов с помощью nmap

Если вы запустите nmap вообще без опций и укажите какой то узел, то он будет сканировать порты и покажет все найденные открытые порты и сервисы запущенные на них. Например запустите:
nmap target.hostname.com
после чего он должен выдать что то похожее на это:
Interesting ports on target.hostname.com (10.0.0.88):
Not shown: 1711 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.228 seconds

Nmap выдаст больше информации если использовать опцию -v (verbose).

Сканирование запущенных сервисов с помощью nmap

Если вы хотите узнать какой сервис возможно запущен попробуйте опцию –sV. Эта опция произведет более агрессивное сканирование и попытается выяснить какая версия сервисов запущена на данном узле, а также может помочь более точно определить какая ОС запущена. Для пример запустим nmap –sV на тестовый сервер и получим следующий ответ:
Starting Nmap 5.21 ( nmap.org ) at 2010-02-28 00:15 EST
Nmap scan report for test.host.net (XX.XXX.XXX.XX)
Host is up (0.090s latency).
Not shown: 965 closed ports, 33 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0)
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch)
Service Info: OS: Linux
Service detection performed. Please report any incorrect results at nmap.org/submit .
Nmap done: 1 IP address (1 host up) scanned in 11.43 seconds

Как вы видите, Nmap может проанализировать пакеты и определить версию запущенного приложений на SSH и HTTP портах. Здесь вы можете увидеть что опрашиваемая система это Ubuntu с Apache 2.2.8 и OpenSSH 4.7p1. Эта информация может быть полезна по ряду причин. Nmap сканирование может идентифицировать систему под управлением устаревших сервисов которые могут быть уязвимы для известных эксплойтов.

Профили сканирования

Для анализа сети в Zenmap вы можете использовать как профили по умолчанию (предустановленные), так и создавать свои собственные. Для того, чтобы создать свой профиль, щелкните на Profile, затем выберите Новыйпрофиль (NewProfile) или Команда (Command) или Редактироватьсуществующийпрофиль (EditCurrentProfile). Если вы хотите внести небольшие изменения, достаточно выбрать необходимый профиль и затем отредактировать его. Например, на скриншоте показан измененный профиль, в который добавлена информация об операционной системе. Чтобы добавить эту информацию, выберите профиль, затем Profile > EditCurrentProfile. В новом окне открываем вкладку Scan и затем выбираем опцию “OS”. Кнопка SaveChanges сохраняет изменения и закрывает окно редактирования.

Если вы изменили какой-либо профиль, вам нужно перезапустить сканирование, чтобы получить результат от введенных изменений.

Главные особенности и функции ZenMap

Мощность

У Zenmap отсутствуют ограничения в масштабах сканирования — от одного ПК до нескольких сотен тысяч машин, объединенных в одну большую сеть.

Простота использования

Работать в Zenmap может профессионал, используя самые сильные инструменты, и новичок. Причём пользователь может работать в обоих режимах — консоль или графический интерфейс. Сайт разработчика предлагает массу готовых пакетов для пользования в различных операционных системах специально для тех, кто не имеет желания или возможности собственноручно компилировать программу из исходных данных.

Свобода

Zenmap — бесплатная лицензированная программа, которая содержит в себе полный пакет всех исходников.

Поддержка разработчиков

Программа не даёт пользователям гарантию, однако сообщество разработчиков готово отвечать на любые вопросы пользователей. Наиболее часто используемые варианты сканирования могут быть сохранены в профили, чтобы обеспечить их лёгкий неоднократный запуск в дальнейшем. Мастер создания команд позволяет задавать команды в диалоговом режиме. Результаты сканирования сохраняются в базе данных. Это позволяет легко найти нужный результат, а также сравнивать результаты друг с другом. Благодаря активному сообществу разработчиков и хорошей документации Zenmap очень популярен. О высоком качестве этой программы говорят и многочисленные награды. Zenmap стал практически стандартом среди бесплатных программ для аудита сетей.

Установка и аудит сетей

Прежде чем скачать бесплатно «Зенмап», полезно знать — приложение поддерживает различные методы аудита сетей, включая в сканирование портов, определение наименования и точной версии операционной системы. Zenmap невероятно мощный. Ему «по зубам» компьютерная сеть любого размера, он быстро сканирует сеть даже в сто тысяч узлов. Любые преграды, будь то IP-фильтры, маршрутизаторы или что-то ещё, Zenmap с успехом преодолеет. Несмотря на то что он разрабатывался специально для больших сетей, при желании может точно так же применяться и на единичном сервере.

Установить Zenmap в большинство современных дистрибутивов достаточно просто, если используется готовый установочный пакет с запуском из репозиториев. Удобнее всего запускать из-под рут, потому что для полного пакета Nmap требуются привилегии Superuser.

Интерфейс пользователя

Для начала потребуется цель проверки. Предположим, что нужно отсканировать сеть с IP-адресами, используя маску 192.168.101.*:

  • данное клише вводится в поле Target;
  • затем в раскрывающемся списке «Профиль» нужно подобрать из предоставленных профиль, который лучше всего подойдёт для сканирования;
  • нужно иметь в виду, что сканирование с применением функции «Интенсивного анализа», возможно, навредит некоторым сетевым устройствам, таким как роутеры или свичи. С данными устройствами нужно обращаться крайне осторожно;
  • после подбора соответствующего профиля также поменяются данные поля Command, которое содержит nmap с установленными параметрами;
  • если есть необходимость, то содержимое команды всегда можно скорректировать под себя.

Когда место назначения установлено и профиль сканирования выбран, следует нажать «Сканировать» и заняться своими делами (а может и нет, все будет зависеть от объёма данной задачи nmap и быстроты сети). Как только сканирование завершится, список хостов, которые были найдены, отобразится на левой панели.

На правой панели можно заметить 5 вкладок:

  • nmap output — изначально открывается вкладка, которая отображает вывод текста nmap;
  • порты/хосты — в этой вкладке можно посмотреть открытые порты и на каких хостах они открыты;
  • topology — эта вкладка отображает топологию данной сети в форме графиков и диаграмм;
  • сведения о хосте — здесь отображается вся информация о данных сканирования хоста;
  • сканирование — эта вкладка содержит все ранее использованные команды скана, то есть историю.

Зайдя во вкладку Topology, можно отыскать самый занимательный пункт Zenmap. Тут находится топология рассматриваемой сети, которая изображается в формате кластера окружностей с названиями хостов или их сетевыми адресами. Если проверенная сеть довольно велика, разглядеть круги будет практически невозможно.

В таком случае нужно нажать кнопку «Управление», которая находится сверху, и использовать кнопки Zoom и Ring Gap, расположенные справа, чтобы настроить дисплей наилучшим способом. Также можно воспользоваться флажками в разделе «Вид», чтобы выбрать нужную информацию о хосте, отображаемую на карте.

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

Чаще всего результаты сканирования сохраняются в профиле пользователя, чтобы была возможность не единожды повторно их запускать. Чтобы создать команду для Nmap, необходимо перейти в диалоговый режим.

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

Программа Nmap разработана и создана для быстрого и безопасного сканирования как одного ПК, так и целых компьютерных сетей. Nmap и Zenmap совместимы с большинством операционных сетей. Могут работать и в консольном режиме, и в режиме графического интерфейса.

Zenmap отличает наличие необходимой документации. Установка не представляет собой каких-либо сложностей. Официальный сайт Zenmap публикует установщики для всех распространённых операционных систем — Linux, Windows, FreeBSD.

Выводы и рекомендации по использованию nmap

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

Network Mapper имеет также и графическую оболочку, об этом нужно упомянуть, однако я ей не пользовался и советую сразу работать с  терминалом.

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

[spoiler title=”Источники”]
  • https://itmaster.guru/nastrojka-interneta/analiz-lokalnoy-seti.html
  • http://pyatilistnik.org/port-scanner-on-the-local-network/
  • https://ip-scaner.ru/
  • https://www.softslot.com/software-2862-nmap.html
  • https://KtonaSoft.ru/nmap/
  • https://losst.ru/kak-polzovatsya-nmap-dlya-skanirovaniya-seti
  • https://www.make-info.com/nmap/
  • https://ITProffi.ru/skanirovanie-setevyh-portov-v-linux-komanda-nmap/
  • https://mordeniuss.ru/nmap-commands-examples/
  • https://www.vseprolinux.ru/nmap-skaner
  • http://rus-linux.net/nlib.php?name=/MyLDP/lvs/nmap/zenmap.html
  • https://habr.com/ru/post/88064/
  • https://ZenMap.ru/
[/spoiler]

Как проверить, открыт ли порт

В этой статье мы расскажем, что такое порт, какие они бывают и как проходит проверка порта на локальном и удаленном компьютере.

Что такое порт

Порт — это числовой идентификатор программы или процесса, который обслуживает сетевые соединения на заданном IP-адресе. Номера портов могут быть от 0 до 65 535.

Каждое устройство (компьютер, ноутбук, мобильный телефон и др.) имеет свой IP-адрес. Он дает возможность организовывать сетевые соединения между устройствами. Но на отдельном устройстве может быть запущено несколько сетевых приложений одновременно. Например, есть интернет-сервер с IP-адресом. На нем расположен: веб-сервер, почтовый сервер, FTP-сервер. Как сделать так, чтобы мы могли связаться именно с почтовым сервером? Для этого и нужен порт. Порты предоставляют возможность идентифицировать сетевые приложения на отдельно взятом компьютере.

Есть стандартные порты, такие как:

  • порт 80 — для  веб-сервера, который работает по протоколу HTTP,
  • порт 443 — для защищенного SSL-сертификатом веб-сервера, который работает по протоколу HTTPS,
  • порт 21 — для FTP-протокола (протокола передачи файлов).

Как проверить, открыт ли порт

Проверка порта на доступность возможна как для своего (локального) компьютера , так и для удаленного.

Как узнать, какие порты открыты на локальном компьютере в Windows

  1. Вызовите командную строку сочетанием клавиш Win+R

  2. Введите команду «cmd» и нажмите ОК:

  1. Пропишите команду netstat -a и кликните Enter:

Готово, перед вами список открытых портов на вашем компьютере.

Как узнать, какие порты открыты на удаленном компьютере

Провести проверку портов на открытость удаленного компьютера можно при помощи команды telnet.

Telnet — это утилита, с помощью которой можно соединиться с удаленным портом любого компьютера. Telnet позволяет установить связь, чтобы передавать команды и получать ответы (например, сделать проброс портов).

В Windows 7/8/10 и Vista утилита telnet отключена по умолчанию. Утилиту можно установить по инструкции.

Как проверить доступность порта с помощью команды telnet в Windows:

  1. Вызовите командную строку сочетанием клавиш Win+R.

  2. Введите команду «cmd» и нажмите ОК.

  3. В окне терминала введите команду:  telnet имя_сервера номер_порта (например, telnet mysite.ru 31). 

    Можно проверить порт на доступность по IP, если ввести команду telnet IP_сервера номер_порта (например, telnet 10.0.119.127 31).

  • Если на экране появится текст «“telnet” не является внутренней или внешней командой, исполняемой программой или пакетным файлом», то на вашем компьютере отключена утилита и ее надо установить по инструкции:

  • Если экран станет полностью пустым или появится приглашение сервера, значит порт открыт:

 

 

Проверить порты

Проверить порты не сложно, есть много инструментов, благодаря которым можно выполнить это действие. Но сначала надо разобраться, что это такое, зачем нужно.

 

 

Итак, разные программы, которых понаписали очень много, часто умеют взаимодействовать с данными из компьютерной сети. Для того, чтобы было понятно, какой программный продукт хочет использовать сетевые ресурсы, придумали идентификатор, который называется порт и однозначно определяет, что работать нужно именно с этой програмкой. За основу взяли обычные числа от 0 до 65536. 

При этом есть программы, за которыми закреплены определённые числа (порты), на постояннной основе, а имеются и другие, которые работают с разными портами или сразу используют много портов. Имеется спецификация и разделение такое:

  • системные: 0 — 1023;
  • зарегистрированные: 1024 — 49151;
  • динамические: 49152 — 65535.

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

Помогут определить наличие открытых и закрытых портов следующие программные продукты:

Работает 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.

Программа работает как в Windows, так и в Linux, только придётся её устанавливать. В Windows дистрибутив копируется в любую папку, например в папку С:\Program Files\, далее прописываем путь к запускающему файлу в переменные среды и запускаем программу в командной строке, или в командной строке прописываем полный путь к файлу и затем запускаем его. В Linux после установки програмного обеспечения, не нужно прописывать путь к запускающему файлу.

Программа позволяет принимать и отсылать данные, работать в роли простенького веб-сервера или чата.

Просканировать на наличие открытого порта:

# nc -vn 192.168.10.243 22
или диапaзона портов:
# nc -vnz 192.168.10.243 0-65536

Просканировать UDP-порты:

# nc -vnzu 192.168.10.243 0-65536

 Для запуска help для netcat:

# nc -h

Одним из лучших инструментов для сканирования является nmap. Умеет работать в различных операционных системах. Много опций и различных сочетаний, различные виды сканирования, даже имеется возможность добавления скриптов.

Умеет сканировать один порт, множество портов, различное их сочетание:

# nmap -p 8080 192.168.10.243
# nmap -p 80, 8080 192.168.10.243
# nmap -p 0-65536 192.168.10.243
# nmap -p T:80,U:5547,22,137-139

Сканировать все TCP или UDP порты:

# nmap -sT 192.168.10.243
# nmap -sU 192.168.10.243

Определить открытые порты:

# nmap --open 192.168.10.243

Распознавать версии программ, запущенных на хосте:

# nmap -sV 192.168.10.243

Сохранить результаты в текстовый файл:

# nmap 192.168.10.243 > nmap-out.txt

В целях тестирования разрешено сканировать scanme.nmap.org, но небольшое количество раз в течение одного дня.

В powershell можно делать всё, что и в командной строке, и даже больше. Для этого есть командлеты. Для проверки сетевых соединений — Test-NetConnection (TNC). Но данный командлет появился в PowerShell 4.0. Если версия powershell ниже 4.0, то нужно обновиться. Запускаем программу и проверяем версию:

$PSVersionTable.PSVersion

 

Проверить порт на удалённом компьютере:

TNC 192.168.44.131 -Port 22

По имени компьютера:

TNC -ComputerName z1 -Port 22

Имеются также специальные утилиты с графическим интерфейсом, например Advanced Port Scanner, XSpider, а также онлайн-сервисы, которые предлагают проверить порты на ресурсе. Так выглядит интерфейс программы Advanced Port Scanner и вывод результатов о доступности портов.

Также есть и другие программы, но сделать вывод о доступности порта на компьютере уже возможно и с помощью вышеперечисленных средств.

Что такое сканирование портов и как оно работает?

Сканирование портов — это метод определения того, какие порты в сети открыты и могут принимать или отправлять данные. Это также процесс отправки пакетов на определенные порты хоста и анализа ответов для выявления уязвимостей.

Это сканирование не может быть выполнено без предварительной идентификации списка активных хостов и сопоставления этих хостов с их IP-адресами. Это действие, называемое обнаружением хоста, начинается с сканирования сети.

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

После завершения тщательного сканирования сети и составления списка активных хостов можно выполнить сканирование портов для выявления открытых портов в сети, которые могут обеспечить несанкционированный доступ.

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

Что такое порты и номера портов?

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

Номера портов используются для согласованности и программирования.Номер порта в сочетании с IP-адресом образуют важную информацию, хранящуюся у каждого интернет-провайдера для выполнения запросов. Порты варьируются от 0 до 65 536 и в основном ранжируются по популярности.

Порты от 0 до 1023 — это хорошо известные номера портов, которые предназначены для использования в Интернете, хотя они также могут иметь специализированное назначение. Они администрируются Управлением по присвоению номеров Интернета (IANA). Эти порты принадлежат ведущим компаниям, таким как Apple QuickTime, MSN, SQL Services и другим известным организациям.Вы можете узнать некоторые из наиболее известных портов и назначенные им службы:

  • Порт 20 (UDP) содержит протокол передачи файлов (FTP), используемый для передачи данных
  • Порт 22 (TCP) содержит протокол Secure Shell (SSH) для безопасного входа, ftp и переадресации портов
  • Порт 53 (UDP) — это система доменных имен (DNS), которая преобразует имена в IP-адреса.
  • Порт 80 (TCP) — это Интернет HTTP

Номера с 1024 по 49151 считаются «зарегистрированными портами», что означает, что они зарегистрированы корпорациями-разработчиками программного обеспечения.Порты с 49,151 по 65,536 являются динамическими и частными портами и могут использоваться практически всеми.

Какие протоколы используются при сканировании портов?

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

В то время как TCP является надежной двусторонней передачей данных на основе соединения, которая зависит от статуса адресата для завершения успешной отправки, UDP не требует установления соединения и ненадежен.Данные, отправленные по протоколу UDP, доставляются без учета места назначения; поэтому не гарантируется, что данные вообще попадут в него.

Используя эти два протокола, существует несколько различных методов сканирования портов.

Какие существуют методы сканирования портов?

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

Ниже приведены некоторые методы и способы их работы:

  • Сканирование Ping: Простейшее сканирование портов называется сканированием Ping. В сети проверка связи используется для проверки того, можно ли безошибочно передать пакет сетевых данных на IP-адрес. Сканирование Ping — это запросы протокола управляющих сообщений в Интернете (ICMP), которые автоматически отправляют несколько запросов ICMP на разные серверы для получения ответов. ИТ-администраторы могут использовать этот метод для устранения неполадок или отключения проверки связи с помощью брандмауэра, что делает невозможным обнаружение сети злоумышленниками с помощью проверки связи.
  • Полуоткрытое сканирование или SYN-сканирование: Полуоткрытое сканирование или SYN-сканирование (сокращенно от «синхронизировать») — это тактика, которую злоумышленники используют для определения статуса порта без установления полного соединения. Это сканирование отправляет только SYN-сообщение и не завершает соединение, оставляя цель зависшей. Это быстрый и хитрый метод, направленный на обнаружение потенциальных открытых портов на целевых устройствах.
  • XMAS-сканирование: XMAS-сканирование еще тише и менее заметно для брандмауэров.Например, пакеты FIN обычно отправляются с сервера или клиента для разрыва соединения после установления трехстороннего установления связи TCP и успешной передачи данных, и на это указывает сообщение «от отправителя больше нет данных». FIN-пакеты часто остаются незамеченными брандмауэрами, потому что в первую очередь ищут SYN-пакеты. По этой причине сканирование XMAS отправляет пакеты со всеми флагами, включая FIN, не ожидая ответа, что означает, что порт открыт. Если порт закрыт, будет получен ответ RST.Сканирование XMAS редко отображается в журналах мониторинга и является просто более хитрым способом узнать о защите сети и брандмауэре.

Какие результаты сканирования портов можно получить при сканировании портов?

Результаты сканирования портов показывают состояние сети или сервера и могут быть описаны в одной из трех категорий: открытые, закрытые или отфильтрованные.

  • Открытые порты: Открытые порты указывают, что целевой сервер или сеть активно принимает соединения или дейтаграммы и ответили пакетом, указывающим, что он прослушивает.Это также указывает на то, что служба, используемая для сканирования (обычно TCP или UDP), также используется.
    Обнаружение открытых портов обычно является общей целью сканирования портов и победой киберпреступников, ищущих путь для атаки. Перед ИТ-администраторами стоит задача заблокировать открытые порты, установив брандмауэры, чтобы защитить их, не ограничивая доступ для законных пользователей.
  • Закрытые порты: Закрытые порты указывают на то, что сервер или сеть получили запрос, но на этом порту нет службы, «прослушивающей».Закрытый порт по-прежнему доступен и может быть полезен для демонстрации того, что хост находится на IP-адресе. ИТ-администраторам следует по-прежнему отслеживать закрытые порты, поскольку они могут перейти в открытый статус и потенциально создать уязвимости. ИТ-администраторам следует подумать о том, чтобы заблокировать закрытые порты с помощью брандмауэра, тогда они станут «фильтрованными» портами.
  • Отфильтрованные порты: Отфильтрованные порты указывают, что пакет запроса был отправлен, но хост не ответил и не слушает.Обычно это означает, что пакет запроса был отфильтрован и / или заблокирован брандмауэром. Если пакеты не достигают своего целевого местоположения, злоумышленники не могут получить дополнительную информацию. Отфильтрованные порты часто отвечают сообщениями об ошибках «пункт назначения недоступен» или «связь запрещена».

Как киберпреступники могут использовать сканирование портов в качестве метода атаки?

По данным института SANS, сканирование портов является одной из самых популярных тактик, используемых злоумышленниками при поиске уязвимого сервера для взлома.

Эти киберпреступники часто используют сканирование портов в качестве предварительного шага при нацеливании на сети. Они используют сканирование портов, чтобы оценить уровни безопасности различных организаций и определить, у кого есть сильный брандмауэр, а у кого может быть уязвимый сервер или сеть. Ряд методов протокола TCP фактически позволяют злоумышленникам скрыть свое сетевое местоположение и использовать «ложный трафик» для выполнения сканирования портов без раскрытия какого-либо сетевого адреса цели.

Злоумышленники исследуют сети и системы, чтобы увидеть, как каждый порт отреагирует — открытый, закрытый или отфильтрованный.

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

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

Как использовать Nmap для сканирования открытых портов {обновлено 2021}

Введение

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

Это руководство покажет вам , как использовать Nmap для сканирования всех открытых портов в системах Linux.

Предварительные требования

  • Операционная система Linux
  • Доступ к учетной записи пользователя с привилегиями sudo или root
  • Доступ к командной строке / окну терминала
  • Менеджер пакетов apt, включенный по умолчанию (Debian / Ubuntu)
  • Менеджер пакетов yum , включено по умолчанию (Red Hat, CentOS)

Что такое порты?

В современных операционных системах порты — это нумерованные адреса для сетевого трафика.По умолчанию разные виды сервисов используют разные порты.

Например, обычный веб-трафик использует порт 80, в то время как электронная почта POP3 использует порт 110. Один из способов работы брандмауэра — это разрешение или ограничение трафика через определенный порт.

Поскольку конфигурация порта может создать угрозу безопасности, очень важно знать, какие порты открыты, а какие заблокированы.

Как сканировать порты Nmap

Чтобы просканировать порты Nmap в удаленной системе, введите в терминал следующее:

  судо nmap 192.168.0.1  

Замените IP-адрес IP-адресом тестируемой системы. Это основной формат для Nmap , и он возвращает информацию о портах в этой системе.

Помимо сканирования по IP-адресу, вы также можете использовать следующие команды для указания цели:

Для сканирования хоста:

  nmap www.hostname.com  

Для сканирования диапазона IP-адресов (.1 — .10):

  nmap 192.168.0.1-10  

Для запуска Nmap в подсети:

  нмп 192.168.0.1/13  

Для сканирования объектов из текстового файла:

  nmap –iL textlist.txt  

Примечание: Разработчики из nmap.org предоставляют тестовый сервер, на котором вы можете экспериментировать, расположенный по адресу scanme.nmap.org. Вы можете использовать это для тестирования вашей утилиты Nmap.

Сканирование одного порта, всех портов или серии

Команды Nmap могут использоваться для сканирования одного порта или серии портов:

Сканировать порт 80 в целевой системе:

  nmap –p 80 192.168.0.1  

Сканировать порты с 1 по 200 в целевой системе:

  nmap –p 1-200 192.168.0.1  

Сканировать (быстро) наиболее распространенные порты:

  нмп –F 192.168.0.1  

Для сканирования всех портов (1-65535):

  nmap –p– 192.168.0.1  
Другие типы сканирования портов Nmap

Могут выполняться различные типы сканирования:

Для сканирования с использованием TCP-соединения (требуется больше времени, но более вероятно подключение):

  nmap –sT 192.168.0.1  

Чтобы выполнить сканирование SYN по умолчанию (выполняется только половина квитирования TCP):

  нмп –sS 192.168.0.1  

Чтобы указать Nmap сканировать порты UDP вместо портов TCP (переключатель –p указывает порты 80, 130 и 255 в этом примере):

  nmap –sU –p 80,130,255 192.168.0.1  

Выполнить быстрое сканирование целевой системы, но не обнаруживать хост. (Обнаружение хоста использует ping , но многие серверные брандмауэры не отвечают на запросы ping .Эта опция вызывает тест, не дожидаясь ответа, который может не прийти):

  нмп –Pn –F 192.168.0.1  

Утилита nmap может использоваться для обнаружения операционной системы конкретной цели:

  nmap –A 192.168.0.1  

Его также можно использовать для проверки служб, которые могут использовать разные порты:

  nmap –sV 192.168.0.1  

Примечание: Опцию –sV можно настроить на более или менее агрессивное сканирование.Используйте опцию –– версия-интенсивность 2 , чтобы указать уровень тестирования. Замените цифру 2 цифрой от 0 (световая проверка) до 9 (запустить все датчики). Чем интенсивнее тестирование, тем дольше будет сканирование.

Общие порты

Вот краткий список стандартных портов и их обозначений:

  • 21 — FTP
  • 22 — SSH
  • 25 — SMTP (отправка электронной почты)
  • 53 — DNS (служба доменных имен)
  • 80 — HTTP (веб-сервер)
  • 110 — POP3 (почтовый ящик)
  • 123 — NTP (сетевой протокол времени)
  • 143 — IMAP (почтовый ящик)
  • 443 — HTTPS (защищенный веб-сервер)
  • 465 — SMTPS (отправка защищенной электронной почты)
  • 631 — CUPS (сервер печати)
  • 993 — IMAPS (защищенный почтовый ящик)
  • 995 — POP3 (защищенный почтовый ящик)

Брандмауэр Linux можно настроить так, чтобы блокировать весь трафик на определенном порту.

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

Рекомендации по сканированию Nmap

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

Возможно, во время сканирования вы обнаружите необычную активность. Например, вы можете увидеть службу, работающую на необычном номере порта. Это означает, что происходит что-то странное и должно быть расследовано.

ОС и параметры сканирования служб полезны для сканирования определенного порта или службы для получения дополнительной информации.Если служба работает на порту, отличном от порта по умолчанию, это может быть сделано намеренно или может указывать на нарушение безопасности.

Порты часто используются по умолчанию. Большинство портов до 1000 выделены и назначены определенной службе.

Заключение

В этом руководстве представлен обзор сканирования Nmap и того, как его можно использовать для тестирования портов в Linux . Теперь вы должны понять, как работают порты и почему важно знать, как они используются.

Nmap добавляет универсальный инструмент в арсенал любого системного администратора для отладки и обнаружения недостатков безопасности.

Сканировать открытые порты в Windows: Краткое руководство

Этот пост был просмотрен, и информация по-прежнему актуальна по состоянию на июнь 2018 года.

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

В этой статье мы кратко рассмотрим, как просматривать открытые порты с помощью ряда легких бесплатных инструментов для Microsoft Windows.Вы можете быть удивлены тем, насколько эффективны эти бесплатные утилиты, помогая сканировать открытые порты и разобраться в корне проблемы. Также не забудьте ознакомиться с двумя другими сообщениями о сканировании открытых портов в Windows, которые являются продолжением этого сообщения и используют разные решения. Прочтите Сканирование открытых портов в Windows: Краткое руководство (часть 2) здесь и Сканирование открытых портов в Windows: Часть 3 (NMAP) здесь.

NetStat.exe

Первый инструмент, о котором стоит упомянуть, — это инструмент, о котором, возможно, слышали многие администраторы и специалисты службы поддержки; служебная программа командной строки Windows под названием netstat.исполняемый. Netstat.exe, расположенный в папке Windows «System32», позволяет просматривать порты, которые открыты или используются на определенном хосте, но его не следует путать со сканером сетевых портов, который фактически проверяет хост на предмет открытых портов.

Чтобы просмотреть, какие порты прослушивают (открыты) на локальном хосте с помощью netstat, введите в командной строке следующее:

netstat –an ¦find / i «прослушивание»

Результаты будут отображаться в четырех столбцах — тип протокола, локальный IP-адрес и связанный номер порта, внешний IP-адрес и состояние — как показано на рисунке ниже.Столбец интереса в этом случае будет вторым столбцом.

При использовании параметра «o» как части команды netstat пятая колонка будет отображаться как часть результатов. В этом столбце отображается идентификатор процесса приложения (PID), связанный с каждым открытым портом. Полная команда будет иметь следующий вид:

netstat –ano ¦find / i «прослушивание»

Использование диспетчера задач, чтобы найти, какое приложение использует открытый порт.

Информация PID может использоваться, чтобы найти, какое приложение использует открытый порт.Например, на изображении выше показано, что PID 156 связан с портом 17500. Используя диспетчер задач Windows (CTRL + SHIFT + ESC), мы видим, что PID 156 принадлежит приложению Dropbox.exe.

Tasklist.exe позволяет найти приложение, используя открытый порт из командной строки

То же самое можно сделать с помощью tasklist.exe из командной строки, которая по сути является эквивалентом командной строки диспетчера задач Windows, который отобразит ту же информацию.Опять же, интересующий столбец результатов для tasklist.exe будет столбцом два, который показывает PID для каждого запущенного приложения. Используя обе версии, вы можете отображать другую информацию, такую ​​как учетная запись пользователя, под которой работает приложение.

Чтобы получить полный список параметров и дополнительную информацию, введите «netstat /?» или «список задач /?» в командной строке.

TCPView.exe

Аналогичен netstat.exe TCPView.exe, который предлагает более подробное представление netstat.Информация exe в графическом интерфейсе пользователя (GUI). TCPView.exe доступен для загрузки с веб-сайта Microsoft SysInternals и работает как отдельное приложение, не требующее установки. Используя TCPView, вы можете не только сканировать открытые порты, но также просматривать информацию о локальном и удаленном TCP-соединении, такую ​​как отправленные и полученные пакеты, используемый протокол, а также инициирующий процесс.

PortQry.exe

Еще один действительно интересный инструмент, о котором следует знать, — это PortQry.исполняемый. PortQry.exe доступен для загрузки из Центра загрузки Майкрософт и работает как отдельное приложение командной строки.

PortQry.exe позволяет сканировать открытые порты на локальном или удаленном хосте. После того, как вы загрузили и распаковали portqry.exe на свой компьютер, откройте командную строку и введите portqry.exe с заданным параметром из папки, содержащей исполняемый файл.

Например, ввод « portqry.exe –local » покажет использование порта TCP / UDP для локального хоста.Информация, отображаемая при использовании этого параметра, аналогична информации netstat.exe, однако он также показывает статистику портов, такую ​​как количество сопоставлений портов и количество портов в каждом состоянии.

Чтобы просмотреть состояние открытого порта TCP / UDP удаленного хоста, введите « portqry.exe –n [имя хоста / IP] », где [имя хоста / IP] заменяется именем хоста или IP-адресом удаленного хозяин. Вы также можете указать сканирование определенного порта с помощью параметра « -e [номер_порта] », конкретного диапазона портов с помощью параметра « -r [start_range: end_range] » или группы портов в конкретный порядок с использованием параметра « -o [порт1, порт2, порт3] ».

На изображении ниже показано, как portqry.exe используется для сканирования «прослушивающих» портов на удаленном узле с IP-адресом 192.168.0.7 и диапазоном портов 150–160.

Чтобы получить полный список параметров и дополнительную информацию, введите «portqry.exe /?».

Заключение

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

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

Сканирование портов — обзор

Наиболее широко используемым сканером портов является Nmap , который доступен в BackTrack и имеет обширную документацию на http://nmap.org . Nmap , впервые выпущенный Гордоном «Федором» Лионом в 1997 году, продолжает набирать обороты как лучший в мире сканер портов с дополнительной функциональностью по сканированию и эксплуатации уязвимостей.Самый последний крупный выпуск Nmap на момент написания этой статьи — это версия 6, и она включает в себя массу функций, предназначенных для сканирования веб-серверов.

Запуск Nmap

В Nmap есть несколько типов сканирования и переключатели, которые добавляют еще больше функциональности. Мы уже знаем IP-адрес нашего веб-сервера, поэтому многие из сканирований в Nmap , посвященных обнаружению хоста (поиск IP-адреса сервера), могут быть опущены, поскольку мы больше заинтересованы в сборе полезной информации о портах, сервисах, и версии, работающие на веб-сервере.Мы можем запустить Nmap на нашем веб-сервере DVWA, когда он работает на локальном хосте ( 127 . 0 . 0 . 1 ). С терминала выполните следующую команду Nmap .

nmap -sV -O -p- 127.0.0.1

Давайте проверим каждую часть команды, которую вы только что выполнили, чтобы мы все понимали, что пытается выполнить сканирование.

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

Код –O означает, что будет извлечена информация об операционной системе, такая как тип и версия.

-p- означает, что мы просканируем все порты.

127.0.0.1 — это IP-адрес нашей цели.

Один из наиболее полезных переключателей Nmap s — это снятие отпечатков пальцев с удаленной операционной системы, чтобы узнать, какие службы и версии находятся в целевой системе. Nmap отправляет серию пакетов на удаленный хост и сравнивает ответы со своей базой данных nmap os db , содержащей более 2600 известных отпечатков операционной системы. Результаты нашего первого сканирования показаны ниже.

Отчет о сканировании Nmap для локального хоста (127.0.0.1)

Хост работает (задержка 0,000096 с).

Не показано: 65532 закрытых порта

ПОРТ ВЕРСИЯ СОСТОЯНИЯ СЛУЖБЫ

80 / tcp открыть http Apache httpd 2.2.14 ((Ubuntu))

3306 / tcp открыть mysql MySQL 5.1.41-3ubuntu12.10

7337 / tcp open postgresql PostgreSQL DB 8.4.0

8080 / tcp open http-proxy Burp Suite Pro http прокси

Тип устройства: общего назначения

Запуск: Linux 2.6.X | 3.X

OS CPE: cpe: / o: linux: kernel: 2.6 cpe: / o: linux: kernel: 3

Сведения об ОС: Linux 2.6.32 — 3.2

Сетевое расстояние: 0 переходов

Обнаружение ОС и служб выполнено . Пожалуйста, сообщайте о любых неверных результатах на http://nmap.org/submit/.

Nmap выполнено: 1 IP-адрес (1 хост активен) просканирован за 9.03 секунды

Вы можете увидеть четыре столбца результатов: ПОРТ , СОСТОЯНИЕ , СЕРВИС и ВЕРСИЯ . В этом случае у нас есть четыре строки результатов, что означает, что на этом веб-сервере работают четыре службы. То, что работает на этой машине, не требует пояснений (ваши результаты могут незначительно отличаться в зависимости от того, что у вас запущено на виртуальной машине), но давайте обсудим каждый из них, так что мы все находимся на одной странице с этими результатами Nmap .

Имеется Apache 2 . 2 . 14 веб-сервер, работающий на порту 80.

Имеется 5 . 1 . 41 База данных MySQL , работающая на порту 3306.

Имеется PostreSQL 8 . 4 База данных , работающая на порту 7175.

Существует веб-прокси ( Burp Suite ), работающий на порту 8080.

Знание точных служб и версий будет полезной информацией в предстоящие этапы сканирования и эксплуатации уязвимостей.Также есть дополнительные примечания о версии ядра, деталях сборки операционной системы и количестве сетевых переходов (0, потому что мы просканировали наш localhost ).

Alert

Запуск Nmap против localhost может вводить в заблуждение, так как порты, которые слушают на машине, могут фактически быть недоступны для другой машины. Некоторые из этих машин могут быть в одной локальной сети (LAN) или полностью вне LAN. 127.0.0.1 относится только к локальной машине и является адресом обратной связи, который каждая машина использует для связи с собой.Чтобы получить четкое представление о том, что доступно посторонним на этой машине, вам действительно нужно запустить это же сканирование Nmap с двух разных машин. Вы можете запустить один с машины внутри сети (компьютер вашего коллеги), а другой — с машины вне сети (ваш домашний компьютер). Затем у вас будет три сканирования для сравнения результатов. Неважно, что вы делаете это для нашей работы, но важно понимать, что вы можете получить разные результаты в зависимости от того, из какой сети вы сканируете.

Nmap Scripting Engine (NSE)

Одним из способов расширения функциональных возможностей Nmap является включение скриптов для проведения специализированного сканирования. Вам просто нужно вызвать сценарий и предоставить все необходимые аргументы, чтобы использовать сценарии. Механизм сценариев Nmap ( NSE ) выполняет эту функцию и, к счастью для нас, имеет множество готовых к использованию сценариев для веб-приложений. Наш веб-сервер DVWA довольно утомителен, но важно понимать, на что он способен при использовании NSE .Существует около 400 сценариев Nmap (396, если быть точным, по последним подсчетам), так что вы обязательно найдете пару полезных! Вы можете увидеть все текущие сценарии NSE и сопроводительную документацию на http://nmap.org/nsedoc/. Вот пара применимых сценариев Nmap , которые вы можете использовать на веб-серверах.

Вы вызываете все сценарии NSE с —script = <имя сценария> как часть синтаксиса сканирования Nmap . В этом примере используется сценарий http enum для перечисления каталогов, используемых популярными веб-приложениями и серверами в рамках сканирования версий.

nmap -sV —script = http-enum 127.0.0.1

Пример вывода этого сценария, запущенного на машине Windows, показан ниже, где было найдено семь различных общих каталогов. Эти каталоги можно использовать на более поздних этапах нашего подхода, связанного с атаками обхода пути. Вы можете запустить тот же сценарий NSE для DVWA и увидите несколько перечисленных каталогов и запущенный экземпляр MySQL.

Интересные порты на 127.0.0.1:

ПОРТ СОСТОЯНИЕ СЛУЖБЫ ПРИЧИНА

80 / tcp open http syn-ack

| http-enum:

| | / icons /: Иконки и изображения

| | / images /: Иконки и изображения

| | / robots.txt: Файл роботов

| | /sw/auth/login.aspx: Citrix WebTop

| | /images/outlook.jpg: Outlook Web Access

| | / nfservlets / servlet / SPSRouterServlet /: netForensics

| _ | _ / nfservlets / servlet / SPSRouterServlet /: netForensics

Еще одно распространенное сканирование веб-сервера, которое очень полезно, — проверить, уязвима ли целевая машина для анонимного доступа Microsoft FrontPage вход в систему через порт 80 с помощью сценария http на главной странице входа в систему .Вы можете подумать: «Я думал, что FrontPage — это только функция среды Windows». Очевидно, это наиболее применимо к средам Windows, в которых работает FrontPage, но когда расширения FrontPage все еще широко использовались, эта функциональность поддерживалась и в системах Linux. Расширения FrontPage больше не поддерживаются службой поддержки Microsoft, но они по-прежнему широко используются на старых веб-серверах.

nmap 127.0.0.1 -p 80 —script = http-frontpage-login

Пример вывода http frontpage login показан ниже.Старые конфигурации по умолчанию для расширений FrontPage позволяют удаленному пользователю входить в систему анонимно, что может привести к полной компрометации сервера.

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА ПРИЧИНА

80 / tcp open http syn-ack

| http-frontpage-login:

| УЯЗВИМЫЙ:

| Расширение главной страницы анонимный вход

| Состояние: УЯЗВИМЫЙ

| Описание:

| Установки по умолчанию более старых версий расширений главной страницы допускают анонимный вход, что может привести к компрометации сервера.

|

| Ссылки:

| _ http://insecure.org/sploits/Microsoft.frontpage.insecurities.html

Последний пример NSE , включенный здесь, предназначен для проверки уязвимости веб-сервера для обхода каталогов путем попытки получить файл / etc / passwd на веб-сервере Linux или boot . ini на веб-сервере Windows. Это уязвимость, которая позволяет злоумышленнику получить доступ к ресурсам файловой системы веб-сервера, которые не должны быть доступны.Этот тип атаки более подробно рассматривается в следующей главе, но его огромная функциональность заключается в том, что Nmap проверяет эту уязвимость во время взлома веб-сервера в рамках нашего подхода. Это еще один отличный пример открытий, сделанных за один шаг, которые можно использовать позже при атаке разных целей.

nmap —script http-passwd —script-args http-passwd.root = / 127.0.0.1

Это отличный сценарий NSE , потому что автоматическим сканерам веб-приложений сложно проверить прохождение каталогов на веб сервер.Здесь представлен образец вывода, иллюстрирующий эту уязвимость.

80 / tcp открыть http

| http-passwd: обнаружен обход каталога.

| Полезная нагрузка: «index.html? ../../../../../ boot.ini»

| Печать первых 250 байт:

| [загрузчик]

| тайм-аут = 30

| по умолчанию = мульти (0) диск (0) rdisk (0) раздел (1) \ WINDOWS

| [операционные системы]

| _multi (0) disk (0) rdisk (0) partition (1) \ WINDOWS = «Microsoft Windows XP Professional» / noexecute = optin / fastdetect

Выводы Nmap при сканировании портов связаны напрямую в следующие разделы, когда Nessus и Nikto используются для поиска уязвимостей на веб-сервере.

Как определить вредоносную сеть и сканирование портов

Сканирование сети и сканирование портов — процессы изучения структуры и поведения сети — по своей сути не являются враждебными, но злоумышленники часто используют их для проведения разведки перед попыткой взлома сети. Такие атаки, как SUNBURST, могут использовать сетевое сканирование, чтобы получить информацию о местности на ранней стадии атаки.

Как работает вредоносное сканирование и как вы можете обнаружить потенциальную разведку вашей сети? Начнем с определения основных терминов:

  • Сканирование сети включает в себя обнаружение всех активных хостов в сети и сопоставление их с их IP-адресами.
  • Сканирование портов относится к процессу отправки пакетов на определенные порты на хосте и анализа ответов, чтобы узнать подробности о его запущенных службах или найти потенциальные уязвимости.

Методы сетевого сканирования для обнаружения хоста

Обнаружение хоста, процесс определения того, какие системы в сети работают и слушают, часто является первым шагом в действии враждебного сканирования сети. Для обнаружения хоста чаще всего используются два протокола: сканирование по протоколу разрешения адресов (ARP) и несколько типов сканирования по протоколу управляющих сообщений Интернета (ICMP).

Поскольку отдельные запросы ARP используются для сопоставления IP-адресов с MAC-адресами в локальной подсети, запросы ARP могут быть отправлены на множество IP-адресов в локальной сети (LAN), чтобы определить, какие хосты включены, на основе тех, которые отвечают с ответ ARP.

Для сканирования сети за пределами локальной подсети вместо этого можно использовать несколько типов пакетов ICMP, включая запросы эха, отметки времени и маски адреса. Эхо-запросы (или эхо-запросы) используются для определения возможности доступа к другому узлу, в то время как сообщения с отметками времени определяют задержку между двумя узлами.Запросы маски адреса предназначены для обнаружения маски подсети, используемой в сети.

Обнаружение хоста для каждого типа сообщения ICMP зависит от получения соответствующего ответа от доступных хостов. Если ответ не получен, это означает, что либо по этому адресу не прослушивается хост, либо пакет запроса был заблокирован брандмауэром или фильтром пакетов, либо тип сообщения не поддерживается устройством назначения. Эхо-запросы ICMP, отправляемые за пределы внутренней сети, обычно блокируются брандмауэрами, но с меньшей вероятностью будут заблокированы запросы с меткой времени и маской адреса.

Методы сканирования портов

После того, как доступные хосты в сети были обнаружены с помощью сетевого сканирования, сканирование портов можно использовать для обнаружения служб, используемых на определенных портах. Как правило, сканирование портов пытается классифицировать порты по одному из трех обозначений:

  • Открыть : пункт назначения отвечает пакетом, указывающим, что он прослушивает этот порт, что также указывает на то, что любая служба, которая использовалась для сканирования (обычно TCP или UDP), также используется
  • Closed : пункт назначения получил пакет запроса, но отвечает ответом, указывающим, что на порту
  • нет прослушивания службы.
  • Отфильтровано : порт может быть открыт, но пакет был отфильтрован брандмауэром и отброшен, поэтому ответ не получен

Типы сканирования TCP

Как упоминалось ранее, TCP и UDP часто являются протоколами, используемыми при сканировании портов.Есть несколько методов сканирования TCP:

SYN-сканирование, наиболее распространенная форма TCP-сканирования, включает в себя установление полуоткрытого соединения с целевым портом путем отправки SYN-пакета и оценки ответа. Хост отвечает, отправляя пакет SYN / ACK, если порт открыт, или ответ RST, если порт закрыт. Закрытый порт также может ответить сообщением о недоступности порта ICMP вместо пакета RST, хотя это встречается реже. Отсутствие ответа означает, что порт отфильтрован.

Метод более высокого уровня сканирования TCP — это сканирование TCP-соединения, при котором сканер пытается подключиться к порту через TCP, используя системный вызов connect и полный процесс подтверждения TCP. Этот метод используется реже, чем сканирование SYN, поскольку он требует больше накладных расходов с точки зрения пакетов и времени и его легче обнаружить.

Сканирование

NULL, FIN и Xmas — это три типа сканирования, которые включают манипулирование флагами заголовка TCP. Каждый из них приводит к пакету RST (или недоступности порта ICMP) от закрытого порта и отсутствию ответа от открытого или отфильтрованного порта, и они требуют, чтобы биты SYN, RST и ACK не были установлены.При сканировании NULL пакеты отправляются без установленных флагов в заголовках, а при сканировании FIN установлен только бит FIN. Пакеты рождественского сканирования, названные так потому, что их заголовки напоминают «светящиеся, как рождественская елка», имеют включенные биты флагов FIN, PSH и URG.

Загрузите технический документ по оптимизации TCP, чтобы лучше защитить TCP / IP.

UDP сканирование

Как и сканирование TCP, сканирование UDP отправляет пакет UDP на различные порты целевой системы и оценивает ответ, чтобы определить доступность службы и хоста.Получение UDP-пакета в ответ указывает на то, что порт открыт, в то время как ответ об ошибке о недоступности порта ICMP означает закрытый порт. Если ответ не получен, порт может быть открыт или отфильтрован брандмауэром или фильтром пакетов.

Как определить сканирование сети и портов

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

Пользователи

ExtraHop: щелкните здесь, чтобы получить пакет, который автоматически определяет экземпляры сканирования сети и портов, а также отслеживает злоумышленников, которые намеренно выполняют медленное и длительное сканирование, чтобы избежать обнаружения.

Если у вас нет возможности легко отслеживать и соотносить подозрительное поведение, такое как сканирование вредоносных портов, потратьте несколько минут, чтобы понять, почему аналитика сетевого трафика получает так много шума в SecOps с помощью этого интерактивного пошагового руководства по использованию NTA для обнаружения и остановки потенциальная атака:

Основы сканирования портов | Сетевое сканирование Nmap


Функциональность Nmap с годами росла, он начинался как эффективный сканер портов, и это остается его основная функция.Простая команда nmap <цель> сканирований 1000 TCP-портов на хосте <цель> . Хотя многие сканеры портов традиционно сгруппировали все порты в открытые или закрытые утверждает, что Nmap гораздо более детализирован. Он делит порты на шесть состояний: открыто , закрыто , отфильтровано , нефильтрованное , открыто | отфильтровано , или закрыто | отфильтровано .

Эти состояния не являются внутренними свойства самого порта, но опишите, как их видит Nmap. Для Например, сканирование Nmap из той же сети, что и цель, может показать порт 135 / tcp как открытый, а сканирование одновременно с тем же варианты из Интернета могут показывать этот порт как отфильтрованный .

Шесть состояний порта, признанных Nmap

открытые

Приложение активно принимает TCP соединения, дейтаграммы UDP или ассоциации SCTP на этом порту.Их поиск часто является основной целью сканирования портов. Люди, заботящиеся о безопасности, знают, что каждый открытый порт — это путь для атаки. Злоумышленники и пентестеры хотят использовать открытые порты, в то время как администраторы пытаются закрыть или защитить их с помощью брандмауэров без воспрепятствование законным пользователям. Открытые порты также интересны для сканирования, не связанного с безопасностью, потому что они показывают услуги, доступные для использования в сети.

закрыто

Доступен закрытый порт (принимает и отвечает на зондовые пакеты Nmap), но нет приложения слушая его.Они могут быть полезны, показывая, что хост активен. по IP-адресу (обнаружение хоста или сканирование ping) и как часть обнаружения ОС. Поскольку закрытые порты доступны, это может быть стоит просканировать позже на случай, если некоторые откроются. Администраторы могут захотеть рассмотреть возможность блокировки таких портов с помощью брандмауэра. Тогда они бы появляются в отфильтрованном состоянии, обсуждается далее.

отфильтровано

Nmap не может определить, открыт ли порт потому что фильтрация пакетов не позволяет зондам достичь порта.Фильтрация может осуществляться с выделенного устройства межсетевого экрана, маршрутизатора. правила или программное обеспечение межсетевого экрана на основе хоста. Эти порты расстраивают злоумышленники, потому что они предоставляют так мало информации. Иногда они отвечают сообщениями об ошибках ICMP, такими как код типа 3 13 (пункт назначения недоступен: административная связь запрещено), но фильтры, которые просто отбрасывают зонды, не отвечая гораздо более распространены. Это вынуждает Nmap повторить попытку несколько раз, просто в случае, если зонд был сброшен из-за перегрузки сети, а не фильтрация.Это резко замедляет сканирование.

нефильтрованное

Нефильтрованное состояние означает, что порт доступен, но Nmap не может определить, открыт он или закрыт. Только сканирование ACK, которое используется для сопоставления наборов правил брандмауэра, классифицирует порты в это состояние. Сканирование нефильтрованных портов с помощью другого сканирования такие типы, как сканирование окна, сканирование SYN или сканирование FIN, могут помочь решить открыт ли порт.

открыто | отфильтровано

Nmap переводит порты в это состояние, когда не может определить, открыт порт или отфильтрован.Это происходит при сканировании типы, на которые открытые порты не отвечают. Отсутствие ответ также может означать, что фильтр пакетов отбросил зонд или любой ответ, который он вызвал. Таким образом, Nmap не знает наверняка, порт открыт или фильтруется. Протокол UDP, IP, Сканирование FIN, NULL и Xmas позволяет классифицировать порты. способ.

закрыто | отфильтровано

Это состояние используется, когда Nmap не может определить закрыт ли порт или отфильтрован. Используется только для IP ID. сканирование в режиме ожидания.

Сканирование портов и его роль в сканировании уязвимостей

22 марта Сканирование портов и его важность при сканировании уязвимостей

Киберпреступность находится на рекордно высоком уровне. Один из самых простых способов для киберпреступников получить доступ к устройствам организации — использовать открытые порты. Системные администраторы и специалисты по безопасности запускают сканирование портов как часть сканирования уязвимостей, чтобы идентифицировать такие открытые порты и избежать любого рода вторжений.В этом блоге мы подробно рассмотрим различные аспекты сканирования портов и его роль в сканировании уязвимостей.

Что такое сканирование портов?

Процесс сканирования порта компьютера называется сканированием порта. Он предоставляет информацию о том, открыты ли порты устройства, закрыты или отфильтрованы. В основном это выполняется для определения того, отправляет ли порт или принимает какую-либо информацию.

Сканирование портов также включает отправку данных на определенные порты и анализ ответов для выявления уязвимостей.

Это также один из методов, используемых злоумышленниками для обнаружения устройств / служб, в которые они могут взломать.

Как работает сканирование портов?

Сканер портов проверяет блок IP-адресов на наличие хостов и открытых портов с использованием сетевых протоколов TCP / IP.

Чтобы узнать, как это работает, нам нужно глубоко погрузиться в основные компоненты сканирования портов — порты, номера портов и методы, используемые для его выполнения.

Порты и номера портов

Порты — это конечные точки связи, которые соединяют сетевые устройства. Каждый порт идентифицируется 16-битным беззнаковым номером порта. Ниже перечислены различные типы номеров портов:

  • Общеизвестные номера портов TCP / IP

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

Номер порта Описание
1 Мультиплексор служб порта TCP (TCPMUX)
5 Удаленный ввод заданий (RJE)
7 ЭХО
18 Протокол отправки сообщений (MSP)
20 FTP — данные
21 FTP — Контроль
22 Протокол удаленного входа SSH
23 Telnet
25 Простой протокол передачи почты (SMTP)
29 MSG ICP
37 Время
42 Сервер имен хостов (Nameserv)
43 WhoIs
49 Протокол хоста входа в систему (Вход в систему)
53 Система доменных имен (DNS)
69 Простой протокол передачи файлов (TFTP)
70 Gopher Services
79 Палец
80 HTTP
103 Х.400 стандарт
108 Сервер доступа к шлюзу SNA
109 POP2
110 POP3
115 Простой протокол передачи файлов (SFTP)
118 Службы SQL
119 Группа новостей (NNTP)
137 Служба имен NetBIOS
139 Служба дейтаграмм NetBIOS
143 Промежуточный протокол доступа к почте (IMAP)
150 Служба сеансов NetBIOS
156 SQL Server
161 SNMP
179 Протокол пограничного шлюза (BGP)
190 Протокол управления доступом к шлюзу (GACP)
194 Internet Relay Chat (IRC)
197 Служба определения местоположения каталогов (DLS)
389 Облегченный протокол доступа к каталогам (LDAP)
396 Novell Netware через IP
443 HTTPS
444 Простой протокол сетевого пейджинга (SNPP)
445 Microsoft-DS
458 Apple QuickTime
546 Клиент DHCP
547 DHCP-сервер
563 SNEWS
569 MSN
1080 Носки

Зарегистрированные порты

Эти номера портов зарегистрированы в Internet Assigned Numbers Authority (IANA) и могут использоваться кем угодно для своих серверов или в качестве эфемерных (временных и действительных только до тех пор, пока не будет установлено соединение) номеров для своих клиентов.Зарегистрированные номера портов находятся в диапазоне от 1024 до 49151. Полный список зарегистрированных номеров портов можно найти на веб-сайте IANA.

Динамические или частные порты

Эти номера портов находятся в диапазоне от 49152 до 65535. Динамические порты являются клиентскими портами и используются для частных или настраиваемых служб. Их нельзя зарегистрировать в IANA.

Протоколы сканирования портов

Обычно TCP и протокол пользовательских дейтаграмм (UDP) являются наиболее часто используемыми протоколами для сканирования портов.

Наиболее часто используемым методом сканирования TCP является сканирование с синхронизированным подтверждением (SYN). SYN-сканирование включает создание частичного соединения с хостом на целевом порту путем отправки SYN-пакета и последующей оценки ответа от хоста. Он также известен как скрытое сканирование, поскольку он используется хакерами для внесения изменений в сеть, оставаясь незамеченным.

Другой метод сканирования TCP — это сканирование TCP-соединения. Это медленный и методичный процесс, включающий в себя установление полного соединения с последующим его разрывом.

UDP — это протокол без установления соединения, который упрощает обмен сообщениями между вычислительными устройствами в сети. Протокол UDP, который часто используется для видеоконференцсвязи или компьютерных игр, обеспечивает производительность в реальном времени. Это предпочтительный протокол для приложений, которым не требуется гарантированная доставка каждого пакета данных, в отличие от TCP.

Методы и методы сканирования портов

Доступны различные методы сканирования портов. Наиболее значимые из них:

  • TCP SYN-сканирование — Как упоминалось выше, SYN-сканирование является наиболее популярным методом сканирования.Он также известен как Half Open Scan, поскольку это двусторонний канал связи, и сканер не закрывает открытые соединения.
  • TCP FIN Scan — это сканирование, в основном используемое злоумышленниками, имеет возможность проходить через брандмауэры и другие программы обнаружения сканирования. Когда атакующая система отправляет FIN-пакеты целевой системе, закрытые порты ответят ответом на сброс, в то время как открытые порты будут игнорировать пакеты.
  • TCP XMAS Scan — это сканирование используется для определения прослушивающих портов в целевой системе.
  • TCP Null Scan — Чрезвычайно скрытая афера, TCP Null Scam устанавливает для всех полей заголовка значение null, что означает, что когда злоумышленник отправляет пакет, вместо включения флагов в заголовке, которые могут привести к получению пакета как недопустимый хостом, сканирование NULL отключает флаги заголовка.
  • Vanilla TCP Connect Scan — Легко обнаруживаемое сканирование. Ванильное сканирование использует системный вызов connect операционной системы в целевой системе для открытия соединения с каждым открытым портом.
  • Сканирование Ping — Сканирование Ping использует команду «ping» для сканирования активных компьютеров.

Статус порта

Как упоминалось ранее, статус порта — открытый, закрытый или отфильтрованный. Давайте посмотрим, что означает каждый из этих статусов.

  • Open — Открытый порт подразумевает, что когда кто-то пытается подключиться к этому порту на сервере, сервер может каким-то образом ответить.
  • Closed — Как следует из названия, закрытый порт означает, что сервер не отвечает ни на какие подключения.
  • Filtered — Отфильтрованный порт указывает, что брандмауэр или какая-либо антивирусная / антивирусная программа блокирует порт, чтобы избежать определенных подключений.

Какова цель сканирования портов

Целью сканирования портов является получение информации от серверов, к которым подключены порты. Сканирование портов выполняется системными администраторами для мониторинга конечных точек, а также злоумышленниками в злонамеренных целях.

Активное или пассивное сканирование портов?

Как упоминалось выше, когда сканирование портов выполняется системными администраторами или другими ИТ-специалистами в рамках процесса мониторинга устройства, оно в основном пассивное.Однако когда хакеры пытаются найти шлюз к серверам компании, это в основном активный процесс.

Какой инструмент сканирования портов наиболее широко используется?

«Nmap», что означает Network Mapper, является наиболее широко используемым инструментом сканирования портов. Любимый системными администраторами, он может быть установлен в Windows, Linux, MacOS или собран из исходного кода. Выпущенный 16 лет назад как сканер портов только для Linux, обнаружение Nmap развивалось с годами и имеет некоторые очень ценные функции, такие как определение ОС, определение версии, механизм сценариев Nmap, порт Windows, графический пользовательский интерфейс и многое другое.

Сканер Nmap в настоящее время быстро развивается и также используется для сканирования онлайн-веб-сервисов, что означает, что пользователи могут сканировать свои собственные машины из облака для выявления любых открытых уязвимостей.

Почему так важно сканирование портов?

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

Являются ли открытые порты угрозой безопасности?

Порты — это двери для устройств. Вот почему открытые представляют угрозу безопасности, поскольку они обеспечивают легкий доступ киберпреступникам, если не защищены брандмауэрами. Брандмауэр отслеживает входящие и исходящие соединения на устройстве и фильтрует нежелательный доступ. С помощью программного обеспечения брандмауэра устройства можно сделать менее уязвимыми для атак.

Сканирование портов как часть сканирования уязвимостей

Специалисты по безопасности в организациях проводят сканирование уязвимостей, которое сканирует указанный набор портов на удаленном хосте и проверяет службу, предлагаемую на каждом порту, на наличие известных уязвимостей.

RapidFire Tools ’Inspector 2, ведущий в отрасли инструмент для сканирования уязвимостей и управления ими, выполняет рутинное сканирование для выявления угроз во всех системах, связанных с вашей сетью. Приложение, разработанное специально для MSP, проверяет все порты на любом устройстве, подключенном к сети, включая серверы, настольные компьютеры, ноутбуки, виртуальные машины, мобильные устройства, межсетевые экраны, коммутаторы и принтеры. Для открытых портов система пытается определить, какое устройство или программное обеспечение открыло их, и запускает тесты на все известные связанные уязвимости.

Inspector 2 обладает высокой масштабируемостью и предназначен для работы в нескольких несвязанных сетях и нескольких подсетях. Благодаря встроенной автоматизации MSP не должны беспокоиться о забытых сканированиях и могут ожидать повышения своей операционной эффективности.

Узнайте больше об Inspector 2, запросив бесплатную демонстрацию здесь.

.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *