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

Zenmap является графической оболочкой для популярной утилиты Nmap . Nmap — это консольный OpenSouce инструмент для анализа безопасности и аудита сети. Несмотря на то, что Nmap сам по себе является очень мощной утилитой, при работе в больших сетях многие администраторы не имеют особого желания пользоваться одними консольными инструментами. Как говорят некоторые из них: «Картинка стоит тысячи слов». И в случае с Zenmap они безусловно правы, поскольку при помощи него вы можете получить интерактивную графическую карту вашей сети.

Установка и запуск

Установка Zenmap в большинстве современных дистрибутивов не представляет собой каких-то сложностей, если вы воспользуетесь штатным менеджером пакетов и установите её из репозитариев. Также, естественно, вы можете и собрать Zenmap самостоятельно, хотя лично я особого смысла в этом не вижу. Ну и не забывайте, что Zenmap — GUI к Nmap, который, само собой, должен присутствовать в системе (в случае с установкой через менеджер пакетов он сам вам об этом скажет).

Запуск Zenmap лучше всего выполнять из-под root , поскольку для полнофункциональной работы Nmap требуются права суперпользователя:

Sudo zenmap

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

Запустив Zenmap, вы увидите довольно простой пользовательский интерфейс:

Давайте начнём. Первое, что нам понадобится — это цель (target) сканирования. Давайте представим, что вам необходимо просканировать сеть с IP-адресами по маске 192.168.100.* . Введите в поле Target этот шаблон. Далее, необходимо в выпадающем списке Profile выбрать подходящий профиль сканирования из предложенных. Сразу хочу вас предупредить, сканирование с использованием «Intense scan» может сделать «нехорошо» некоторым сетевым девайсам, таким как свитчи или маршрутизаторы. Будьте с ним поаккуратней. После выбора подходящего профиля изменится и содержимое поля «Command» , которое содержит в себе команду nmap с параметрами. В случае необходимости вы всегда можете подкорректировать её «под себя».

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

В правой панели вы видите пять закладок:

  • Nmap Output : закладка, открывающаяся по умолчанию, в которой видно текстовый вывод работы nmap;
  • Ports/Hosts : здесь видно какие порты открыты и на каких хостах;
  • Topology : на этой закладке отображается топология вашей сети в графическом виде;
  • Host Details : здесь можно увидеть подробную информацию о результатах сканирования хоста, выбранного в левой панели;
  • Scans : в этой закладке собраны все ваши предыдущие команды сканирования, история то бишь.

Топология

Перейдя на закладку Topology , вы найдёте наиболее интересную часть Zenmap. Здесь отображается топология исследуемой сети в виде скопления кружков с именами хостов или их IP-адресами. Если исследуемая сеть достаточно большая, то разобрать в этой куче кружков практически ничего невозможно.

Нажмите на кнопку Controls вверху и при помощи появившихся справа кнопок Zoom и Ring gap настройте отображение удобным для вас образом. Также, используя чекбоксы в разделе View , вы можете выбрать информацию о хостах, которая будет отображаться на карте.

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

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

В Zenmap можно использовать предустановленные профили, а можно создавать свои собственные. Для того, чтобы создать новый профиль или отредактировать существующий, откройте меню Profile и затем выберите New Profile or Command или Edit Selected Profile соответственно. В появившемся окне настройте всё так, как вам необходимо.

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

Заключение

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

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


Что такое Nmap? Название Nmap это сокращение от “network mapper”, сам nmap это набор инструментов для сканирования сети. Он может быть использован для проверки безопасности, просто для определения сервисов запущенных на узле, для идентификации ОС и приложений, определения типа фаерволла используемого на сканируемом узле.
Nmap это знаменитый инструмент. Как только вы узнаете больше о Nmap, вы поймете, что он делает в эпизодах таких фильмов как Матрица Перезагрузка, Ультиматум Борна, Хоттабыч, и других .
В этом руководстве будут описаны основы использования Nmap и приведены некоторые примеры, которые вы сможете использовать.

Где взять Nmap?
Если Вы используете Linux, то можете найти пакеты Nmap в репозиториях для большинства дистрибутивов. Последний релиз Nmap вышел в начале 2010, поэтому самой свежей версии может не быть в текущих стабильных ветках. Найти исходники и некоторые бинарные сборки можно на странице загрузки .Там есть и windows версия.
Основы использования Nmap.
Синтаксис Nmap следующий:

Nmap Опции_сканирования Цель_сканирования.

Допустим Вы хотите сканировать узел и узнать какая операционная система на нем работает. Чтобы сделать это выполните следующее:

Nmap -O target.host.com

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

Starting Nmap 5.21 (nmap.org) at 2010-02-27 23:52 EST
Nmap scan report for 10.0.0.1
Host is up (0.0015s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
53/tcp open domain
5009/tcp open airport-admin
10000/tcp open snet-sensor-mgmt
MAC Address: 00:11:24:6B:43:E2 (Apple Computer)
Device type: WAP|printer
Running: Apple embedded, Canon embedded, Kyocera embedded, Xerox embedded
OS details: VxWorks: Apple AirPort Extreme v5.7 or AirPort Express v6.3; Canon imageRUNNER printer (5055, C3045, C3380, or C5185); Kyocera FS-4020DN printer; or Xerox Phaser 8860MFP printer
Network Distance: 1 hop

Как вы видите Nmap предоставляет множество информации. Здесь он отображает предположение об операционной системе, которая была запущена на узле. В данном случае выполнялось сканирование маршрутизатора Apple Airport Extrime. В качестве дополнительного бонуса Nmap сообщил, что устройство на расстоянии одного прыжка, а также MAC адрес устройства и производителя сетевой карты, открытые порты и сколько времени выполнялось сканирование.
Ниже приведены результаты другого сканирования, домашнего компьютера с запущенной Ubuntu 9.10:

Starting Nmap 5.21 (nmap.org) at 2010-02-28 00:00 EST
Nmap scan report for 10.0.0.6
Host is up (0.0039s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
22/tcp open ssh
MAC Address: 00:17:08:2A:D6:F0 (Hewlett Packard)
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.19 - 2.6.31
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at nmap.org/submit .
Nmap done: 1 IP address (1 host up) scanned in 3.40 seconds

Здесь мы видим, что система имеет сетевую карту HP, запущено Linux между версиями 2.6.19 и 2.6.31. Кстати, Вы не сможете явно идентифицировать дистрибутив, только версию Linux ядра.

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

В примерах выше для сканирования были выбраны локальный маршрутизатор и одна из рабочих станций, потому что мы имели право на их сканирование. Однако, будет плохой идеей запуск множественного сканирования чужого узла, если вы их не контролируете или не имеете прав для сканирования. Для экспериментов 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 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).

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

Если вы хотите узнать какой сервис возможно запущен попробуйте опцию –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 сканирование может идентифицировать систему под управлением устаревших сервисов которые могут быть уязвимы для известных эксплойтов.

Кто в моей сети?

Не знаете сколько онлайн узлов находятся в вашей сети? Попробуйте использовать nmap –sP который запустит ping сканирование указанной сети. Для примера, nmap –sP 10.0.0.0/24 сканирует 256 узлов от 10.0.0.0 до 10.0.0.255 проверит доступны ли они и доложит об этом. Так же вы можете использовать диапазон, например:

Nmap –sP 10.0.0.1-15

Zenmap

Наконец, если все эти радости командной строки не для вас, nmap имеет GUI который вы можете использовать для построения и выполнения команд. Называется Zenmap. Он позволит выбрать цель, запустить сканирование, отобразить результаты, а также сохранить их и сравнить с другими.
GUI Zenmap это хороший способ познакомиться с Nmap, но лучше знать как использовать Nmap в командной строке, если вы собираетесь работать с ним часто.
В будущем руководстве мы более глубоко познакомимся с Nmap и конкретными задачами которые вы сможете решить.

Данный пост это вольный перевод статьи

Когда-нибудь задавались вопросом, откуда взломщики узнают о том, какие порты открыты в системе и какие службы доступны на этих портах? Как они это делают, не задавая вопросов администратору сервера? Это и гораздо больше можно делать при помощи маленькой утилиты под названием nmap . nmap — это сокращение от «N etwork Map per», по-русски можно назвать «построитель карты сети». Nmap — поистине огромный набор инструментов «в одном флаконе» для сканирования сетей. Он может использоваться для поиска и определения запущенных в сети сервисов, определения типа используемой операционной системы, типа файрвола или же просто для быстрого определения хостов, находящихся в сети. Короче говоря, уметь пользоваться этой штуковиной лишним не будет. Nmap очень известная утилита в буквальном смысле. Когда вы с ней познакомитесь, вы можете узнать её в некоторых эпизодах кинофильмов . В этой заметке я покажу вам базовые приёмы работы с Nmap и покажу несколько примеров, как его использовать.

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

Синтаксис вызова утилиты из командной строки следующий:

Nmap <опции> цель

Допустим, вам необходимо попытаться определить тип и версию запущенной ОС на удалённой системе target.host.com. Запустите Nmap с опцией "-O" (использование этой опции требует администраторских привилегий):

# nmap -O target.host.com

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

Starting Nmap 5.21 (http://nmap.org) at 2010-02-27 23:52 EST Nmap scan report for 10.0.0.1 Host is up (0.0015s latency). Not shown: 997 closed ports PORT STATE SERVICE 53/tcp open domain 5009/tcp open airport-admin 10000/tcp open snet-sensor-mgmt MAC Address: 00:11:24:6B:43:E2 (Apple Computer) Device type: WAP|printer Running: Apple embedded, Canon embedded, Kyocera embedded, Xerox embedded OS details: VxWorks: Apple AirPort Extreme v5.7 or AirPort Express v6.3; Canon imageRUNNER printer (5055, C3045, C3380, or C5185); Kyocera FS-4020DN printer; or Xerox Phaser 8860MFP printer Network Distance: 1 hop OS detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 10.21 seconds

Как вы видите, Nmap предоставил достаточно много информации. В представленном примере Nmap выполнил ряд тестов, на основании которых попытался определить тип и версию ОС, используемую на хосте. Приведённый выше вывод Nmap — результат сканирования роутера Apple Airport Extreme. Помимо того, что Nmap сообщил нам тип предполагаемой ОС, он также вывел информацию о сетевой удалённости устройства, MAC-адрес и производителя сетевого интерфейса, перечень открытых портов и время, затраченное на сканирование.

Ниже представлен вывод другого сканирования, хоста под управлением Ubuntu 9.10:

Starting Nmap 5.21 (http://nmap.org) at 2010-02-28 00:00 EST Nmap scan report for 10.0.0.6 Host is up (0.0039s latency). Not shown: 999 closed ports PORT STATE SERVICE 22/tcp open ssh MAC Address: 00:17:08:2A:D6:F0 (Hewlett Packard) Device type: general purpose Running: Linux 2.6.X OS details: Linux 2.6.19 - 2.6.31 Network Distance: 1 hop OS detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 3.40 seconds

Здесь мы видим, что производителем сетевого интерфейса является HP, операционной системой является Linux с ядром версии в районе 2.6.19-2.6.31. Вообще, точно определить версию ядра Linux с помощью Nmap обычно невозможно.

Предупреждение

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

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

Сканирование нескольких хостов

За один запуск Nmap вы можете сканировать более одного хоста. Если в качетсве целей сканирования вы используете IP-адреса, вы можете передавать их Nmap в виде диапазонов, например: 10.0.0.1-6 или 10.0.0.0/24 . Первый способ определяет диапазон IP-адресов c 10.0.0.1 по 10.0.0.6, а вторая — с 10.0.0.1 по 10.0.0.254, т. е. всю подсеть 10.0.0.0 с маской 24 в CIDR-нотации. Например, если вы хотите выполнить сканирование хостов с IP-адресами 10.0.0.1-10.0.0.42, команда будет следующей:

# nmap -O 10.0.0.1-42

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

# 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

Здесь вы можете увидеть, что на целевом хосте открыты порты 22, 80 и 3306 с перечислением названий сервисов, сидящих на этих портах, соответственно ssh, http и mysql. Nmap распознаёт шесть состояний портов: open (открыт), closed (закрыт), filtered (порт недоступен, скорее всего фильтруется файрволом), unfiltered (порт доступен, но состояние определить не удалось), open|filtered (открыт или фильтруется файрволом), и closed|filtered (закрыт или фильтруется файрволом).

Если вам нужна более детальная информация, воспользуйтесь одинарной или двойной опцией "-v" , например:

$ nmap -vv host.target.com Initiating Ping Scan at 11:44 Scanning 10.0.0.28 Completed Ping Scan at 11:44, 0.00s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 11:44 Completed Parallel DNS resolution of 1 host. at 11:44, 0.00s elapsed Initiating Connect Scan at 11:44 Scanning host.target.com (10.0.0.28) Discovered open port 22/tcp on 10.0.0.28 Discovered open port 80/tcp on 10.0.0.28 Discovered open port 3306/tcp on 10.0.0.28 Completed Connect Scan at 11:44, 0.08s elapsed (1714 total ports) Host host.target.com (10.0.0.28) appears to be up ... good. Interesting ports on host.target.com (10.0.0.28): Not shown: 1711 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 3306/tcp open mysql Read data files from: /usr/share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.104 seconds

Сканирование служб

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

$ nmap -sV target.host.com Starting Nmap 5.21 (http://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 http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 11.43 seconds

Как видно из вывода выше, Nmap определил серверы SSH-4.7 и Apache-2.2.8, находящиеся на портах 22 и 80. Также из названий версий ПО удаётся определить, что сервер работает под Ubuntu Linux. Такой метод сканирования может оказаться весьма кстати, когда вам необходимо выявить устаревшие версии ПО, работающие на ваших хостах, которые могут быть подвержены известным угрозам.

Кто живёт в моей сети?

Не уверены точно, что знаете обо всех обитателях своей сети? Попробуйте запустить Nmap с параметрами "-sP" и он выполнит обычное пинг-сканирование, определяя лишь отвечающие хосты, не прибегая к сканированию портов. Например, чтобы определить «живых» в подсети 10.0.0.0/24, достаточно простой команды:

$ nmap -sP 10.0.0.0/24

Или же, как было сказано выше, вы можете указать диапазон хостов, а не всю подсеть. Например:

$ nmap -sP 10.0.0.1-16

Zenmap

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

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

Итоги

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

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

Описание

Nmap («Network Mapper » ) - это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями. Nmap использует "сырые" IP пакеты оригинальным способом, чтобы определить какие хосты доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще множество других характеристик. В то время, как Nmap обычно используется для проверки безопасности, многие системные администраторы находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска служб и учет времени работы хоста или службы.

Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой из них в зависимости от заданных опций. Ключевой информацией является «таблица важных портов » . Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение open (открыт), filtered (фильтруется), closed (закрыт) или unfiltered (не фильтруется). Открыт означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. Фильтруется означает, что брандмауэр, сетевой фильтр, или какая-то другая помеха в сети блокирует порт, и Nmap не может установить открыт этот порт или закрыт. Закрытые порты не связаны ни с каким приложением, но могут быть открыты в любой момент. Порты расцениваются как не фильтрованные , когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации открыт|фильтруется и закрыт|фильтруется , когда не может определить, какое из этих двух состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это было запрошено. Когда осуществляется сканирование по IP протоколу (-sO), Nmap предоставляет информацию о поддерживаемых протоколах, а не об открытых портах.

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

Типичное сканирование с использованием Nmap показано в Пример 1 . Единственные аргументы, использованные в этом примере - это -A , для определения версии ОС, сканирования с использованием скриптов и трассировки; -T4 для более быстрого выполнения; затем два целевых хоста.

Пример 1. Типичный пример сканирования с помощью Nmap

# nmap -A -T4 scanme..org) Interesting ports on scanme.сайт (64.13.134.52): (The 1663 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) 53/tcp open domain 70/tcp closed gopher 80/tcp open http Apache httpd 2.0.52 ((Fedora)) 113/tcp closed auth Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Interesting ports on playground..168.0.40): (The 1659 ports scanned but not shown below are in state: closed) PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 389/tcp open ldap? 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp open windows-icfw? 1025/tcp open msrpc Microsoft Windows RPC 1720/tcp open H.323/Q.931 CompTek AquaGateKeeper 5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC port: 5900) 5900/tcp open vnc VNC (protocol 3.8) MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) Device type: general purpose Running: Microsoft Windows NT/2K/XP OS details: Microsoft Windows XP Pro RC1+ through final release Service Info: OSs: Windows, Windows XP Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds


Самую новую версию Nmap можно скачать с

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

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

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

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

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

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

Возможности 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-адрес роутера.

nmap -O {цель}

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

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

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