Как использовать nmap в windows

  • Nmap Network Scanning
  • Chapter 2. Obtaining, Compiling, Installing, and Removing Nmap
  • Windows

While Nmap was once a Unix-only tool, a Windows version was
released in 2000 and has since become the second most popular Nmap
platform (behind Linux). Because of this popularity and the fact that
many Windows users do not have a compiler, binary executables are
distributed for each major Nmap release. We support Nmap on Windows 7
and newer, as well as Windows Server 2008 and newer. We also maintain
a guide for users
who must run Nmap on earlier Windows releases. While it has improved dramatically, the Windows port is not
quite as efficient as on Unix. Here are the known limitations:

  • Nmap only supports ethernet interfaces (including most
    802.11 wireless cards and many VPN clients) for raw packet scans.
    Unless you use the -sT -Pn options, RAS connections
    (such as PPP dialups) and certain VPN clients are not supported. This
    support was dropped when Microsoft removed raw TCP/IP socket support
    in Windows XP SP2. Now Nmap must send lower-level ethernet frames
    instead.

  • When using Nmap without Npcap, you cannot
    generally scan your own machine from itself (using a
    loopback IP such as 127.0.0.1 or any of its
    registered IP addresses). This is a Windows limitation that we
    have worked around in Npcap, which is included in the Windows self-installer.
    Users stuck without a Npcap installation can use a TCP
    connect scan without pinging (-sT -Pn) as that uses
    the high level socket API rather than sending raw
    packets.

Scan speeds on Windows are generally comparable to those on
Unix, though the latter often has a slight performance edge. One
exception to this is connect scan (-sT), which is
often much slower on Windows because of deficiencies in the Windows
networking API. This is a shame, since that is the one TCP scan that
works over all networking types (not just ethernet, like the raw packet scans).
Connect scan performance can be
improved substantially by applying the Registry changes in the
nmap_performance.reg file included with Nmap. By default these changes are applied for you by the Nmap executable installer. This registry file
is in the nmap-<version>
directory of the Windows binary zip file, and
nmap-<version>/mswin32
in the source tarball (where <version> is the
version number of the specific release). These changes increase
the number of ephemeral ports reserved for user applications (such as
Nmap) and reduce the time delay before a closed connection can
be reused. Most people simply check the box to apply these changes in the executable Nmap installer, but you can also apply them by double-clicking on
nmap_performance.reg, or by running the command
regedt32 nmap_performance.reg. To make the changes by hand, add these three Registry DWORD values to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:

MaxUserPort

Set a large value such as 65534 (0x0000fffe). See MS KB 196271.

TCPTimedWaitDelay

Set the minimum value (0x0000001e). See MS KB 149532.

StrictTimeWaitSeqCheck

Set to 1 so TCPTimedWaitDelay is checked.

Windows users have three choices for installing
Nmap, all of which are available from the
download page at https://nmap.org/download.html.

Windows Self-installer

Every Nmap release includes a Windows
self-installer named
nmap-<version>-setup.exe
(where <version> is the version number of the
specific release). Most Nmap users choose this option since it is so
easy. Another advantage of the self-installer is that it provides the option to install the Zenmap GUI and other tools. Simply run the installer file and let it walk you through
panels for choosing an install path and installing Npcap. The
installer was created with the open-source Nullsoft Scriptable
Install System. After it completes, read the section called “Executing Nmap on Windows” for instructions on executing Nmap on the
command-line or through Zenmap.

Command-line Zip Binaries

Note

Most users prefer installing Nmap with the self-installer discussed previously.

Every stable Nmap release comes with Windows
command-line binaries and associated files in a Zip archive. No
graphical interface is included, so you need to run
nmap.exe from a DOS/command window. Or you can
download and install a superior command shell such as those included
with the free
Cygwin
system available from https://www.cygwin.com. Here are the step-by-step instructions for installing and executing the Nmap .zip binaries.

Installing the Nmap zip binaries

  1. Download the .zip binaries from https://nmap.org/download.html.

  2. Extract the zip file into the directory you want
    Nmap to reside in. An example would be C:\Program
    Files
    . A directory called
    nmap-<version> should be created, which includes
    the Nmap executable and data files.

  3. For improved performance, apply the Nmap Registry
    changes discussed previously.

  4. Nmap requires the free Npcap packet capture library.
    We include a recent Npcap installer which is available in the zip file
    as npcap-<version>.exe,
    where <version> is the Npcap version rather
    than the Nmap version. Alternatively, you can obtain and install
    the latest version from https://npcap.com.

  5. Due to the way Nmap is compiled, it requires the
    Microsoft Visual C++ Redistributable Package of runtime
    components. Many systems already have this installed from other
    packages, but you should run VC_redist.x86.exe
    from the zip file just in case you need it.
    Pass the /q option to run these installers in quiet (non interactive) mode.

  6. Instructions for executing your compiled Nmap are
    given in the section called “Executing Nmap on Windows”.

Compile from Source Code

Most Windows users prefer to use the Nmap binary self-installer,
but compilation from source code is an option, particularly if you plan to help with Nmap development. Compilation requires
Microsoft Visual C++ 2019, which is part of their commercial Visual Studio
suite. Any of the Visual Studio 2019 editions should work, including the free
Visual Studio 2019 Community.

Some of Nmap’s dependencies on Windows are inconvenient to build. For
this reason, precompiled binaries of the dependencies are stored in
Subversion, in the directory /nmap-mswin32-aux.
When building from source, whether from a source code release or from
Subversion, check out /nmap-mswin32-aux as
described below.

Compiling Nmap on Windows from Source

  1. Download the Windows dependencies from Subversion with the command
    svn checkout https://svn.nmap.org/nmap-mswin32-aux.
    The build files are configured to look for dependencies in this
    checked-out directory. If you want to build the dependencies yourself
    instead, you will have to reconfigure the Visual Studio project files to
    point to the alternate directory.

  2. Decide whether to obtain the Nmap source code by downloading the latest release from nmap.org, or using a Subversion client to retrieve even newer (but less tested) code from our repository. These instructions are for the web download approach, but using Subversion instead is straightforward (see the section called “Obtaining Nmap from the Subversion (SVN) Repository”).

  3. Download the latest Nmap source distribution from https://nmap.org/download.html. It has the name
    nmap-<version>.tar.bz2 or
    nmap-<version>.tgz. Those are the same tar file compressed using bzip2 or gzip, respectively. The bzip2-compressed version is smaller.

  4. Uncompress the source code file you just downloaded. The
    source code directory and the nmap-mswin32-aux must
    be in the same parent directory.
    Recent releases of the free Cygwin distribution can handle both the .tar.bz2 and .tgz formats. Use the command tar xvjf nmap-version.tar.bz2 or tar xvzf nmap-version.tgz, respectively. Alternatively, the common WinZip application can decompress these files.

  5. Open Visual Studio and the Nmap solution file (nmap-<version>/mswin32/nmap.sln).

  6. Right click on Solution 'nmap' in the Solution Explorer sidebar and choose Configuration Manager. Ensure that the active solution configuration is Release and then close the Configuration Manager.

  7. Build Nmap by pressing F7 or choosing Build
    Solution
    from the GUI. Nmap should begin compiling, and
    end with the line -- Done -- saying
    that all projects built successfully and there were zero
    failures.

  8. The executable and data files can be found in nmap-<version>/mswin32/Release/. You can copy them to a preferred directory as long as they are all kept together.

  9. Ensure that you have Npcap installed. You can obtain it by
    installing our binary self-installer or executing
    npcap-<version>.exe from
    our zip package. Alternatively, you can obtain the official installer at
    https://npcap.com.

  10. Instructions for executing your compiled Nmap are
    given in the next section.

If you wish to build an Nmap executable Windows
installer or Zenmap executable,
see docs/win32-installer-zenmap-buildguide.txt in the Nmap SVN repository.

Many people have asked whether Nmap can be compiled with the
gcc/g++ included
with Cygwin or other compilers. Some users have reported success with
this, but we don’t maintain instructions for building Nmap under
Cygwin.

Executing Nmap on Windows

Nmap releases now include the
Zenmap graphical user interface for Nmap.
If you used the Nmap installer and left the Zenmap field checked,
there should be a new Zenmap entry on your desktop and Start Menu.
Click this to get started. Zenmap is fully documented in
Chapter 12, Zenmap GUI Users’ Guide. While many users love Zenmap, others prefer
the traditional command-line approach to executing Nmap. Here are
detailed instructions for users who are unfamiliar with command-line
interfaces:

  1. Make sure the user you are logged in as has
    administrative privileges
    on the computer (user should be a member of the administrators group).

  2. Open a command/DOS Window. Though it can be found in
    the program menu tree, the simplest approach is to choose Start
    -> Run and type cmd<enter>. Opening a Cygwin window (if you installed it) by clicking on the Cygwin icon on the desktop works too, although the necessary commands differ slightly from those shown here.

  3. Change to the directory you installed Nmap into. You can skip this step if Nmap is already in your command path (the Zenmap isntaller adds it there by default). Otherwise, type the following commands.

    c:
    cd "\Program Files (x86)\Nmap"
    

    On Windows releases prior to Windows 7, specify \Program Files\Nmap instead. The directory will also be different if you chose to install Nmap in a non-default location.

  4. Execute nmap.exe. Figure 2.1 is a screen shot showing a simple example.

Figure 2.1. Executing Nmap from a Windows command shell

Executing Nmap from a Windows command shell

If you execute Nmap frequently, you can add the Nmap directory
(c:\Program Files (x86)\Nmap by default) to your command execution path:

  1. Open the System Properties window to the Advanced tab by running SystemPropertiesAdvanced.exe.

  2. Click the Environment
    Variables
    button.

  3. Choose Path from the
    System variables section, then hit
    edit.

  4. Add a semi-colon and then your Nmap directory (e.g. c:\Program Files (x86)\Nmap) to the end of the value.

  5. Open a new command prompt and you should be able to execute a
    command such as nmap scanme.nmap.org from any directory.

Загрузить PDF

Загрузить PDF

Вы беспокоитесь о безопасности вашей или какой-нибудь другой сети? Защита вашего маршрутизатора от нежелательных подключений является залогом безопасности вашей сети. Одним из простых методов является Nmap или Network Mapper. Это программа сканирования, которая проверяет какие порты открыты и какие закрыты, а так же другие детали. Специалисты по безопасности используют эту программу для тестирования безопасности сети. Чтобы научиться использовать эту программу смотрите Шаг 1.

  1. Step 1 Скачайте установщик Nmap.

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

    • Программа Zenmap доступна для операционных систем Windows, Linux, и Mac OS X. Вы можете найти установщики на официальном сайте Nmap.
  2. Step 2 Установите Nmap.

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

  3. Step 3 Запустите программу “Nmap – Zenmap” GUI.

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

  4. Step 4 Введите цель вашего сканирования.

    Программа Zenmap превращает сканирование сети в очень простой процесс. В первую очередь выберете цель сканирования. Вы можете ввести домен (example.com), IP-адрес (127.0.0.1), сеть (192.168.1.0/24), или комбинацию перечисленных.

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

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

    • Intense scan — обширное сканирование. Включает распознавание операционной системы, версии, скриптов, трассировку, и имеет агрессивное время сканирования.
    • Ping scan — это сканирование, определяет онлайн статус цели вашего сканирования, и не сканирует порты.
    • Quick scan — сканирует быстрее чем обычный скан с агрессивным временем сканирования и выборку портов.
    • Regular scan — это стандартны Nmap скан без каких-либо модификаций. Результат включает пинг и открытые порты.
  6. Step 6 Нажмите Scan чтобы начать сканирование.

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

  7. Step 7 Посмотрите ваши результаты.

    После окончания скана, вы увидите сообщение “Nmap is done” в низу вкладки Nmap Output. Теперь вы можете проверить ваши результаты, в зависимости от типа выбранного скана. Все результаты собраны во вкладке Output, но, выбирая другие вкладки, вы можете более детально изучить получившийся результат.[2]

    Реклама

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

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

  3. Step 3 Проведите скан нужных вам портов.

    Чтобы начать простое сканирование, напишите nmap <target>. Таким образом начнется пинг выбранной цели и сканирование портов. Этот скан очень просто распознать. Результаты будут видны на вашем экране. Возможно вам придется прокрутить наверх, чтобы увидеть результаты полностью.

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

    Вы можете использовать командные переменные, чтобы изменить параметры сканирования, в результате получая более или менее обширное сканирование. Вы можете добавить несколько переменных оставляя пробел между каждым. Переменные ставятся до цели: nmap <variable> <variable> <target>[3]

    • -sS — это скрытое сканирование SYN. Это сканирование сложнее обнаружить, чем обычное, но может занять дольше времени для завершения. Большинство новых файерволов могут обнаружить сканирование –sS.
    • -sn — это сканирование пинга. Это сканирование не использует обнаружение портов, и только проверяет онлайн статус цели.
    • -O — это сканирование определяет вид операционной системы цели.
    • -A — эта переменная включает обнаружение более обширной информации: операционная система, версия, скрипты, и трассировка.
    • -F — включает быстрое сканирование, и уменьшает количество сканируемых портов.
    • -v — эта переменная показывает большее количество результатов вашего сканирования, делая их читабельными.
  5. Step 5 Выведите результаты вашего сканирования в XML файл.

    Вы можете настроить вывод результатов вашего сканирования в XML файл и, в последствии, легко открыть их в любом веб-браузере. Чтобы это сделать используйте переменную -oX с названием файла для вывода данных. Полностью команда выглядит таким образом nmap –oX ScanResults.xml <target>.

    • Ваш XML файл будет сохранен в текущей директории работы вашей командной строки.

    Реклама

Советы

  • Интересно как проходит сканирование? Нажмите пробел, или любую кнопку, во время работы скана, чтобы посмотреть прогресс Nmap.
  • Цель не отвечает? Попробуйте добавить переменную “-P0” к вашему сканированию. В результате сканирование Nmap начнет свою работу, даже если программа «думает», что цель не существует. Это бывает полезно, когда компьютер защищён файерволом.
  • Если ваше сканирование занимает большое время (больше 20 минут), попробуйте добавить переменную “-F”, таким образом Nmap сканирование затронет только недавно использовавшиеся порты.

Реклама

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

  • Убедитесь, что у вас есть разрешение на сканирование цели. Сканирование государственных сайтов принесет вам не мало проблем. Если вы хотите проверить сканирование, вы можете использоваться scanme.nmap.org. Это тестовый компьютер установленный создателем программы.
  • Если вы часто используете сканирование Nmap, будьте готовы ответить на вопросы от вашего интернет провайдера. Некоторые провайдеры специально проверяют трафик на сканирование Nmap. Программа является известной и часто используемой хакерами.

Реклама

Об этой статье

Эту страницу просматривали 32 189 раз.

Была ли эта статья полезной?

Время на прочтение5 мин

Количество просмотров431K

image

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

Данный пост это вольный перевод статьи Beginner’s Guide to Nmap. Спасибо за внимание.

nmap logo

Nmap is a network mapping tool. It provides a range of powerful scanning options. Many network administrators use Nmap to scan open ports & services on a network, guessing the operating system on the targeted machine, monitoring hosts, and discovering different services with their version information. In this article, you will see how Nmap on windows works.

Nmap is free and open-source software that was created by Gordon Lyon. Nmap is utilized to find out hosts and services on a network by transmitting some packages over the targeted network. Nmap was once limited only to Linux operating systems, but now it is available for Windows and macOS too.

Note: If you want to use Nmap on Windows without the need of installing bare-metal Linux or a virtual machine utilizing the power of WSL 2, we have an entire tutorial series covering how to do that.

Table of Contents

  • Why should you use Nmap
  • Nmap Installation Process
  • Nmap features
  • Zenmap for Windows
  • Different scan types in Nmap
  • Scanning TCP/UDP ports with Nmap on windows
    • Scanning all ports
    • Scanning specific TCP ports within a range
    • Faster Scan option
    • Scanning TCP ports without a range
    • Scanning UDP ports within a range
    • Scanning all UDP ports
    • Scanning TCP/UDP at once within a specific range
  • Other common Nmap commands
    • Scanning OS & service detection
    • Detecting vulnerabilities using Nmap
    • Saving your Nmap results
    • Detecting Malware on the remote hosts
  • Conclusion

👀 This Tutorial has some related Articles!
👉 Part 1 – Nmap Basics
👉 Part 2 – Nmap Host Discovery
👉 Part 3 – Advanced Nmap Commands
👉 Part 4 – Nmap NSE Scripts
👉 Part 5 – Nmap on Windows

Why should you use Nmap

Nmap is a network mapping tool with a ton of other useful features. Many security researchers and pentester use this open-source tool. Nmap is also a favorite tool for both black and white hat hackers.

A hacker with good knowledge can create images of your network topology. Scanning your network can help you to make yourself more secure and spot the flaws in your system. You can check for any unauthorized devices that are connected to your network, you can find ports that are meant to be closed but are open for some reason, and to point out the users that are running any unauthorized services on your network.

Nmap Installation Process

Installing Nmap on Windows is extremely easy. You have to follow some short steps to use this powerful tool.

  1. Go to the following web address nmap.org/download.html and download the latest stable version
  2. Once the setup is downloaded from their website, now you have to browse to the downloaded “.exe” setup file. Right-click on the file and run it as an administrator.
  3. Now the installation process will start, read the license agreement thoroughly and only accept the license agreement if you agree, by clicking the “I agree” button.
  4. Now choose the components that you want to install with Nmap but choosing them all is recommended. Click on the “Next” button.
  5. The installation location for Nmap will be C:\Program Files (x86)\Nmap, but you can change the Installation folder to wherever you want. Now click on the “Install” button.
  6. Now the actual installation process will start, and all files will be extracted. Once it is done, your Nmap is ready to use now.

Nmap features

This powerful tool carries many features that can be used by a hacker to get a lot of information about their targeted machine.

  • Identify open ports.
  • Network Inventory.
  • Map a network.
  • Exploiting and finding a vulnerability.
  • Host uptime monitoring.
  • Network security audit.
  • Detecting OS.
  • Detect service and version.

Network Mapping – It can be beneficial for you to check the devices present on a network including all the routers, servers, and switches, and to verify how they are connected physically. Nmap on Windows has the capability to show a whole map of the network.

Nmap on Windows

Detecting OS – Nmap can also be used for OS footprinting. You can check the operating system running on your targeted device, including the vendor name and the version of the system. It can also give you an estimate for the ‘devices’ up-time.

Security Auditing – After footprinting the OS and knowing the applications running on the system, network managers now discover the vulnerability that can lead to specific flaws.

Discovering services – By using Nmap you can do more than just find hosts on the network, you can also check their behavior and whether they are acting as web servers or mail servers and information regarding the version of the software they are using.

Zenmap for Windows

Zenmap offers you a graphical user interface for all the tasks you would normally perform in Nmap by using the command line. Zenmap offers you some extraordinary features that you do not see in the classic Nmap, for example, a network topology map.

Nmap on Windows

You are provided with more options in this GUI version. You can save your scan results with the Nmap format (.nmap) or in the XML (.xml) format.

This incredible GUI of Nmap is available for Windows, and it is very beneficial for users who do not want to play with the CLI interface of Nmap.

Different scan types in Nmap

There are different types of scans that can be performed by using Nmap. The Nmap user performs these scans for various purposes.

TCP Scan

TCP scan performs a three-way handshake from your device to the targeted device. Someone with minimal effort can easily detect the TCP scan, and your IP address of the sender can be logged by the services efficiently.

UDP Scan

UDP is used to check whether there is any port that is listening for the upcoming requests on the targeted machine. You may get a false report in your scan results, as there is no mechanism to respond positively. The UPD scans can be used to uncover any hidden trojan or any RPC services. These scans are not very fast because the machines handle this kind of traffic slowly.

SYN Scan

It is a type of TCP scan. The syn packets are crafted by using Nmap itself, and this syn packet is used to initiate a TCP connection. Nmap results are based upon these special Syn packets. These packets themselves do not establish a connection, but they are utilized to produce scan results on Nmap.

ACK Scan

To check if ports are filtered or not, ACK scans are used. This type of scan can be beneficial if you want to check for the firewalls. If there is simple packet filtering, then it will allow an established connection with the help of ACK bit set.

FIN Scan

The FIN scan is most likely the SYN scan. If the targeted machine receives FIN input, then most of them will send the reset packet (RST) back.

NULL Scan

As the name suggests, the NULL scan sets all the header fields to zero (null). These kinds of packets are not authentic, and some of the targets do not know how to handle this packet. These targets could be your windows machine, and when you scan them using NULL packets, they produce undependable results.

XMAS Scan

XMAS scan has the same nature as the NULL scan, as both of these are hard to detect. The implementation of the TCP stack will prevent windows from responding to the Xmas scans. The XMAS scans are used to operate the FIN, URG, and PSH flag present in the TCP header.

RPC Scan

These kinds of scans are utilized to find the systems that reply to the RPC (Remote procedure call) services. It can allow the commands to run on a specific machine remotely. RPC services can also be used to run on many different ports; that’s why it becomes difficult to tell whether the RPC services are working or not. RPC scan should be done often to check the running RPC services.

IDLE Scan

From all of the above scans for Nmap on Windows or Linux, the IDLE scan is the stealthiest of them all. The attackers mostly use the IDLE scan for malicious attacks. Some specific conditions are necessary to perform this scan.

Scanning TCP/UDP ports with Nmap on windows

One of the best usages of Nmap is to scan ports on the network. By default, there are 1000 ports that Nmap can automatically scan, and you can change that port range according to your scan requirements.

Scanning all ports

In Nmap, we can specify the port range by using the “-p” option. The maximum or highest port number is 65535. If we want to scan all TCP ports, then we can use -p0-65535 option:

nmap -p- 127.0.0.1Code language: CSS (css)
Nmap on Windows

Scanning specific TCP ports within a range

In Nmap, we can specify the port range by using the “-p” option. The maximum or highest port number is 65535. If we want to scan all TCP ports, then we can use -p1-10 option:

nmap -p1-500 127.0.0.1Code language: CSS (css)
nmap specific TCP ports

Faster Scan option

If you want your scan to finish fast, then you can use the fast scan option. The regular scan will consume a lot of time, whereas a fast scan option will do it in less time. Use this option if your situation is not critical. You can use -T5 parameter for the quickest level scan of Nmap:

nmap -p- -T5 127.0.0.1Code language: CSS (css)
nmap fast scan

Scanning TCP ports without a range

There is another way of scanning TCP ports without specifying the range of ports. It will scan for the common 1000 ports:

nmap 127.0.0.1Code language: CSS (css)
nmap tcp scan

Scanning UDP ports within a range

In Nmap when you scan ports, TCP is scanned per default. In order to scan UDP ports, you have to specify the UDP scan in the statement. You can use -sU for scanning UDP ports.^:

nmap -sU -p 1-500 127.0.0.1Code language: CSS (css)
nmap specific UDP scan

Scanning all UDP ports

Scanning UDP without range is similar to scanning TCP without range. You use the same -p- option to scan UDP ports without specifying a range:

nmap -sU -p - -T5 127.0.0.1Code language: CSS (css)
nmap UDP all ports

👀 This Tutorial has some related Articles!
👉 How to get started in Cyber Security – The Complete Guide
👉 How to get started with Bug Bounties
👉 Terminal Customization Series
👉 Best Ethical Hacking Books
👉 Download Kali Linux Safe & Easy
👉 Best Ethical Hacking Tools
👉 Install VSCode on Kali Linux
👉 Dual Boot Kali Linux with Windows
👉 Install Kali Linux on VirtualBox – Complete Beginner Guide
👉 Top Things to do after installing Kali Linux
👉 WiFi Adapter for Kali Linux – The Ultimate Guide
👉 Nmap Beginner Guide Series
👉 Metasploit Tutorial Series
👉 Burp Suite Beginner Guide

Scanning TCP/UDP at once within a specific range

You can also scan both TCP/UDP by using a single statement. You have to use -sU for UDP ports and TCP ports ‘; you’ll use the -sT option:

nmap -sT -sU -p 1-500 127.0.0.1Code language: CSS (css)
nmap specific tcp and udp scan

Other common Nmap commands

There are a ton of commands that you cannot master in a day, but there are some common and useful commands that you can use instantly. These commands are the basic ones. You can go advance, once you have learned the basics of it. Have a look at some of the most common yet useful commands.

Scanning OS & service detection

You can enable service detection and OS detection by using the -A option and to allow fast scanning we can use -T4 with it. Here is an example:

nmap -T4 -A 127.0.0.1Code language: CSS (css)
nmap OS detection

Detecting vulnerabilities using Nmap

One of the most significant Nmap features that allow you to go beyond your expectations is that you can use the “Nmap scripting engine” through which you can execute a set of pre-defined scripts, and you can write your won scripts as well in Lua programming language.

NSE (Nmap Scripting Engine) is essential to use when you have to perform a full vulnerability scan. You have to automate everything during a scan that’s why we use scripts.

To perform a vulnerability test, you can use:

nmap -T5 --script vuln 127.0.0.1Code language: CSS (css)
nmap vulnerability scan

Saving your Nmap results

You can save your results after the scan in Nmap. You can save them in two formats i.e Nmap (.nmap) format or XML (.xml) format. While exporting the results from the Nmap, you have to use the following command statement:

nmap -oN output.txt example.comCode language: CSS (css)
nmap save output text

You can export the results as an XML document as well:

nmap -oX output.xml example.comCode language: CSS (css)
nmap save output xml

Detecting Malware on the remote hosts

Nmap has the capability to run different tests to check for Malware or backdoor on some popular operating system services like Proftpd, IRC, SMTP, and SMB. It also offers a module that checks for any malicious file signs in Virustotal databases.

To perform a very simple & straight scan:

nmap -sV --script http-malware-host 127.0.0.1Code language: CSS (css)
nmap malware scan

By using ‘google’s malware check:

nmap -p 80 --script HTTP-google-malware 127.0.0.1Code language: CSS (css)
nmap google malware scan

Conclusion

Nmap for Windows is one of the most important and robust tools used for gathering network information and performing operations using NSE. You can stick to Nmap and learn more about it to be a professional. The significance of this tool is enough that every security researcher has heard its name. If you want to be a cybersecurity expert, then you should consider using this tool that carries a lot of flexibility and strength in itself. This beginner’s guide will surely help you to make your base strong so that you can move to advance steps. We also have a series of Nmap tutorials, you may have a look at it to learn more about it here.

👀 This Tutorial has some related Articles!
👉 Part 1 – Nmap Basics
👉 Part 2 – Nmap Host Discovery
👉 Part 3 – Advanced Nmap Commands
👉 Part 4 – Nmap NSE Scripts
👉 Part 5 – Nmap on Windows

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

Nmap также может определять Mac-адрес, тип ОС, версию службы и многое другое.

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

Nmap — это многоплатформенная программа, которую можно установить во всех основных операционных системах. Первоначально он был выпущен как инструмент только для Linux, а позже был перенесен на другие системы, такие как BSD, Windows и macOS.

Если вы предпочитаете графический интерфейс, а не командную строку, Nmap также имеет графический пользовательский интерфейс под названием Zenmap.

Официальные бинарные пакеты доступны для загрузки со страницы загрузки Nmap.

Процедура установки проста и зависит от вашей операционной системы.

Установка Nmap в Ubuntu и Debian

Nmap доступен из репозиториев Ubuntu и Debian по умолчанию. Чтобы установить его, запустите:

1
2
$ sudo apt update
$ sudo apt install nmap

Установка Nmap на CentOS и Fedora

На CentOS и других производных от Red Hat запускаются:

1
$ sudo dnf install nmap

Установка Nmap на macOS

Пользователи macOS могут установить Nmap, загрузив установочный пакет «.dmg» с сайта Nmap или через Homebrew:

Установка Nmap в Windows

Версия Nmap для Windows имеет некоторые ограничения и, как правило, немного медленнее, чем версия для UNIX.

Самый простой вариант установки Nmap в Windows — это загрузить и запустить самоустанавливающийся exe-файл.

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

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

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

Упрощенный синтаксис команды nmap следующий:

1
$ nmap [Options] [Target...]

Самый простой пример использования Nmap — сканирование одной цели от имени обычного пользователя без указания каких-либо параметров:

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

Вывод будет выглядеть примерно так, включая основную информацию о сканировании и список открытых и отфильтрованных TCP-портов.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Output

Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-04 20:19 CET
Nmap scan report for cast.lan (192.168.10.121)
Host is up (0.048s latency).
Not shown: 981 closed ports
PORT     STATE    SERVICE
21/tcp   open     ftp
22/tcp   open     ssh
25/tcp   open     smtp
53/tcp   open     domain
80/tcp   open     http
110/tcp  open     pop3
143/tcp  open     imap
443/tcp  open     https
587/tcp  open     submission
993/tcp  open     imaps
995/tcp  open     pop3s
1025/tcp open     NFS-or-IIS
1080/tcp open     socks
8080/tcp open     http-proxy
8081/tcp open     blackice-icecap

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

Самым популярным вариантом сканирования является сканирование TCP SYN (-sS), которое работает быстрее, чем параметр подключения, и работает со всеми совместимыми стеками TCP.

-sS включается по умолчанию, когда nmap вызывается от имени пользователя с административными привилегиями:

1
$ sudo nmap 192.168.10.121

Для более подробного вывода используйте увеличение детализации с помощью -v или -vv:

1
$ sudo nmap -vv 192.168.10.121

Чтобы выполнить сканирование UDP, вызовите команду с параметром (-sU) от имени пользователя root:

1
$ sudo nmap -sU 192.168.10.121

Для получения полного списка методов сканирования портов посетите страницу документации Nmap.

Nmap также поддерживает адреса IPv6. Чтобы указать хост IPv6, используйте параметр -6:

1
$ sudo nmap -6 fd12:3456:789a:1::1

Указание целевых хостов

Nmap рассматривает все аргументы, которые не являются опциями, как целевые хосты.

Аргументы считаются вариантами, если они начинаются с одинарного или двойного тире (-,--).

Самый простой вариант — передать один или несколько целевых адресов или доменных имен:

1
$ nmap 192.168.10.121 host.to.scan

Вы можете использовать нотацию CIDR, чтобы указать диапазон сети:

Чтобы указать диапазон октетов, используйте символ тире. Например, для сканирования 192.168.10.1, 192.168.11.1 и 192.168.12.1:

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

1
$ nmap 192.168.10,11,12.1

Вы можете комбинировать все формы:

1
$ nmap 10.8-10.10,11,12.0/28 192.168.1-2.100,101

Чтобы убедиться, что вы указали правильные хосты перед сканированием, используйте параметр сканирования списка (-sL), который перечисляет только целевые объекты без запуска сканирования:

1
$ nmap -sL 10.8-10.10,11,12.0/28 192.168.1-2.100,101

Если вы хотите исключить цели, которые включены в указанный вами диапазон, используйте параметр --exclude:

1
$ nmap 10.8-10.10,11,12.0/28 --exclude 10.10.12.12

Указание и сканирование портов

По умолчанию Nmap выполняет быстрое сканирование 1000 самых популярных портов. Это не первые 1000 последовательных портов, а 1000 наиболее часто используемых портов в диапазоне от 1 до 65389.

Чтобы сканировать все порты с 1 по 65535, используйте параметр -p-:

1
$ nmap -p- 192.168.10.121

Каждый порт может находиться в одном из следующих состояний:

  • open — программа, запущенная на порту, отвечает на запрос.
  • closed — на порту не работает ни одна программа, и хост отвечает на запросы.
  • filtered — Хост не отвечает на запрос.

Порты и диапазоны портов указываются с параметром -p.

Например, чтобы просканировать только порт 443, вы должны использовать следующую команду:

1
$ nmap -p 443 192.168.10.121

Чтобы указать более одного порта, разделите целевые порты запятой:

1
$ nmap -p 80,443 192.168.10.121

Диапазоны портов можно указать с помощью символа тире. Например, чтобы просканировать все порты UDP в диапазоне от 1 до 1024, вы должны запустить:

1
$ sudo nmap -sU -p 1-1024 192.168.10.121

Все вместе:

1
$ nmap -p 1-1024,8080,9000 192.168.10.121

Порты также можно указать с помощью имени порта. Например, для поиска порта 22, ssh, вы можете использовать:

1
$ nmap -p ssh 192.168.10.121

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

Чтобы выполнить ping-сканирование или обнаружение хоста, вызовите команду nmap с параметром -sn:

1
$ sudo nmap -sn 192.168.10.0/24

Опция -sn указывает Nmap только обнаруживать сетевые хосты и не выполнять сканирование портов. Это полезно, когда вы хотите быстро определить, какой из указанных хостов запущен и работает.

Отключение разрешения DNS-имен

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

При сканировании больших сетей рекомендуется отключить разрешение обратного DNS и ускорить сканирование. Для этого вызовите команду с параметром -n:

1
$ sudo nmap -n 192.168.10.0/16

Определение ОС, служб и версий

Nmap может обнаружить операционную систему удаленного хоста с помощью снятия отпечатков стека TCP / IP. Чтобы запустить обнаружение ОС, вызовите команду с параметром -O:

1
$ sudo nmap -O scanme.nmap.org

Если Nmap может обнаружить ОС хоста, он напечатает что-то вроде следующего:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Output

...
Device type: general purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.4
Network Distance: 18 hops

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

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

Благодаря обнаружению службы и версии Nmap покажет вам, какая программа прослушивает порт и версию программы.

Для поиска службы и версии используйте параметр -sV:

1
$ sudo nmap -sV scanme.nmap.org
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Output

...
PORT      STATE    SERVICE      VERSION
19/tcp    filtered chargen
22/tcp    open     ssh          OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp    open     http         Apache httpd 2.4.7 ((Ubuntu))
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
9929/tcp  open     nping-echo   Nping echo
31337/tcp open     tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Вы также можете сканировать ОС, версии и запускать traceroute одной командой, используя параметр -A:

1
$ sudo nmap -A 192.168.10.121

Вывод Nmap

По умолчанию Nmap выводит информацию на стандартный вывод (stdout).

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

Nmap предоставляет несколько типов вывода. Чтобы сохранить вывод в нормальном формате, используйте параметр -oN, за которым следует имя файла:

1
$ sudo nmap -sU -p 1-1024 192.168.10.121 -oN output.txt

Самый популярный вариант — сохранить вывод в формате XML. Для этого используйте параметр -oX:

1
$ sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xml

Еще один полезный формат — вывод grepable, который можно анализировать с помощью стандартных инструментов Unix, таких как grep, awk и cut. Вывод grepable указывается с параметром -oG:

1
$ sudo nmap -sU -p 1-1024 192.168.10.121 -oG output

Механизм сценариев Nmap

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

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

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

1
$ nmap -sV --script http-malware-host scanme.nmap.org

Заключение

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

Обратите внимание, что в некоторых странах сканирование сетей без разрешения является незаконным.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Adobe dng converter для windows 7
  • Выключение компьютера через консоль windows
  • Windows modules installer worker перевод
  • Как установить minicube на windows
  • Windows installer файлы msi