Сканируем IP-сети с любым количеством объектов и строим карту сети — Nmap

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

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

network

Причем таковое может быть необходимо не только какому-нибудь там системному администратору, но и простому пользователю, а и сканирование можно проводить не только в рамках локальной сети, но и вне неё (например, посмотреть через какие хоп'ы идет путь до того же google.ru).

В общем, давайте поговорим о такой достаточно известной программе, как и Nmap.
Поехали.


Установка и использование Nmap для исследования сетей, сканирования портов и тп.

Дабы не изобретать велосипед и не рассказывать всё своими словами, в этот раз, я хотел бы просто поделится краткой выдержкой из руководства с сайта разработчика:

Nmap (“Network Mapper”) - это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями.

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

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

В "двух" словах как-то вот так, что, думаю, прекрасно даёт общее понимание о назначении программы и задачах ею решаемых. Посему давайте перейдем к загрузке и установке.

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

установка nmap

Единственное, что на одном из этапов Вы можете, либо оставить (либо, как ни странно, снять) галочки, отвечающие за запуск вспомогательных служб. Что касается использования, то ничего сложно нет. Запускаем программу:

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

Где в окне "Цель" вводим домен (например тот же "google.ru") или IP-адрес и жмём в кнопочку "Сканирование", после чего ожидаем процесса сканирования и видим результаты:

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

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

топология сети через nmap

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

варианты сканирования Nmap

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

На сим, пожалуй, всё. Можно переходить к послесловию.

Послесловие

Ну вот как-то так, если говорить совсем кратко.

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

Sonikelf's Project's логотип Sonikelf's Project's логотип Космодамианская наб., 32-34 Россия, Москва (916) 174-8226
Sonikelf

Как-то вот так оно. Первый, само собой.

Артём

В первой тройке, разумеется :-)
Нужная статья. И даже с инструкцией на русском! Спасибо!
Я помнится, пару-тройку ночей убил на поиск программы этой и руководства пользования.

Sonikelf

О да, было дело, лет 5-7 назад, когда я даже игрался этим в иных целях и с другим любопытством. И тем не менее.. Хорошая штука короче.

lavroon

Спасибо за статью.
У меня что-то пошло не так. Через пять секунд после запуска, в окне "Вывод Nmap" видим вот это:

Starting Nmap 6.47 ( https://nmap.org/ ) at 2015-02-06 22:48 RTZ 2 (зима)
NSE: Loaded 118 scripts for scanning.
NSE: Script Pre-scanning.
Initiating Ping Scan at 22:48
dnet: Failed to open device eth0
QUITTING!

В качестве подопытного не мудрствуя был выбран google.ru. Где искать всем известную собаку?

Sonikelf

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

wamazeka

Я бы оспорил. Скорее всего проблема с драйвером WinPcap (те самые галочки при установке). Если он не запущена служба, то nmap может не заработать. Решением будет переустановить WinPcap.

Неуловимый_Джо

58-й!
"Nmap использует сырые IP пакеты оригинальными способами" - а это как? :)

Sonikelf

Есть идеи? ;) :)

Неуловимый_Джо

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

Неуловимый_Джо

А в порт 80h, древний BIOS раньше всякие разные мессаги посылал...
Мне дедушка рассказывал...

stalker

Good! Всем доброго времени, да, полезно. Для сис. админа ,особенно если он приходит на новое предприятие, это первое -скан сети)). Zenmap-ом не пользовался, но то что это кроссплатформенное приложение,это уже плюс. Я пользуюсь 10-Страйк:мониторинг сети. Входит в пакет lanSate Pro - российский платный продукт, но мне хватает 30 дней share,для оценки ситуации ))

Sonikelf

Не знаю есть ли в платниках смысл при таких мощных бесплатных инструментах :)

Sonikelf

Zmap еще кстати ничего - https://zmap.io/download.html - правда под виндой не бегает.

Say-RUS

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

Say-RUS

попробовал через * получилось,правда графический не очень удобно https://clip2net.com/404.html?url=/s/3ciUzhS буду копаться, спасибо за статью.

wamazeka

Если нужно просканировать целую подсеть, то в цель записывается маска подсети. Обычно, для локальных сетей это 192.168.1.0/24 Так будут просканированы все 256 адресов. Про маски лучше подробнее почитать в интернете.

Максим

Что делать, если вылазит такая ошибка: 'utf8' codec can't decode byte 0xec in position 0: unexpected end of data

wamazeka

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

Максим

Спасибо за быстрый ответ! Попробовал как Вы сказали, не помогло. У меня Windows 8 - это как-то может сказываться?

wamazeka

Интересный вопрос. Сейчас, ради интереса обновил свою версию Zenmap до последней, на своей восьмерке. Не вылетает. Напишите ключи, с которыми запускаете (т.е. команду), вдруг с ними что не так.
А пока запустите в режиме совместимости - может помочь.
**Вообще, ошибка действительно глубокая... У вас случайно python не установлен? Вряд ли может мешать, но вдруг...

Максим

Действительно Python установлен. Он как-то может влиять?

wamazeka

Тут оказывается нельзя делать глубокие ветки)
А вот и не знаю. Просто предположил. Ведь Zenmap на pythone и написан. Но чисто теоретически он должен использовать свой компилятор, а не установленной среды... Но не знаю. Ведь гуглежка говорит нам, что ошибка чисто питоновская.

wamazeka

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

Максим

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

wamazeka

Так-с... Если программа скачана с https://nmap.org/download, просто установлена без ошибок и использована по-штатному, то... Может именно этот дистрибутив битый? Можно перекачать.
Из сложных вариантов: что-то не то с клавиатурой. С железом или с драйвером под винду, что выдает тексты немного не в той кодировке, которую ожидает программа... Тогда можно и попробовать скопировать цель, например из адресной строки браузера - авось прокатит.
Интересно, будет ли работать command-line версия. В папке установки лежит - запустите через cmd.exe, как "nmap.exe ya.ru"

Максим

И так...сегодня поставил nmap на работе, на Windows 8, скачал с той же ссылки, запустил и все пошло. Дома сегодня попробовал, как Вы написали, через командную строку, программа пошла. Что не так с ней?

wamazeka

Знаете, дальше я могу лишь гадать. Проблема явно в кодировке. Какая? Не знаю. Могу лишь предложить поэкспериментировать с целью локализовать проблему.
1 - Если ноутбук, то попробовать запустить прогу из другой подсети (вдруг ваш роутер так криво обрабатывает пакеты)
2 - Перекрывается эта возможность, если есть второй комп дома, с которого можно тоже запустить zenmap
3 - Переустановить еще раз
4 - Попробовать другую клавиатуру, предварительно удалив от нее драйвера - пусть заново установится по-чистому.
5 - ??? МАгия ???

Серега

https://www.youtube.com/watch?v=djf6MRH9nc4 - Сканирование сети при помощи Nmap

idclip

cmd -> tracert -d