- Что такое nmap вкратце проще всего посмотреть через whatis 😉
~$ whatis nmap nmap (1) - Network exploration tool and security / port scanner
ОПЦИИ
УСКОРЕНИЕ
- ZMap – в случае необходимости сканов “Internet-wide”. Им пользуются хакеры в том числе.
The ZMap Project is a collection of open source tools that enable researchers to perform large-scale studies of the hosts and services that compose the public Internet. ZMap is a fast single-packet network scanner optimized for Internet-wide network surveys. On a computer with a gigabit connection, ZMap can scan the entire public IPv4 address space in under 45 minutes. With a 10gigE connection and PF_RING, ZMap can scan the IPv4 address space in 5 minutes.
-T[1-5] – опция с номером позволяет регулировать скорость работы nmap.
Ускорение достигается путем увеличения количество потоков обработки, уменьшения групп в каждом потоке, уменьшением времени ожидания ответа, уменьшением времени задержки между сканами. Каждый из этих параметров можно крутить вручную или использовать предшаблоны -T1 – T5.
Options which take <time> are in seconds, or append 'ms' (milliseconds), 's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). -T<0-5>: Set timing template (higher is faster) --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes --min-parallelism/max-parallelism <numprobes>: Probe parallelization --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies probe round trip time. --max-retries <tries>: Caps number of port scan probe retransmissions. --host-timeout <time>: Give up on target after this long --scan-delay/--max-scan-delay <time>: Adjust delay between probes --min-rate <number>: Send packets no slower than <number> per second --max-rate <number>: Send packets no faster than <number> per second
Чем выше номер, тем быстрее работа, но меньше надежность результата (высокая задержка может посчитаться как полное отсутствие ответа). Крайне желательно использовать T4/T5 если в скане предвидится большое количество неотвечающих устройств (например, полный скан сетей) т.к. в опциях предусмотрено уменьшение таймаута ожидания ответа.
$ nmap -sP 192.168.0.0/24 Nmap done: 256 IP addresses (0 hosts up) scanned in 52.06 seconds $ nmap -T4 -sP 192.168.0.0/24 Nmap done: 256 IP addresses (0 hosts up) scanned in 26.03 seconds $ nmap -T5 -sP 192.168.0.0/24 Nmap done: 256 IP addresses (0 hosts up) scanned in 13.02 seconds
К примеру, сеть /8 с более чем 16 млн. адресов при использовании опции -T5 можно опросить в относительно быстрые 64 часа (менее трех суток).
/usr/bin/nmap -T5 -sP 10.0.0.0/8 | grep "scan report for" | awk '{print $NF}'
Если нужен многопоточный скан нескольких сетей одновременно средствами bash – см. xargs. Схема классическая – делаем скрипт для одной сети/одного IP (с любым из сканов представленных ниже, например), далее делаем список сетей/IP, открываем его через cat и натравляем скрипт через xargs.
cat nets | xargs -n 1 -I ^ -P 10 bin/test.sh ^
Порты
Возможные ответы при сканировании портов:
- Open – порт на конечном хосте открыт, приложение слушает порт.
- Closed – порт на конечном хосте доступен, но его не слушает никакое приложение.
- Filtered – файрволл блокирует порт, Nmap неизвестно открыт порт или закрыт.
nmap <ip/net> – без опций сканирует 1-1024 порты + ~2400 портов известных как nmap-services в файле /etc/services.
The default is to scan all ports between 1 and 1024 as well as any ports listed in the services file which comes with nmap. ~$ grep " [1-9]/" /etc/services | head -5 tcpmux 1/tcp # TCP port service multiplexer tcpmux 1/udp # TCP port service multiplexer rje 5/tcp # Remote Job Entry rje 5/udp # Remote Job Entry echo 7/tcp ~$ nmap 80.87.194.88 Starting Nmap 6.40 ( http://nmap.org ) at 2016-10-19 23:35 MSK Nmap scan report for weril.me (80.87.194.88) Host is up (0.50s latency). Not shown: 997 filtered ports PORT STATE SERVICE 22/tcp closed ssh 80/tcp open http 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 72.98 seconds
nmap -F <ip/net> – Fast Scan Mode – сканирует только ~2400 портов известных как nmap-services в файле /etc/services, не сканируя 1-1024 порты.
Specifies that you only wish to scan for ports listed in the services file which comes with nmap (or the protocols file for -sO). This is obviously much faster than scanning all 65535 ports on a host.
~$ nmap -F 80.87.194.88
Starting Nmap 6.40 ( http://nmap.org ) at 2016-10-19 23:35 MSK
Nmap scan report for weril.me (80.87.194.88)
Host is up (0.071s latency).
Not shown: 97 filtered ports
PORT STATE SERVICE
22/tcp closed ssh
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 7.28 seconds
~$ nmap -F -oG - 80.87.194.88 # Nmap 6.40 scan initiated Sun Oct 23 01:55:14 2016 as: nmap -F -oG - 80.87.194.88 Host: 80.87.194.88 (weril.me) Status: Up Host: 80.87.194.88 (weril.me) Ports: 22/closed/tcp//ssh///, 80/open/tcp//http///, 443/open/tcp//https/// Ignored State: filtered (97) # Nmap done at Sun Oct 23 01:55:29 2016 -- 1 IP address (1 host up) scanned in 14.12 seconds
nmap -PN <ip/net> – проверяет доступность портов без предварительной проверки доступности хоста (не пингует).
-PN: Treat all hosts as online -- skip host discovery By default, Nmap only performs heavy probing such as port scans, version detection, or OS detection against hosts that are found to be up. Disabling host discovery with –PN causes Nmap to attempt the requested scanning functions against every target IP address specified.
~$ nmap -p 80,443,3389 80.87.194.88
Starting Nmap 6.40 ( http://nmap.org ) at 2016-10-24 01:13 MSK
Nmap scan report for weril.me (80.87.194.88)
Host is up (0.029s latency).
PORT STATE SERVICE
80/tcp open http
443/tcp open https
3389/tcp filtered ms-wbt-server
Nmap done: 1 IP address (1 host up) scanned in 0.22 seconds
~$ nmap -T5 -PN -p 80 -oG - 80.87.194.88 | awk '/open/{print $2}'
# Nmap 6.40 scan initiated Sun Oct 23 02:04:11 2016 as: nmap -T5 -PN -p 80 -oG - 80.87.194.88
Host: 80.87.194.88 (weril.me) Status: Up
Host: 80.87.194.88 (weril.me) Ports: 80/open/tcp//http///
# Nmap done at Sun Oct 23 02:04:11 2016 -- 1 IP address (1 host up) scanned in 0.14 seconds
Доступность
sudo nmap -sT -sU login.p1.worldoftanks.eu # scan TCP/UDP портов
sudo nmap -sU 78.107.63.120 -p 69 # scan UDP портов
nmap -T5 -sP -oG - 192.168.10.0/25 | sed '1d' | sed '$d' | awk '{print $2}' nmap -T5 -sP 192.168.10.0/25 | grep "scan report for" | awk '{print $NF}'
The -sP option sends an ICMP echo request and a TCP ACK packet to port 80 by default.
nmap –sP -iL <file_name> – cкан с текстового файла file_name c IP адресами устройств/подсетями. Показывает только живые IP адреса. Причем формат записи не важен, IP/сети могут идти в колонку, в строку или подряд.
-iL <inputfilename>: Input from list of hosts/networks ~$ cat >sw 10.8.167.165 10.8.152.156 10.8.152.158 10.8.152.159 10.8.152.157 10.8.238.36 10.8.238.34 10.8.4.179/29 ~$ nmap -sP -iL sw Starting Nmap 6.40 ( http://nmap.org ) at 2016-10-24 01:05 MSK Nmap scan report for 10.8.167.165 Host is up (0.0041s latency). Nmap scan report for 10.8.152.156 Host is up (0.0025s latency). Nmap scan report for 10.8.152.158 Host is up (0.0021s latency). Nmap scan report for 10.8.152.159 Host is up (0.0024s latency). Nmap scan report for 10.8.152.157 Host is up (0.0035s latency). Nmap scan report for 10.8.238.36 Host is up (0.0019s latency). Nmap scan report for 10.8.238.34 Host is up (0.0019s latency). Nmap scan report for 10.8.4.176 Host is up (0.0037s latency). Nmap scan report for 10.8.4.177 Host is up (0.0036s latency). Nmap scan report for 10.8.4.178 Host is up (0.0033s latency). Nmap scan report for 10.8.4.179 Host is up (0.0026s latency). Nmap scan report for 10.8.4.180 Host is up (0.0027s latency). Nmap scan report for 10.8.4.181 Host is up (0.0025s latency). Nmap done: 15 IP addresses (13 hosts up) scanned in 1.29 seconds
ОС
nmap -0 <ip> – определение операционки