Nmap je zkratka pro Network Mapper. Jedná se o open-source bezpečnostní nástroj pro průzkum sítě, bezpečnostní skenování a audit. Příkaz Nmap však obsahuje spoustu voleb, které mohou tento nástroj učinit robustnějším a pro nové uživatele obtížněji pochopitelným. Cílem této příručky je seznámit uživatele s nástrojem příkazového řádku Nmap pro skenování hostitele nebo sítě s cílem zjistit možná zranitelná místa v hostitelích. Dozvíte se také, jak používat nástroj Nmap pro útočné a obranné účely. Podívejme se na několik běžných příkladů příkazů Nmap běžících v systému Linux nebo v systémech podobných Unixu.
- Co je Nmap a k čemu se používá?
- Příklady příkazů Nmap v Linuxu a Unixu – Ukázka nastavení (LAB) pro
- Jak nainstalovat nmap v Linuxu?
- Skenování jednoho hostitele nebo IP adresy (IPv4) pomocí nmap
- Skenování více IP adres nebo podsítí (IPv4)
- Číst seznam hostitelů/sítí ze souboru (IPv4)
- Vyloučení hostitelů/sítí (IPv4) ze skenování nmap příklady
- Zapnutí skriptu pro zjišťování operačního systému a verze (IPv4) pomocí příkazu nmap
- Zjištění, zda je hostitel/síť chráněna firewallem, pomocí příkazu namp
- Skenování hostitele, pokud je chráněn firewallem
- Příklady skenování hostitele/adresy IPv6
- Skenování sítě a zjištění, které servery a zařízení jsou v provozu
- Jak provést rychlé skenování pomocí příkazu namp?
- Zobrazení důvodu, proč je port v určitém stavu
- Pouze zobrazení otevřených (nebo případně otevřených) portů pomocí příkazu nmap v Linuxu
- Zobrazí všechny odeslané a přijaté pakety
- Zobrazí hostitelská rozhraní a trasy
- Jak skenovat konkrétní porty pomocí nmap?
- 16: Nejrychlejší způsob, jak kdy skenovat všechna zařízení/počítače na otevřené porty
- Jak zjistím vzdálený operační systém pomocí příkazu nmap?
- Jak zjistím čísla verzí vzdálených služeb (serveru / démona)?
- Skenujte hostitele pomocí pingů TCP ACK (PA) a TCP Syn (PS)
- Skenujte hostitele pomocí protokolu IP ping
- Skenujte hostitele pomocí protokolu UDP ping
- Zjistit nejčastěji používané porty TCP pomocí TCP SYN Scan
- Skenování hostitele pro služby UDP (UDP scan)
- Scan for IP protocol
- Skenování firewallu na slabiny zabezpečení
- Skenování firewallu na fragmenty paketů
- Skenování pomocí návnad
- Skenování firewallu na podvržené MAC adresy
- Jak uložit výstup do textového souboru?
- Skenování webových serverů a roury do Nikto pro skenování
- Zrychlení příkazu nmap
- Nejste fanouškem nástrojů příkazového řádku namp?
- Jak zjistit a zablokovat skenování portů na serverech Linux a Unix/BSD?
- Závěr
Co je Nmap a k čemu se používá?
Nmap v akci
Z manuálové stránky:
Nmap („Network Mapper“) je open source nástroj pro průzkum sítě a bezpečnostní audit. Byl navržen pro rychlé skenování rozsáhlých sítí, i když dobře funguje i proti jednotlivým hostitelům. Nmap používá surové pakety IP novými způsoby ke zjištění, jací hostitelé jsou v síti k dispozici, jaké služby (název a verze aplikace) tito hostitelé nabízejí, jaké operační systémy (a verze OS) na nich běží, jaký typ paketových filtrů/firewallů je používán a desítky dalších charakteristik. I když se Nmap běžně používá pro bezpečnostní audity, mnoho správců systémů a sítí jej považuje za užitečný pro rutinní úkoly, jako je inventarizace sítě, správa plánů aktualizace služeb a sledování provozuschopnosti hostitelů nebo služeb.
Původně jej napsal Gordon Lyon a dokáže snadno odpovědět na následující otázky:
- Vyhledejte běžící počítače v místní síti
- Jaké IP adresy jste našli běžet v místní síti?
- Zjistit operační systém cílového počítače
- Zjistit, jaké porty jsou otevřené na právě skenovaném počítači
- Zjistit, zda je systém infikován malwarem nebo virem.
- Vyhledat neautorizované servery nebo síťové služby v síti.
- Lokalizujte a odstraňte počítače, které nesplňují minimální úroveň zabezpečení organizace.
Příklady příkazů Nmap v Linuxu a Unixu – Ukázka nastavení (LAB) pro
Skenování portů může být v některých jurisdikcích nezákonné. Proto nastavte laboratoř takto:
+---------+ +---------+ | Network | +--------+ | server1 |-----------+ swtich +---------|server2 | +---------+ | (sw0) | +--------+ +----+----+ | | +---------+----------------+ | wks01 Linux/macOS/Win | +--------------------------+
Kde,
- wks01 je váš počítač buď s operačním systémem Linux/macOS (OS X), nebo s operačním systémem podobným Unixu. Používá se ke skenování místní sítě. Na tomto počítači musí být nainstalován příkaz nmap.
- Server1 může být poháněn operačními systémy Linux / Unix / MS-Windows. Jedná se o neopravený server. Nebojte se nainstalovat několik služeb, jako je webový server, souborový server apod.
- Server2 může být poháněn operačními systémy Linux / Unix / MS-Windows. Jedná se o plně záplatovaný server s firewallem. Opět si můžete nainstalovat několik služeb, jako je webový server, souborový server a tak dále.
- Všechny tři systémy jsou propojeny pomocí switche.
Jak nainstalovat nmap v Linuxu?
Podívejte se:
- Debian / Ubuntu Linux: Instalace softwaru nmap pro skenování sítě
- CentOS / RHEL: Instalace skeneru zabezpečení sítě nmap
- OpenBSD: Instalace skeneru zabezpečení sítě nmap
Skenování jednoho hostitele nebo IP adresy (IPv4) pomocí nmap
Obr.01: výstup nmap
Skenování více IP adres nebo podsítí (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
Můžete skenovat i rozsah IP adres:
nmap 192.168.1.1-20
Můžete skenovat rozsah IP adres pomocí zástupného znaku:
nmap 192.168.1.*
Nakonec můžete skenovat celou podsíť:
nmap 192.168.1.0/24
Číst seznam hostitelů/sítí ze souboru (IPv4)
Příkaz -iL umožňuje číst seznam cílových systémů pomocí textového souboru. To je užitečné pro skenování velkého počtu hostitelů/sítí. Vytvořte textový soubor následujícím způsobem:cat > /tmp/test.txt
Přidejte názvy následujícím způsobem:
server1.cyberciti.biz192.168.1.0/24192.168.1.1/2410.1.2.3localhost
Syntaxe je následující:
nmap -iL /tmp/test.txt
Vyloučení hostitelů/sítí (IPv4) ze skenování nmap příklady
Při skenování velkého počtu hostitelů/sítí můžete vyloučit hostitele ze skenování:
nmap 192.168.1.0/24 --exclude 192.168.1.5nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254
nebo seznam vyloučení ze souboru s názvem /tmp/exclude.txt
nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt
Zapnutí skriptu pro zjišťování operačního systému a verze (IPv4) pomocí příkazu nmap
nmap -A 192.168.1.254nmap -v -A 192.168.1.1nmap -A -iL /tmp/scanlist.txt
Zjištění, zda je hostitel/síť chráněna firewallem, pomocí příkazu namp
## nmap command examples for your host ##nmap -sA 192.168.1.254nmap -sA server1.cyberciti.biz
Skenování hostitele, pokud je chráněn firewallem
V těchto příkladech příkazů Nmap budeme skenovat směrovač/wifi zařízení, které má 192. V případě, že je hostitel/síť chráněn firewallem, můžeme použít příkaz namp.168.1.1 jako IP:
nmap -PN 192.168.1.1nmap -PN server1.cyberciti.biz
Příklady skenování hostitele/adresy IPv6
Volba -6 umožňuje skenování IPv6 pomocí příkazu namp. Syntaxe je:
nmap -6 IPv6-Address-Herenmap -6 server1.cyberciti.biznmap -6 2607:f0d0:1002:51::4nmap -v A -6 2607:f0d0:1002:51::4
Skenování sítě a zjištění, které servery a zařízení jsou v provozu
Toto je známé jako zjišťování hostitele nebo ping scan:
nmap -sP 192.168.1.0/24
Takto to vypadá:
Jak provést rychlé skenování pomocí příkazu namp?
nmap -F 192.168.1.1nmap -6 -F IPv6_Address_Here
Zobrazení důvodu, proč je port v určitém stavu
nmap --reason 192.168.1.1nmap --reason server1.cyberciti.biz
Výstupy:
Pouze zobrazení otevřených (nebo případně otevřených) portů pomocí příkazu nmap v Linuxu
Spustit:
nmap --open 192.168.1.1nmap --open server1.cyberciti.biznmap --open 192.168.2.18
Výstupy skenování z mého serveru CentOS 7 Linux:
Zobrazí všechny odeslané a přijaté pakety
nmap --packet-trace 192.168.1.1nmap --packet-trace server1.cyberciti.biz
Zobrazí hostitelská rozhraní a trasy
To je užitečné pro ladění (příkaz ip nebo route nebo příkaz netstat jako výstup pomocí příkazu nmap v Linuxu)
nmap --iflist
Podrobný report vytvořený příkazem Namp:
Jak skenovat konkrétní porty pomocí nmap?
Ukázkové výstupy:
16: Nejrychlejší způsob, jak kdy skenovat všechna zařízení/počítače na otevřené porty
nmap -T5 192.168.1.0/24nmap -T5 {sub/net}
Jak zjistím vzdálený operační systém pomocí příkazu nmap?
Vyhledat aplikace a operační systém vzdáleného hostitele můžete pomocí volby -O:
nmap -O 192.168.1.1nmap -O --osscan-guess 192.168.1.1nmap -v -O --osscan-guess 192.168.1.1
Ukázkové výstupy:
Další informace najdete také v části Fingerprinting a web-server and a dns server command line tools.
Jak zjistím čísla verzí vzdálených služeb (serveru / démona)?
Otevřete terminál a zadejte následující příkaz nmap:
nmap -sV 192.168.1.1
Ukázkové výstupy:
Skenujte hostitele pomocí pingů TCP ACK (PA) a TCP Syn (PS)
Pokud firewall blokuje standardní pingy ICMP, zkuste následující metody zjišťování hostitele:
nmap -PS 192.168.1.1nmap -PS 80,21,443 192.168.1.1nmap -PA 192.168.1.1nmap -PA 80,21,200-512 192.168.1.1
Skenujte hostitele pomocí protokolu IP ping
nmap -PO 192.168.1.1
Skenujte hostitele pomocí protokolu UDP ping
Tento způsob skenování obchází brány firewall a filtry, které kontrolují pouze protokol TCP:
nmap -PU 192.168.1.1nmap -PU 2000.2001 192.168.1.1
Zjistit nejčastěji používané porty TCP pomocí TCP SYN Scan
Skenování hostitele pro služby UDP (UDP scan)
Většina populárních služeb na internetu běží přes protokol TCP. DNS, SNMP a DHCP jsou tři nejběžnější služby protokolu UDP. Pro zjištění služeb UDP použijte následující syntaxi:
nmap -sU nas03nmap -sU 192.168.1.1
Příkladové výstupy:
Scan for IP protocol
Tento typ skenování umožňuje zjistit, které protokoly IP (TCP, ICMP, IGMP atd.) jsou podporovány cílovými počítači:
nmap -sO 192.168.1.1
Skenování firewallu na slabiny zabezpečení
Následující typy skenování využívají nenápadnou mezeru v TCP a hodí se k testování zabezpečení běžných útoků:
Podívejte se, jak pomocí iptables blokovat Xmas packety, syn-floods a další podvodné útoky.
Skenování firewallu na fragmenty paketů
Příkaz -f způsobí, že požadované skenování (včetně skenování pingem) bude používat drobné fragmentované pakety IP. Smyslem je rozdělit hlavičku TCP na
několik paketů, aby bylo pro paketové filtry, systémy detekce narušení a další nepříjemnosti obtížnější zjistit, co děláte.
Pomocí volby -D se vzdálenému hostiteli zdá, že hostitel(é), které zadáte jako návnady, skenují cílovou síť také. Jejich IDS tak může hlásit 5-10 skenů portů z unikátních IP adres, ale nebudou vědět, která IP je skenovala a které byly nevinné návnady:
nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ipnmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5
Skenování firewallu na podvržené MAC adresy
Jak uložit výstup do textového souboru?
Syntaxe je:
nmap 192.168.1.1 > output.txtnmap -oN /path/to/filename 192.168.1.1nmap -oN output.txt 192.168.1.1
Skenování webových serverů a roury do Nikto pro skenování
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 -
Zrychlení příkazu nmap
Předání volby -T příkazu nmap:nmap -v -sS -A -T4 192.168.2.5
Ukázky výstupů:
Nejste fanouškem nástrojů příkazového řádku namp?
Dosud jsme viděli příklady příkazů Nmap s použitím voleb příkazového řádku pro Linux a Unix. Ne každý si však s CLI rozumí nadmíru dobře. Proto můžeme použít aplikaci s grafickým uživatelským rozhraním s názvem Zenmap, což je oficiální front end/GUI nástroj mapovače sítě:
Zenmap je oficiální grafické uživatelské rozhraní skeneru zabezpečení Nmap. Jedná se o multiplatformní (Linux, Windows, Mac OS X, BSD atd.) bezplatnou a open source aplikaci, jejímž cílem je usnadnit používání Nmapu začátečníkům a zároveň poskytnout pokročilé funkce zkušeným uživatelům Nmapu. Často používané skenování lze uložit jako profily, aby bylo snadné je opakovaně spouštět. Tvůrce příkazů umožňuje interaktivní vytváření příkazových řádků Nmap. Výsledky skenování lze uložit a později zobrazit. Uložené výsledky skenování lze vzájemně porovnat a zjistit, jak se liší. Výsledky posledních skenování jsou uloženy v databázi s možností vyhledávání.
Zenmap můžete nainstalovat pomocí následujícího příkazu apt-get nebo apt:$ sudo apt-get install zenmap
Ukázkové výstupy:
Pro spuštění zenmap zadejte následující příkaz:$ sudo zenmap
Ukázkové výstupy
Obr.02: zenmap v akci
Jak zjistit a zablokovat skenování portů na serverech Linux a Unix/BSD?
Vyzkoušejte následující zdroje:
- Jak pomocí nástroje psad zjistit a zablokovat útoky skenování portů v reálném čase.
- Debian / Ubuntu Linux:
- CentOS / Redhat Iptables Firewall Configuration Tutorial.
- Linux: 20 Iptables Examples For New SysAdmins.
- 20 Linux Server Hardening Security Tips.
Závěr
V této příručce jste se dozvěděli o příkazu Nmap s mnoha příklady pro Linux a použití s různými ukázkami. Další informace naleznete v následujících zdrojích:
- Oficiální domovská stránka projektu Nmap zde.
Příkaz Nmap má mnoho dalších možností a další informace naleznete v manuálové stránce nebo v dokumentaci. Jaké jsou vaše oblíbené triky pro příkazový řádek Nmap? Podělte se o své oblíbené tipy, triky a rady v komentářích níže.
🐧 Získávejte nejnovější návody na Linux, Open Source & DevOps prostřednictvím RSS kanálu nebo týdenního e-mailového zpravodaje.
🐧 Zatím 25 komentářů… Přidat jeden ↓
Kategorie | Seznam unixových a linuxových příkazů |
---|---|
Soubor. Správa | cat |
Firewall | Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04 |
Síťové nástroje | dig – host – ip – nmap |
OpenVPN | CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 – Ubuntu 20.04 |
Správce balíčků | apk – apt |
Správa procesů | bg – chroot – cron – disown – fg – jobs – killall – kill – pidof – pstree – pwdx – time |
Searching | grep – whereis – which |
User Information | groups – id – lastcomm – last – lid/libuser-lid – logname – members – users – whoami – who – w |
WireGuard VPN | Alpine – CentOS 8 – Debian 10 – Firewall – Ubuntu 20.04 |