nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб).
Nmap использует множество различных методов сканирования, таких как UDP, TCP (connect), TCP SYN (полуоткрытое), FTP-proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, Xmas tree, SYN- и NULL-сканирование.
Nmap также поддерживает большой набор дополнительных возможностей, а именно: определение операционной системы удалённого хоста с использованием отпечатков стека TCP/IP, «невидимое» сканирование, динамическое вычисление времени задержки и повтор передачи пакетов, параллельное сканирование, определение неактивных хостов методом параллельного ping-опроса, сканирование с использованием ложных хостов, определение наличия пакетных фильтров, прямое (без использования portmapper) RPC-сканирование, сканирование с использованием IP-фрагментации, быстрый поиск уязвимостей SQL Injection, а также произвольное указание IP-адресов и номеров портов сканируемых сетей.
Nmap обычно используется для аудита безопасности, многие системные и сетевые администраторы считают его полезным и для рутинных задач, таких как инвентаризация сети, управление расписаниями обновления служб и мониторинг времени работы хоста или службы.
Сканирование одного хоста или IP-адреса (IPv4)
- ### Scan a single ip address ###
- nmap 192.168.1.1
|
- ## Scan a host name ###
- nmap server1.sedicomm.com
|
- ## Scan a host name with more info###
- nmap -v server1.sedicomm.com
|
Сканирование нескольких IP-адресов или подсетей (IPv4)
- nmap 192.168.1.1 192.168.1.2 192.168.1.3
- ## works with same subnet i.e. 192.168.1.0/24
- nmap 192.168.1.1,2,3
|
Чтение списка хостов/сетей из файла (IPv4)
- cat > /tmp/test.txt
- server1.sedicomm.com
- 192.168.1.0/24
- 192.168.1.1/24
- 10.1.2.3
- localhost
|
nmap -iL /tmp/test.txt |
Сканирование с исключением хостов/сетей (IPv4)
- nmap 192.168.1.0/24 --exclude 192.168.1.5
- nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254
|
Включение скрипта сканирования ОС и определения версии (IPv4)
- nmap -A 192.168.1.254
- nmap -v -A 192.168.1.1
- nmap -A -iL /tmp/scanlist.txt
|
Проверка, защищен ли хост/сеть брандмауэром
- nmap -sA 192.168.1.254
- nmap -sA server1.sedicomm.com
|
Сканирование хоста, в случае если он защищен брандмауэром
- nmap -PN 192.168.1.1
- nmap -PN server1.sedicomm.com
|
Сканирование хоста/адреса IPv6
- nmap -6 IPv6-Address-Here
- nmap -6 server1.sedicomm.com
- nmap -6 2607:f0d0:1002:51::4
- nmap -v A -6 2607:f0d0:1002:51::4
|
Сканирование сети и поиск устройств/серверов которые работают
- nmap -sP 192.168.1.0/24
- Host 192.168.1.1 is up (0.00035s latency).
- MAC Address: BC:AE:C5:C3:16:93 (Unknown)
- Host 192.168.1.2 is up (0.0038s latency).
- MAC Address: 74:44:01:40:57:FB (Unknown)
- Host 192.168.1.5 is up.
- Host nas03 (192.168.1.12) is up (0.0091s latency).
- MAC Address: 00:11:32:11:15:FC (Synology Incorporated)
- Nmap done: 256 IP addresses (4 hosts up) scanned in 2.80 second
|
Выполнение быстрого сканирования
Поиск причины, по которой порт находится в определенном состоянии
- nmap --reason 192.168.1.1
- nmap --reason server1.sedicomm.com
|
Поиск открытых портов
- nmap --open 192.168.1.1
- nmap --open server1.sedicomm.com
|
Просмотр всех отправленных и полученных пакетов
- nmap --packet-trace 192.168.1.1
- nmap --packet-trace server1.sedicomm.com
|
Просмотр интерфейсов хостов и маршрутов
- nmap --iflist
- Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 02:01 IST
- ************************INTERFACES************************
- DEV (SHORT) IP/MASK TYPE UP MAC
- lo (lo) 127.0.0.1/8 loopback up
- eth0 (eth0) 192.168.1.5/24 ethernet up B8:AC:6F:65:31:E5
- vmnet1 (vmnet1) 192.168.121.1/24 ethernet up 00:50:56:C0:00:01
- vmnet8 (vmnet8) 192.168.179.1/24 ethernet up 00:50:56:C0:00:08
- ppp0 (ppp0) 10.1.19.69/32 point2point up
- **************************ROUTES**************************
- DST/MASK DEV GATEWAY
- 10.0.31.178/32 ppp0
- 209.133.67.35/32 eth0 192.168.1.2
- 192.168.1.0/0 eth0
- 192.168.121.0/0 vmnet1
- 192.168.179.0/0 vmnet8
- 169.254.0.0/0 eth0
- 10.0.0.0/0 ppp0
- 0.0.0.0/0 eth0 192.168.1.2
|
Сканирование определенных портов
- nmap -p [port] hostName
- ## Scan port 80
- nmap -p 80 192.168.1.1
- ## Scan TCP port 80
- nmap -p T:80 192.168.1.1
- ## Scan UDP port 53
- nmap -p U:53 192.168.1.1
- ## Scan two ports ##
- nmap -p 80,443 192.168.1.1
- ## Scan port ranges ##
- nmap -p 80-200 192.168.1.1
- ## Combine all options ##
- nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1
- nmap -p U:53,111,137,T:21-25,80,139,8080 server1.sedicomm.com
- nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254
- ## Scan all ports with * wildcard ##
- nmap -p "*" 192.168.1.1
- ## Scan top ports i.e. scan $number most common ports ##
- nmap --top-ports 5 192.168.1.1
- nmap --top-ports 10 192.168.1.1
- Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:23 IST
- Interesting ports on 192.168.1.1:
- PORT STATE SERVICE
- 21/tcp closed ftp
- 22/tcp open ssh
- 23/tcp closed telnet
- 25/tcp closed smtp
- 80/tcp open http
- 110/tcp closed pop3
- 139/tcp closed netbios-ssn
- 443/tcp closed https
- 445/tcp closed microsoft-ds
- 3389/tcp closed ms-term-serv
- MAC Address: BC:AE:C5:C3:16:93 (Unknown)
|
Самый быстрый способ просканировать все ваши устройства/компьютеры на наличие открытых портов
Обнаружение удаленной операционной системы
- nmap -O 192.168.1.1
- nmap -O --osscan-guess 192.168.1.1
- nmap -v -O --osscan-guess 192.168.1.1
- Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:29 IST
- NSE: Loaded 0 scripts for scanning.
- Initiating ARP Ping Scan at 01:29
- Scanning 192.168.1.1 [1 port]
- Completed ARP Ping Scan at 01:29, 0.01s elapsed (1 total hosts)
- Initiating Parallel DNS resolution of 1 host. at 01:29
- Completed Parallel DNS resolution of 1 host. at 01:29, 0.22s elapsed
- Initiating SYN Stealth Scan at 01:29
- Scanning 192.168.1.1 [1000 ports]
- Discovered open port 80/tcp on 192.168.1.1
- Discovered open port 22/tcp on 192.168.1.1
- Completed SYN Stealth Scan at 01:29, 0.16s elapsed (1000 total ports)
- Initiating OS detection (try #1) against 192.168.1.1
- Retrying OS detection (try #2) against 192.168.1.1
- Retrying OS detection (try #3) against 192.168.1.1
- Retrying OS detection (try #4) against 192.168.1.1
- Retrying OS detection (try #5) against 192.168.1.1
- Host 192.168.1.1 is up (0.00049s latency).
- Interesting ports on 192.168.1.1:
- Not shown: 998 closed ports
- PORT STATE SERVICE
- 22/tcp open ssh
- 80/tcp open http
- MAC Address: BC:AE:C5:C3:16:93 (Unknown)
- Device type: WAP|general purpose|router|printer|broadband router
- Running (JUST GUESSING) : Linksys Linux 2.4.X (95%), Linux 2.4.X|2.6.X (94%), MikroTik RouterOS 3.X (92%), Lexmark embedded (90%), Enterasys embedded (89%), D-Link Linux 2.4.X (89%), Netgear Linux 2.4.X (89%)
- Aggressive OS guesses: OpenWrt White Russian 0.9 (Linux 2.4.30) (95%), OpenWrt 0.9 - 7.09 (Linux 2.4.30 - 2.4.34) (94%), OpenWrt Kamikaze 7.09 (Linux 2.6.22) (94%), Linux 2.4.21 - 2.4.31 (likely embedded) (92%), Linux 2.6.15 - 2.6.23 (embedded) (92%), Linux 2.6.15 - 2.6.24 (92%), MikroTik RouterOS 3.0beta5 (92%), MikroTik RouterOS 3.17 (92%), Linux 2.6.24 (91%), Linux 2.6.22 (90%)
- No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).
- TCP/IP fingerprint:
- OS:SCAN(V=5.00%D=11/27%OT=22%CT=1%CU=30609%PV=Y%DS=1%G=Y%M=BCAEC5%TM=50B3CA
- OS:4B%P=x86_64-unknown-linux-gnu)SEQ(SP=C8%GCD=1%ISR=CB%TI=Z%CI=Z%II=I%TS=7
- OS:)OPS(O1=M2300ST11NW2%O2=M2300ST11NW2%O3=M2300NNT11NW2%O4=M2300ST11NW2%O5
- OS:=M2300ST11NW2%O6=M2300ST11)WIN(W1=45E8%W2=45E8%W3=45E8%W4=45E8%W5=45E8%W
- OS:6=45E8)ECN(R=Y%DF=Y%T=40%W=4600%O=M2300NNSNW2%CC=N%Q=)T1(R=Y%DF=Y%T=40%S
- OS:=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%R
- OS:D=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=
- OS:0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID
- OS:=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)
- Uptime guess: 12.990 days (since Wed Nov 14 01:44:40 2012)
- Network Distance: 1 hop
- TCP Sequence Prediction: Difficulty=200 (Good luck!)
- IP ID Sequence Generation: All zeros
- Read data files from: /usr/share/nmap
- OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
- Nmap done: 1 IP address (1 host up) scanned in 12.38 seconds
- Raw packets sent: 1126 (53.832KB) | Rcvd: 1066 (46.100KB)
|
Определение номера версий удаленных сервисов (сервер/демон)
- nmap -sV 192.168.1.1
- Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:34 IST
- Interesting ports on 192.168.1.1:
- Not shown: 998 closed ports
- PORT STATE SERVICE VERSION
- 22/tcp open ssh Dropbear sshd 0.52 (protocol 2.0)
- 80/tcp open http?
- 1 service unrecognized despite returning data.
|
Сканирование хоста с использованием TCP ACK (PA) и TCP Syn (PS) ping
- nmap -PS 192.168.1.1
- nmap -PS 80,21,443 192.168.1.1
- nmap -PA 192.168.1.1
- nmap -PA 80,21,200-512 192.168.1.1
|
Сканирование хоста с помощью IP протокола ping
Сканирование хоста с помощью UDP-пинга
- nmap -PU 192.168.1.1
- nmap -PU 2000.2001 192.168.1.1
|
Поиск наиболее часто используемых портов TCP, с использованием TCP SYN Scan
- ### Stealthy scan ###
- nmap -sS 192.168.1.1
- ### Find out the most commonly used TCP ports using TCP connect scan (warning: no stealth scan)
- ### OS Fingerprinting ###
- nmap -sT 192.168.1.1
- ### Find out the most commonly used TCP ports using TCP ACK scan
- nmap -sA 192.168.1.1
- ### Find out the most commonly used TCP ports using TCP Window scan
- nmap -sW 192.168.1.1
- ### Find out the most commonly used TCP ports using TCP Maimon scan
- nmap -sM 192.168.1.1
|
Сканирование хоста на наличие UDP-сервисов (UDP scan)
- nmap -sU nas03
- nmap -sU 192.168.1.1
- Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 00:52 IST
- Stats: 0:05:29 elapsed; 0 hosts completed (1 up), 1 undergoing UDP Scan
- UDP Scan Timing: About 32.49% done; ETC: 01:09 (0:11:26 remaining)
- Interesting ports on nas03 (192.168.1.12):
- Not shown: 995 closed ports
- PORT STATE SERVICE
- 111/udp open|filtered rpcbind
- 123/udp open|filtered ntp
- 161/udp open|filtered snmp
- 2049/udp open|filtered nfs
- 5353/udp open|filtered zeroconf
- MAC Address: 00:11:32:11:15:FC (Synology Incorporated)
|
Сканирование для протокола IP
Сканирование брандмауэра на предмет уязвимости
- ## TCP Null Scan to fool a firewall to generate a response ##
- ## Does not set any bits (TCP flag header is 0) ##
- nmap -sN 192.168.1.254
- ## TCP Fin scan to check firewall ##
- ## Sets just the TCP FIN bit ##
- nmap -sF 192.168.1.254
- ## TCP Xmas scan to check firewall ##
- ## Sets the FIN, PSH, and URG flags, lighting the packet up like a Christmas tree ##
- nmap -sX 192.168.1.254
|
Сканирование брандмауэра на наличие фрагментов пакетов
- nmap -f 192.168.1.1
- nmap -f fw2.nixcraft.net.in
- nmap -f 15 fw2.nixcraft.net.in
- ## Set your own offset size with the --mtu option ##
- nmap --mtu 32 192.168.1.1
|
Скрытое сканирование с ловушкой
- nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip
- nmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5
|
Сканирование брандмауэра на предмет спуфинга MAC-адресов
- ### Spoof your MAC address ##
- nmap --spoof-mac MAC-ADDRESS-HERE 192.168.1.1
- ### Add other options ###
- nmap -v -sT -PN --spoof-mac MAC-ADDRESS-HERE 192.168.1.1
- ### Use a random MAC address ###
- ### The number 0, means nmap chooses a completely random MAC address ###
- nmap -v -sT -PN --spoof-mac 0 192.168.1.1
|
Сохранение вывода в текстовый файл
- nmap 192.168.1.1 > output.txt
- nmap -oN /path/to/filename 192.168.1.1
- nmap -oN output.txt 192.168.1.1
|
Сканирование веб-серверов и каналов в Nikto
- nmap -p80 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
- nmap -p80,443 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
|
В командной строке утилиты "Nmap" все, что не является опцией (или аргументом опции), рассматривается как цель сканирования.