что такое nmaps front nmaps
Nmap. Начало использования
Вы когда-нибудь интересовались откуда атакующий знает какие порты открыты в системе? Или как узнать, какие приложения запущены на сервере, не спрашивая об этом администратора? Вы можете сделать все это и даже больше вместе с небольшим инструментом под названием Nmap.
Что такое Nmap? Название Nmap это сокращение от “network mapper”, сам nmap это набор инструментов для сканирования сети. Он может быть использован для проверки безопасности, просто для определения сервисов запущенных на узле, для идентификации ОС и приложений, определения типа фаерволла используемого на сканируемом узле.
Nmap это знаменитый инструмент. Как только вы узнаете больше о Nmap, вы поймете, что он делает в эпизодах таких фильмов как Матрица Перезагрузка, Ультиматум Борна, Хоттабыч, и других.
В этом руководстве будут описаны основы использования Nmap и приведены некоторые примеры, которые вы сможете использовать.
Где взять Nmap?
Если Вы используете Linux, то можете найти пакеты Nmap в репозиториях для большинства дистрибутивов. Последний релиз Nmap вышел в начале 2010, поэтому самой свежей версии может не быть в текущих стабильных ветках. Найти исходники и некоторые бинарные сборки можно на странице загрузки.Там есть и windows версия.
Основы использования Nmap.
Синтаксис Nmap следующий:
nmap Опции_сканирования Цель_сканирования.
Допустим Вы хотите сканировать узел и узнать какая операционная система на нем работает. Чтобы сделать это выполните следующее:
Заметим что 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:
Здесь мы видим, что система имеет сетевую карту 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 и узнать какая ОС вероятно запущена используйте:
Если у вас есть некоторый список доменных имен вместо IP адресов, вы можете разделить их в командной строке, вот так:
Проверка открытых портов
Если вы запустите 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
Сканирование запущенных сервисов
Если вы хотите узнать какой сервис возможно запущен попробуйте опцию –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
Как вы видите, 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 проверит доступны ли они и доложит об этом. Так же вы можете использовать диапазон, например:
Zenmap
Наконец, если все эти радости командной строки не для вас, nmap имеет GUI который вы можете использовать для построения и выполнения команд. Называется Zenmap. Он позволит выбрать цель, запустить сканирование, отобразить результаты, а также сохранить их и сравнить с другими.
GUI Zenmap это хороший способ познакомиться с Nmap, но лучше знать как использовать Nmap в командной строке, если вы собираетесь работать с ним часто.
В будущем руководстве мы более глубоко познакомимся с Nmap и конкретными задачами которые вы сможете решить.
Данный пост это вольный перевод статьи Beginner’s Guide to Nmap. Спасибо за внимание.
Nmap — руководство для начинающих
Многие слышали и пользовались замечательной утилитой nmap. Ее любят и системные администраторы, и взломщики. Даже Голливуд знает про нее — в фильме «Матрица» при взломе используется nmap.
nmap — это аббревиатура от «Network Mapper», на русский язык наиболее корректно можно перевести как «сетевой картограф». Возможно, это не лучший вариант перевода на русский язык, но он довольно точно отображает суть — инструмент для исследования сети и проверки безопасности. Утилита кроссплатформенна, бесплатна, поддерживаются операционных системы Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X.
Рассмотрим использование утилиты в Debian. В стандартной поставке дистрибутива nmap отсутствует, установим его командой
# aptitude install nmap
Nmap умеет сканировать различными методами — например, UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Выбор варианта сканирования зависит от указанных ключей, вызов nmap выглядит следующим образом:
Для опытов возьмем специальный хост для экспериментов, созданный самими разработчиками nmap — scanme.nmap.org. Выполним от root’а
Ключи сканирования задавать необязательно — в этом случае nmap проверит хост на наличие открытых портов и служб, которые слушают эти порты.
Запустим командой:
Через несколько секунд получим результат:
Interesting ports on scanme.nmap.org (74.207.244.221):
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Ничего необычного, ssh на стандартном порту и http на 80. Nmap распознаёт следующие состояния портов: open, filtered, closed, или unfiltered. Open означает, что приложение на целевой машине готово для принятия пакетов на этот порт. Filtered означает, что брандмауэр, фильтр, или что-то другое в сети блокирует порт, так что Nmap не может определить, является ли порт открытым или закрытым. Closed — не связанны в данный момент ни с каким приложением, но могут быть открыты в любой момент. Unfiltered порты отвечают на запросы Nmap, но нельзя определить, являются ли они открытыми или закрытыми.
Хинт: Если во время сканирования нажать пробел — можно увидеть текущий прогресс сканирования и на сколько процентов он выполнен. Через несколько секунд получаем ответ, в котором пока что интересна строчка Device type:
Вообще, точную версию ядра средствами nmap определить невозможно, но примерную дату «свежести» и саму операционную систему определить можно. Можно просканировать сразу несколько хостов, для этого надо их перечислить через пробел:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
80/tcp open http Apache httpd 2.2.14 ((Ubuntu))
Service Info: OS: Linux
Прогресс налицо — мы узнали точные названия используемых служб и даже их версии, а заодно узнали точно, какая операционная система стоит на сервере. С расшифровкой никаких проблем не возникает, все вполне понятно.
Nmap выведет очень много информации, я не стану приводить пример. Сканирование может длится довольно долго, занимая несколько минут.
Сканирование проходит довольно быстро, так как по сути это обычный ping-тест, отвечает ли хост на ping. Следует учесть, что хост может не отвечать на ping из-за настроек фаерволла. Если нужный участок сети нельзя ограничить маской, можно указать диапазон адресов, с какого и по какой надо провести сканирование. Например, есть диапазон адресов с 192.168.1.2 до 192.168.1.5. Тогда выполним:
Ответ будет выглядеть так:
Host 192.168.1.2 is up (0.0023s latency)
Host 192.168.1.3 is up (0.0015s latency)
Host 192.168.1.4 is up (0.0018s latency)
Host 192.168.1.5 is up (0.0026s latency)
В моем случае все ip в данный момент были в сети.
Это далеко не все возможности nmap, но уместить их в рамках одной статьи несколько сложновато.
Если вам ближе GUI — есть замечательная утилита Zenmap — графическая оболочка для nmap, умеющая заодно и строить предполагаемую карту сети.
Хочу предупредить, что сканирование портов на удаленных машинах может нарушать закон.
UDPInflame уточнил, что сканирование портов все-таки не является противозаконным.
Полное руководство по Nmap: основы сканирования
Что такое Nmap?
Nmap работает вокруг командной строки, похожей на командную строку Windows, но интерфейс с графическим интерфейсом доступен для более опытных пользователей. При использовании Nmap пользователь просто вводит команды и запускает сценарии через текстовый интерфейс. Они могут перемещаться через брандмауэры, маршрутизаторы, IP-фильтры и другие системы. По своей сути Nmap был разработан для сетей масштаба предприятия и может сканировать тысячи подключенных устройств..
Некоторые из основных применений Nmap включают сканирование портов, пинг развертки, Обнаружение ОС, и определение версии. Программа работает с использованием IP-пакетов для определения доступных хостов в сети, а также того, какие службы и операционные системы они используют. Nmap доступен во многих операционных системах от Linux до Free BSD и Gentoo. Nmap также имеет чрезвычайно активное и активное сообщество поддержки пользователей. В этой статье мы разберем основы Nmap, чтобы помочь вам взяться за дело.
Анализ сети и анализ пакетов с помощью Nmap
Как сетевой анализатор или анализатор пакетов, Nmap чрезвычайно универсален. Например, он позволяет пользователю сканировать любой активный IP-адрес в своей сети. Если вы обнаружите IP-адрес, которого вы раньше не видели, вы можете запустить сканирование IP-адресов, чтобы определить, является ли это законной службой или внешней атакой..
Примеры использования Nmap
Например, вы можете использовать Nmap для:
Как установить Nmap
Смотрите также: Шпаргалка Nmap
Прежде чем мы перейдем к использованию NMap, мы рассмотрим, как его установить. Пользователи Windows, Linux и MacOS могут скачать Nmap здесь.
Установить Nmap в Windows
Используйте самоинсталлятор Windows (называемый nmap-setup.exe) и следуйте инструкциям на экране.
Установите Nmap в Linux
Установите Nmap на Mac
Как запустить сканирование Ping
Одной из основ сетевого администрирования является выделение времени для определения активных хостов в вашей сети. На Nmap это достигается с помощью сканирования ping. Сканирование ping (также называемое IP-адресом обнаружения в команде подсети) позволяет пользователю определить, подключены ли IP-адреса к сети. Он также может быть использован как метод обнаружения хоста. Сканирование ARP-пинга является одним из лучших способов обнаружения хостов в сетях LAN..
Чтобы запустить проверку связи ARP, введите в командной строке следующую команду:
Это вернет список хостов, которые ответили на ваши запросы ping вместе с общим количеством IP-адресов в конце. Пример показан ниже:
Важно отметить, что этот поиск не отправляет пакеты перечисленным хостам. Тем не менее, Nmap запускает обратное разрешение DNS на указанных хостах, чтобы идентифицировать их имена..
Методы сканирования портов
Когда дело доходит до сканирования портов, вы можете использовать различные методы в Nmap. Вот основные из них:
Новые пользователи будут пытаться решить большинство проблем с помощью сканирования SYN, но по мере развития ваших знаний вы также сможете использовать некоторые из этих других методов. Важно отметить, что вы можете использовать только один метод сканирования портов одновременно (хотя вы можете комбинировать сканирование SCTP и TCP вместе).
TCP SYN Scan
TCP SYN Scan это одна из самых быстрых техник сканирования портов в вашем распоряжении на Nmap. Вы можете сканировать тысячи портов в секунду в любой сети, которая не защищена брандмауэром.
Это также хорошая техника сканирования с точки зрения конфиденциальности потому что он не завершает TCP-соединения, которые привлекают внимание к вашей деятельности. Это работает, посылая пакет SYN и затем ожидая ответа. Подтверждение указывает на открытый порт, тогда как отсутствие ответа обозначает отфильтрованный порт. RST или сброс идентифицирует не прослушивающие порты.
TCP Connect Scan
sT TCP Connect Scan
TCP Connect Scan является основным альтернативным сканированием TCP, когда пользователь не может запустить сканирование SYN. В рамках сканирования TCP connect пользователь выполняет системный вызов connect для установления соединения с сетью. Вместо чтения пакетов ответов Nmap использует этот вызов для получения информации о каждой попытке подключения. Один из самых больших недостатков сканирования TCP-соединения заключается в том, что для определения открытых портов требуется больше времени, чем при сканировании SYN.
UDP Scan
Если вы хотите запустить сканирование портов в службе UDP, то UDP-сканирование ваш лучший курс действий. UDP может использоваться для сканирования портов, таких как DNS, SNMP и DHCP в вашей сети. Это особенно важно, потому что они являются областью, которую злоумышленники обычно используют. При запуске сканирования UDP вы также можете запустить сканирование SYN одновременно. Когда вы запускаете сканирование UDP, вы отправляете пакет UDP на каждый целевой порт. В большинстве случаев вы отправляете пустой пакет (кроме портов, таких как 53 и 161). Если вы не получите ответ после передачи пакетов, то порт классифицируется как открытый.
Сканирование порта SCTP INIT
Сканирование порта SCTP INIT охватывает службы SS7 и SIGTRAN и предлагает комбинацию протоколов TCP и UDP. Как и Syn Scan, SCTP INIT Scan невероятно быстр, способен сканировать тысячи портов каждую секунду. Это также хороший выбор, если вы хотите сохранить конфиденциальность, поскольку он не завершает процесс SCTP. Это сканирование работает, отправляя блок INIT и ожидая ответа от цели. Ответ с другим чанком INIT-ACK идентифицирует открытый порт, тогда как чек ABORT указывает не прослушивающий порт. Порт будет помечен как фильтр, если ответ не получен после нескольких повторных передач.
TCP NULL Scan
TCP NULL сканирование это одна из самых хитрых техник сканирования в вашем распоряжении. Это работает, используя лазейку в TCP RFC, которая обозначает открытые и закрытые порты. По сути, любой пакет, который не содержит биты SYN, RST или ACK, будет запрашивать ответ с возвращенным RST, если порт закрыт, и нет ответа, если порт открыт. Самым большим преимуществом сканирования TCP NULL является то, что вы можете ориентироваться в фильтрах маршрутизаторов и межсетевых экранах. Несмотря на то, что они являются хорошим выбором для скрытности, они все же могут быть обнаружены системами обнаружения вторжений (IDS).
Сканирование хоста
Это поднимет экран, показывающий следующее:
Определить имена хостов
Это возвращает список имен, относящихся к сканируемым IP-адресам, который может быть невероятно полезен для определения того, для чего фактически предназначены определенные IP-адреса (при условии, что у них есть связанное имя!).
Сканирование ОС
Чтобы определить операционную систему хоста, введите следующую команду:
Важно отметить, что вам требуется один открытый и один закрытый порт для использования команды –O.
Обнаружение версии
Увеличение многословия
Увеличение детализации отлично подходит для поиска способов оптимизации ваших сканов. Вы увеличиваете объем информации, к которой имеете доступ, и предоставляете себе больше информации для целенаправленного улучшения своей сетевой инфраструктуры..
Скриптовый движок Nmap
Если вы хотите получить максимальную отдачу от Nmap, вам нужно будет использовать Nmap Scripting Engine (NSE). NSE позволяет пользователям писать сценарии на Lua, чтобы они могли автоматизировать различные сетевые задачи. Ряд различных категорий сценариев может быть создан с помощью NSE. Эти:
Поначалу NSE может быть довольно сложным, чтобы разобраться, но после начальной кривой обучения навигация становится намного проще.
Инструменты Nmap GUI
Zenmap
В качестве альтернативы интерфейсу командной строки, NMap также предлагает графический интерфейс под названием Zenmap. На Zenmap вы можете создавать и выполнять команды и сканирования. Графический интерфейс намного удобнее, чем интерфейс командной строки, что делает его идеальным для новых пользователей. Графический интерфейс также может отображать графическое сравнение результатов тестирования сервиса, например:
Если вы хотите писать свои собственные команды и сценарии, то графический интерфейс далеко не идеален, и вам лучше придерживаться Nmap и интерфейса командной строки.
Paessler PRTG Сетевой монитор
Paessler PRTG Сетевой монитор использует Простой протокол управления сетью (SNMP), чтобы найти все устройства в вашей сети. Как только каждая единица оборудования была обнаружена, она регистрируется в инвентаре. Инвентаризация составляет основу карты сети PRTG. Вы можете реорганизовать карту вручную, если хотите, а также можете указать индивидуальные макеты. Карты не ограничиваются отображением устройств на одном сайте. Он может отображать все устройства в глобальной сети и даже отображать все сайты компании на реальной карте мира. Облачные сервисы также включены в карту сети.
Функция обнаружения сети PRTG работает постоянно. Таким образом, если вы добавляете, перемещаете или удаляете устройство, это изменение будет автоматически отображаться на карте, а инвентарь оборудования также будет обновляться..
Каждое устройство на карте помечено своим IP-адресом. Кроме того, вы можете выбрать устройства, идентифицируемые по их MAC-адресам или именам хостов. Каждый значок устройства на карте является ссылкой на подробное окно, в котором содержится информация об этом элементе оборудования. Вы можете изменить отображение карты сети, чтобы ограничить ее устройствами определенного типа, или просто показать один раздел сети.
Paessler PRTG доступен в виде онлайн-сервиса с установленным в вашей системе агентом локального сборщика. Кроме того, вы можете установить программное обеспечение на месте. Система PRTG работает на компьютерах с Windows, но она может связываться с устройствами под управлением других операционных систем. PRTG доступен для скачивания на 30-дневной бесплатной пробной версии.
WhatsUp Gold
WhatsUp Gold имеет функцию автообнаружения, которая охватывает проводные, беспроводные и виртуальные среды. Программное обеспечение для этого инструмента мониторинга инфраструктуры устанавливается в Windows Server 2008 R2, 2012, 2012 R2 и 2016. При первом запуске утилиты запускаются процедуры обнаружения сети. Они регистрируют все устройства уровня 2 и уровня 3 (коммутаторы и маршрутизаторы) в вашей сети и записывают их в реестр. Процесс обнаружения также генерирует карту сети. Система регистрации постоянно работает, поэтому любые изменения в сети будут отражены на карте. Облачные сервисы, которые использует ваша компания, также включаются в карту, и вы можете охватить несколько сайтов, чтобы построить свою глобальную сеть на одной карте..
В процессе обнаружения WhatsUp Gold используются процедуры Ping и SNMP. Тип устройства также зарегистрирован. Это помогает монитору корректировать процессы соответственно для каждого типа оборудования. Всплывающее окно с деталями, прикрепленное к каждому значку на карте, покажет вам детали об этом оборудовании.
Вы можете получить надстройку для анализа сетевого трафика для WhatsUp Gold, чтобы получить более глубокие сведения о производительности вашей сети. Это дает вам больше возможностей для устранения неполадок благодаря пониманию производительности сети как по каналам связи, так и сквозным. Инструмент планирования мощности помогает вам прогнозировать спрос и при необходимости расширять ресурсы.
Альтернативы Nmap
Хотя обычные пользователи Nmap клянутся в этом, инструмент имеет свои ограничения. Новички в сетевом администрировании научились ожидать графического интерфейса от своих любимых инструментов и лучшего графического представления проблем производительности сети. Адаптация Nmap к карте (см. Ниже) имеет большое значение для удовлетворения этих потребностей..
Если вы не хотите использовать утилиту командной строки, есть альтернативы Nmap, которые вы можете проверить. SolarWinds, один из ведущих мировых производителей инструментов сетевого администрирования, даже предлагает бесплатный сканер портов. Аналитические функции Nmap не так хороши, и вы можете найти другие инструменты для дальнейшего изучения состояния и производительности вашей сети..
Nmap: необходимый инструмент сетевого администрирования
Если вы хотите узнать больше о Nmap, обширный веб-сайт сообщества полон руководств и информации, которые помогут вам извлечь максимальную пользу из своего опыта. Вы можете получить доступ к документации Nmap на сайте инструмента. Пройдя этап обучения, вы не только обеспечите большую прозрачность своей сети, но и сможете защитить свои системы от будущих угроз. Просто начните с изучения основ, и у вас все получится с NMap.