Практические примеры использования nmap
Nov 7, 2016 09:59 · 971 words · 5 minute read
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
Мы рассмотрели несколько практических примеров, которые чаще всего используются в повседневной жизни. Больше вариантов и способов сканирования удаленных хостов можно найти здесь.