Практические примеры использования nmap

Nov 7, 2016 09:59 · 971 words · 5 minute read nmap

Nmap (сокращение от «Network Mapper») — это набор инструментов для сканирования сети. Зачастую используется для проверки безопасности, определения сервисов запущенных на узле, для идентификации ОС и приложений, определения типа фаерволла и т. д. Давайте разберемся с несколькими практическими примерами использования nmap!

Считаем, что в вашей системе уже установлен nmap.

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

nmap [параметры_сканирования] цель_сканирования

Простой пример сканирования хоста по ip-адресу или по имени:

nmap 192.168.0.12

Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-13 09:11 EEST
Nmap scan report for saturn (192.168.0.12)
Host is up (0.000080s latency).
Not shown: 991 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
111/tcp  open  rpcbind
2000/tcp open  cisco-sccp
3306/tcp open  mysql
5061/tcp open  sip-tls
8080/tcp open  http-proxy
9100/tcp open  jetdirect
MAC Address: 00:0C:29:9A:15:C7 (VMware)

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

Сканирование нескольких ip-адресов можно выполнить так:

nmap 192.168.0.1 192.168.0.2 192.168.0.3

или так:

nmap 192.168.0.1-20

Для сканирования всей подсети можно использовать такую команду:

nmap 192.168.0.*

или так:

nmap 192.168.0.0/24

При сканировании сетей можно пропускать некоторые ip-адреса:

nmap 192.168.0.0/24 --exclude 192.168.0.5,192.168.0.7,192.168.0.254

Список хостов для сканирование можно взять из файла (допустим, /tmp/test.txt):

nmap -iL /tmp/test.txt

Также из файла можно взять список исключений (допустим, /tmp/exclude.txt):

nmap -iL /tmp/test.txt --excludefile /tmp/exclude.txt

Получить больше информации можно с помощью опции -v:

nmap -v 192.168.0.12

Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-13 09:31 EEST
Initiating ARP Ping Scan at 09:31
Scanning 192.168.0.12 [1 port]
Completed ARP Ping Scan at 09:31, 0.22s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 09:31
Completed Parallel DNS resolution of 1 host. at 09:31, 0.00s elapsed
Initiating SYN Stealth Scan at 09:31
Scanning saturn.reactor-v3 (192.168.0.12) [1000 ports]
Discovered open port 3306/tcp on 192.168.0.12
Discovered open port 22/tcp on 192.168.0.12
Discovered open port 25/tcp on 192.168.0.12
Discovered open port 8080/tcp on 192.168.0.12
Discovered open port 111/tcp on 192.168.0.12
Discovered open port 80/tcp on 192.168.0.12
Discovered open port 2000/tcp on 192.168.0.12
Discovered open port 9100/tcp on 192.168.0.12
Discovered open port 5061/tcp on 192.168.0.12
Completed SYN Stealth Scan at 09:31, 1.23s elapsed (1000 total ports)
Nmap scan report for saturn.reactor-v3 (192.168.0.12)
Host is up (0.000095s latency).
Not shown: 991 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
111/tcp  open  rpcbind
2000/tcp open  cisco-sccp
3306/tcp open  mysql
5061/tcp open  sip-tls
8080/tcp open  http-proxy
9100/tcp open  jetdirect
MAC Address: 00:0C:29:9A:15:C7 (VMware)

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.56 seconds
           Raw packets sent: 1001 (44.028KB) | Rcvd: 1005 (40.970KB)

Определить ОС, установленную на хосте можно с помощью опции -O:

nmap -O 192.168.0.12
...
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.11 - 3.14
Network Distance: 1 hop
...

Проверить какие хосты доступны и вывести их в виде списка можно с помощью опции -sP:

nmap -sP 192.168.0.0/24

Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-13 09:47 EEST
Nmap scan report for astra (192.168.0.1)
Host is up (0.00022s latency).
MAC Address: E8:40:F2:3B:CB:98 (Pegatron)
Nmap scan report for sao (192.168.0.2)
Host is up (0.00037s latency).
MAC Address: 00:0C:29:BF:7F:93 (VMware)
Nmap scan report for dao (192.168.0.5)
Host is up (0.00021s latency).
MAC Address: 00:0C:29:0E:17:0C (VMware)
Nmap scan report for deimos (192.168.0.6)
...

Узнать версии запущенных сервисов на хосте можно используя опцию -sV:

nmap -sV 192.168.0.13

Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-13 09:58 EEST
Nmap scan report for mars (192.168.0.13)
Host is up (0.0000070s latency).
Not shown: 985 closed ports
PORT     STATE SERVICE         VERSION
22/tcp   open  ssh             OpenSSH 6.7p1 Debian 5+deb8u2 (protocol 2.0)
80/tcp   open  http            Apache httpd 2.4.10 ((Debian))
139/tcp  open  netbios-ssn     Samba smbd 3.X (workgroup: MARS)
445/tcp  open  netbios-ssn     Samba smbd 3.X (workgroup: MARS)
3306/tcp open  mysql           MySQL 5.5.49-0+deb8u1-log
...

Осуществить быстрое сканирование:

nmap -F 192.168.0.1

Показать открытые порты на сканируемом узле:

nmap --open 192.168.0.1

Отобразить отправленные/полученные пакеты:

nmap --packet-trace 192.168.0.1

Вывести сетевые интерфейсы и маршруты хоста, с которого выполняется сканирование (весьма полезно для отладки):

nmap --iflist

Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-13 10:04 EEST
************************INTERFACES************************
DEV      (SHORT)    IP/MASK                     TYPE     UP   MTU   MAC
eth0.101 (eth0.101) 192.168.2.13/24             ethernet up   1500  00:0C:29:8A:AC:3E
eth0.101 (eth0.101) fe80::20c:29ff:fe8a:ac3e/64 ethernet up   1500  00:0C:29:8A:AC:3E
eth0     (eth0)     192.168.0.13/23             ethernet up   1500  00:0C:29:8A:AC:3E
eth0     (eth0)     fe80::20c:29ff:fe8a:ac3e/64 ethernet up   1500  00:0C:29:8A:AC:3E
eth1     (eth1)     (none)/0                    ethernet down 1500  00:0C:29:8A:AC:48
lo       (lo)       127.0.0.1/8                 loopback up   65536
lo       (lo)       ::1/128                     loopback up   65536

**************************ROUTES**************************
DST/MASK                     DEV      METRIC GATEWAY
192.168.2.0/24               eth0.101 0
192.168.0.0/23               eth0     0
0.0.0.0/0                    eth0     0      192.168.0.15
::1/128                      lo       0
fe80::20c:29ff:fe8a:ac3e/128 lo       0
fe80::20c:29ff:fe8a:ac3e/128 lo       0
ff02::1/128                  eth0     0
::1/128                      lo       256
fe80::/64                    eth0     256
fe80::/64                    eth0.101 256
ff00::/8                     eth0     256
ff00::/8                     eth0.101 256

Выполнить сканирование определенно порта можно несколькими способами, например так:

nmap -p 80 192.168.0.1

Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-13 10:07 EEST
Nmap scan report for astra (192.168.0.1)
Host is up (0.00028s latency).
PORT   STATE SERVICE
80/tcp open  http
MAC Address: E8:40:F2:3B:CB:98 (Pegatron)

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

или так:

nmap -p T:80 192.168.0.1

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

nmap -p 80,443 192.168.0.1

или задавать диапазон портов:

nmap -p 80-200 192.168.0.1

Топ 5 портов можно увидеть так:

nmap --top-ports 5 192.168.0.1

Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-13 10:18 EEST
Nmap scan report for astra (192.168.0.1)
Host is up (0.00022s latency).
PORT    STATE  SERVICE
21/tcp  closed ftp
22/tcp  open   ssh
23/tcp  closed telnet
80/tcp  open   http
443/tcp open   https
MAC Address: E8:40:F2:3B:CB:98 (Pegatron)

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

Выполнить сканирование узла используя TCP ACK (PA) и TCP Syn (PS):

nmap -PS 192.168.0.1
nmap -PS 80,443 192.168.0.1
nmap -PA 192.168.0.1
nmap -PA 80,200-400 192.168.0.1

Сканировать хост с использованием IP ping:

nmap -PO 192.168.0.1

Сканировать хост с использованием UDP ping:

nmap -PU 192.168.0.1

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

tweet Share