Nmap, také známý jako Network Mapper , je bezplatný nástroj s otevřeným zdrojovým kódem, který používají správci sítě ke skenování zranitelností v jejich síti a zjišťování sítí.
Nmap umožňuje najít zařízení běžící v jejich síti a objevit otevřené porty a služby, které, pokud nejsou zabezpečené nebo zesílené, mohou vést k potenciálním hackerům, kteří zneužívají známá bezpečnostní rizika zranitelností.
V následujícím tutoriálu se dozvíte, jak nainstalovat a základní použití Nmap na Debian 11 Bullseye.
Nainstalujte Nmap
Ve výchozím nastavení je NMAP k dispozici v úložišti Debian 11. Chcete-li zahájit instalaci, spusťte následující příkaz.
sudo apt install nmap
Příklad výstupu:
Zadejte Y a poté stiskněte klávesu ENTER pokračujte v instalaci.
Dále ověřte instalaci kontrolou verze a sestavení.
nmap --version
Příklad výstupu:
Jak používat Nmap Scanner
Úvod do používání skeneru Nmap probere některé z nejčastěji používaných akcí. Nmap funguje pomocí nmap a cílové IP adresy nebo adresy domény spolu s různými dalšími příznaky.
Upozornění! Nespouštějte skenování bez svolení hostitele, pokud je vám to jedno, je to v pořádku, ale můžete čelit následkům v závislosti na zákonech vaší země a možná v menší míře může váš ISP zrušit váš účet kvůli škodlivé činnosti nebo mít vaši IP adresu. na černé listině, což může způsobit další problémy.
Toto je navrženo pro testování zabezpečení vašich vlastních vlastností a služeb, nikoli pro hackování.
Definice stavů portů Nmap
Za prvé, než začnete, měli byste vědět, co terminál portu uvádí při použití skeneru portů Nmap.
- zavřeno – cílový port je dosažitelný, ale žádná aplikace neposlouchá ani nepřijímá.
- otevřené – cílový port přijímá TCP, UDP nebo SCTP.
- filtrováno – cílový port nemůže být nmapem úspěšně určen jako otevřený nebo uzavřený kvůli filtrování paketů.
- nefiltrováno – port je dosažitelný, ale nelze jej určit, zda je otevřený nebo zavřený pomocí nmap.
- zavřeno|filtrováno – nmap reach target a nmap nemůže určit, zda je port otevřený nebo uzavřený.
- otevřít|filtrováno – nmap nemůže určit, zda je port otevřený nebo filtrovaný.
Skenovat hostitele
Chcete-li skenovat hostitele. Může to být interní nebo externí, je to dobrá volba pro instalaci na váš server, abyste mohli prohledat všechny otevřené místní porty, které potřebují zamknout, aby se dále zvýšila bezpečnost vašeho systému.
První příklad s použitím IP adresy.
Příklad:
sudo nmap [IP address] or [website address]
Nebo pro interní skenování použijte následující.
Příklad:
sudo nmap localhost
Příklad výstupu:
Pro rychlé provedení skenování můžete použít -F vlajka.
Příklad:
sudo nmap -F [IP address] or [website address]
Při skenování můžete určit, zda chcete skenovat konkrétní hostitele.
Příklad:
sudo nmap [IP address],[IP address],[IP address]
Případně můžete prohledat celou podsíť, pokud ji znáte.
Příklad:
sudo nmap [IP address]/24
Kontrola operačního systému
Spusťte kontrolu operačního systému, která dá Nmapu pokyn, aby se pokusil zjistit, jaký operační systém je na cílovém systému spuštěn. Pokud je cílová adresa uzamčena a porty jsou filtrovány nebo uzavřeny, výsledky budou méně než spolehlivé až přímo k ničemu (dobrý výsledek).
Příklad:
sudo nmap -O --osscan-guess [IP address] or [website address]
Specifikace portu a pořadí skenování
Spusťte vlastní skenování portů, což může být užitečné pro kontrolu konkrétních portů, které nejsou zahrnuty v 1000 nejčastějších portech pro každý protokol. To se provede přidáním -p vlajka.
Příklad:
sudo nmap –p 80,443,8080,9090 [IP address] or [website address]
Skenování služeb
Spusťte kontrolu služeb, která dá Nmapu pokyn, aby zkontroloval, jaké služby jsou spuštěny na cíli, a to prozkoumáním otevřených portů. Některé běžně používané porty nezískají mnoho informací, ale jiné, o kterých je známo, že používají specifické neobvykle sdílené porty, budou vykazovat mnohem lepší výsledky, pokud jsou otevřené.
Příklad:
sudo nmap -sV [IP address] or [website address]
TCP SYN Scan
Zahájit skenování TCP SYN (SYN/Connect()/ACK/Window/Maimon) . Tento typ kontroly se často nazývá kontrola napůl otevřených připojení a nikdy se úplně nedokončí. Tato metoda se používá pro DDoS, ale ve velkém měřítku s botnety.
Příklad:
sudo nmap -sS [IP address] or [website address]
Nápověda Nmap
Celkově má Nmap mnoho funkcí a kombinací. V ideálním případě, chcete-li se o nich dozvědět více, použijte následující příkaz k vyvolání seznamu příkazů a volitelných příznaků, které lze při skenování použít.
sudo nmap --help
Příklad výstupu:
Nmap 7.80 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL <inputfilename>: Input from list of hosts/networks
-iR <num hosts>: Choose random targets
--exclude <host1[,host2][,host3],...>: Exclude hosts/networks
--excludefile <exclude_file>: Exclude list from file
HOST DISCOVERY:
-sL: List Scan - simply list targets to scan
-sn: Ping Scan - disable port scan
-Pn: Treat all hosts as online -- skip host discovery
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
--dns-servers <serv1[,serv2],...>: Specify custom DNS servers
--system-dns: Use OS's DNS resolver
--traceroute: Trace hop path to each host
SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags <flags>: Customize TCP scan flags
-sI <zombie host[:probeport]>: Idle scan
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b <FTP relay host>: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
-p <port ranges>: Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
--exclude-ports <port ranges>: Exclude the specified ports from scanning
-F: Fast mode - Scan fewer ports than the default scan
-r: Scan ports consecutively - don't randomize
--top-ports <number>: Scan <number> most common ports
--port-ratio <ratio>: Scan ports more common than <ratio>
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info
--version-intensity <level>: Set from 0 (light) to 9 (try all probes)
--version-light: Limit to most likely probes (intensity 2)
--version-all: Try every single probe (intensity 9)
--version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:
-sC: equivalent to --script=default
--script=<Lua scripts>: <Lua scripts> is a comma separated list of
directories, script-files or script-categories
--script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts
--script-args-file=filename: provide NSE script args in a file
--script-trace: Show all data sent and received
--script-updatedb: Update the script database.
--script-help=<Lua scripts>: Show help about scripts.
<Lua scripts> is a comma-separated list of script-files or
script-categories.
OS DETECTION:
-O: Enable OS detection
--osscan-limit: Limit OS detection to promising targets
--osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:
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
FIREWALL/IDS EVASION AND SPOOFING:
-f; --mtu <val>: fragment packets (optionally w/given MTU)
-D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys
-S <IP_Address>: Spoof source address
-e <iface>: Use specified interface
-g/--source-port <portnum>: Use given port number
--proxies <url1,[url2],...>: Relay connections through HTTP/SOCKS4 proxies
--data <hex string>: Append a custom payload to sent packets
--data-string <string>: Append a custom ASCII string to sent packets
--data-length <num>: Append random data to sent packets
--ip-options <options>: Send packets with specified ip options
--ttl <val>: Set IP time-to-live field
--spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address
--badsum: Send packets with a bogus TCP/UDP/SCTP checksum
OUTPUT:
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,
and Grepable format, respectively, to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Increase verbosity level (use -vv or more for greater effect)
-d: Increase debugging level (use -dd or more for greater effect)
--reason: Display the reason a port is in a particular state
--open: Only show open (or possibly open) ports
--packet-trace: Show all packets sent and received
--iflist: Print host interfaces and routes (for debugging)
--append-output: Append to rather than clobber specified output files
--resume <filename>: Resume an aborted scan
--stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
--webxml: Reference stylesheet from Nmap.Org for more portable XML
--no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:
-6: Enable IPv6 scanning
-A: Enable OS detection, version detection, script scanning, and traceroute
--datadir <dirname>: Specify custom Nmap data file location
--send-eth/--send-ip: Send using raw ethernet frames or IP packets
--privileged: Assume that the user is fully privileged
--unprivileged: Assume the user lacks raw socket privileges
-V: Print version number
-h: Print this help summary page.
EXAMPLES:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80
SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
Jak odebrat (odinstalovat) Nmap
Chcete-li odebrat Nmap ze systému Debian 11, použijte k odstranění aplikace následující příkaz.
sudo apt autoremove nmap --purge
Příklad výstupu:
Zadejte Y a poté stiskněte klávesu ENTER pokračovat v odstraňování Nmap.
Všimněte si, že toto odstraní nepoužívané závislosti, které byly také nainstalovány během počáteční instalace Nmap.