Nse skripty. Nmap Help Guide (Man Page). Hledání aktivních počítačů v síti

Nmap je kultovní skener, bez kterého se neobejde téměř žádný hacker, a tak si myslím, že téma rozšiřování jeho schopností mnohé zajímá. Je běžnou praxí používat ve spojení s Nmapem další nástroje. Tento článek bude hovořit o tom, jak snadno automatizovat Nmap pomocí vašich oblíbených nástrojů. Je pohodlnější „stisknout jedno tlačítko“ a získat výsledek, než neustále provádět stejnou sekvenci akcí. Používání skriptů v Nmapu může pomoci hackerům hackovat systémy automatickyji a správci systému kontrolují, zda v systémech nejsou výchozí díry, a včas je opravují.

Pár slov o Nmapu

Jsem si jistý, že většina čtenářů magazínu Hacker ví, co je Nmap, a pravděpodobně jej více než jednou použila k prozkoumání sítě a sběru informací. Pro ty, kteří zapomněli nebo nevědí, pro každý případ připomenu:

  • Nmap je multiplatformní nástroj pro skenování sítě, kontrolu její bezpečnosti, určování verzí OS a různých služeb a mnoho dalšího. Toto je velmi flexibilní a snadno rozšiřitelná utilita, kterou vytváří skriptovací jádro NSE;
  • NSE (Nmap Scripting Engine) je výkonná komponenta Nmap, která uživatelům umožňuje psát skripty pro automatizaci široké škály síťových úloh: flexibilnější interakce se stávajícími schopnostmi Nmap, detekce a zneužití zranitelností a další. NSE je založen na překladači jazyka Lua;
  • Lua je skriptovací jazyk podobný JavaScriptu.

Formulace problému

Jak již bylo zmíněno, dnes budeme rozšiřovat funkčnost Nmap psaním vlastních skriptů. Jakýkoli hack/pentest obvykle začíná průzkumem a sběrem dat. Jednou z prvních věcí, které je třeba zkontrolovat, je přítomnost otevřených portů na studovaném hostiteli a identifikace běžících služeb. Nejlepší nástroj Pravděpodobně neexistuje lepší způsob sběru takových informací než Nmap. Dalším krokem po skenování je obvykle buď vyhledání exploitu pro nalezenou zranitelnou službu, nebo výběr dvojice login:heslo pomocí metody hrubé síly.

Řekněme, že aktivně používáte hrubou sílu THC-Hydra k hádání hesel pro několik služeb (například HTTP-Basic, SSH, MySQL). V tomto případě musíte nastavit hydru pro každou službu zvlášť, musíte si zapamatovat vlastnosti služeb a příznaky nutné ke spuštění hydry. A pokud je potřeba brutálně zlikvidovat mnohem více než pět služeb?... Proč to nezautomatizovat?

Pojďme si tedy napsat jednoduchý skript, který zautomatizuje proces spouštění Hydry pro výběr loginů/hesel pro jednu službu (například PostgreSQL). K tomu budeme potřebovat následující nástroje:

Pokud ještě nemáte nainstalovaný Nmap a/nebo Hydra, okamžitě to opravte:

$ sudo apt-get install nmap hydra

Dobře, začněme. Skripty pro Nmap jsou obyčejné textové soubory s příponou *.nse. Otevřete si tedy svůj oblíbený textový editor a tvořte nový soubor. Použiji Vim:

$ vim hydra.nse

Struktura skriptu NSE

Než začneme psát, je třeba říci, že všechny skripty mají určitou strukturu. Kromě samotného kódu, který automatizuje určité akce, obsahuje popis skriptu (k čemu je určen a jak jej používat), informace o autorovi, licencích, závislosti na jiných skriptech, kategoriích, do kterých skript patří. , a tak dále. Podívejme se blíže na každou z těchto částí.

Popis scénáře

Tato část obsahuje popis skriptu, komentáře od autora, příklad zobrazení výsledku skriptu na obrazovce a další funkce.

Pro náš skript, který vybírá přihlašovací jména/hesla pro PostgeSQL, bude popis vypadat takto:

Popis = [[ Hrubá síla všech služeb spuštěných na cílovém hostiteli. Výsledky jsou vráceny v tabulce s každou cestou, detekovanou metodou, přihlašovacím jménem a/nebo heslem. ]] --- -- @usage -- nmap --script hydra [--script-args "lpath= , ppath= "] -- -- @output -- SLUŽBA STÁTNÍHO PORTU -- 80/tcp otevřený http -- | hydra: -- | cesta metoda přihlašovací heslo -- | 127.0.0.1/private/index.html Průchod protokolu Digest -- |_ 127.0.0.1/simple/index.txt Základní uživatel qwerty -- -- @args hydra.lpath: cesta k souboru s přihlášeními. Například -- nmap --script hydra --script-args="lpath=/home/my_logins.txt" -- @args hydra.ppath: cesta k souboru s hesly. Například -- nmap --script hydra --script-args="ppath=/home/my_pass.txt"

Komentář; -- - víceřádkový komentář; @usage, @output, @args - příklad volání skriptu, zobrazení výsledku na obrazovce, potřebné argumenty při volání.

Nahoře v @usage vidíme formát spuštění skriptu. V tomto případě je zadán pouze název skriptu (hydra). To je možné, pokud je skript umístěn v adresáři / /nmap/scripts/ , jinak k němu budete muset zadat absolutní nebo relativní cestu. V budoucnu umožníme specifikovat argumenty při spouštění skriptu. Argumenty se zadávají pomocí parametru --script-args ". V našem případě zadáme cestu k souboru s loginy (lpath) a k souboru s hesly (ppath). Argumenty jsou volitelné: standardně budeme hledat soubory s názvy login.txt a heslo. txt v aktuálním adresáři.

Kategorie, ve kterých se skript nachází (kategorie)

Při psaní skriptu NSE můžete určit jeho kategorii (nebo několik kategorií). To je užitečné, když uživatel Nmap nechce použít konkrétní skript, ale sadu skriptů, které jsou ve stejné kategorii. Příklady některých kategorií:

  • auth - kategorie, ve které skripty definují autentizační data cílového hostitele;
  • brute - kategorie, jejíž skripty pomáhají určovat přihlašovací jména a hesla pro různé služby;
  • default - kategorie, která obsahuje základní skripty. Existují některá kritéria, která určují, zda skript patří do této kategorie: rychlost skenování, užitečnost, spolehlivost, důvěrnost, vizuální výstup;
  • malware – kategorie, která pomáhá identifikovat škodlivé programy.

Pokud například potřebujete spustit všechny skripty z kategorie auth, příkaz bude vypadat takto:

$ nmap --script=auth example.com

V tomto případě budou skripty této kategorie spouštěny jeden po druhém pro zadaného hostitele. Náš scénář patří do kategorie brute. Do souboru přidáme následující řádek:

Kategorie = ("brute")

Informace o autorovi

Každý skript obsahuje informace o jeho autorovi. V mém případě:

Autor = "Olga Barinová"

Informace o používané licenci

Nmap vítá veškerý vývoj uživatelů a podporuje sdílení, včetně skriptů NSE. Zadáním licence potvrzujete právo sdílet skript s komunitou. Standardní licence Nmap vypadá takto:

Licence = "Stejné jako Nmap – viz http://nmap.org/book/man-legal.html"

Přidejme také tento řádek do našeho skriptu.

Závislosti na jiných skriptech

Tato oblast obsahuje názvy skriptů NSE, které je nutné provést před spuštěním tohoto skriptu, aby se získaly potřebné informace. Například,

Závislosti = ("smb-brute").

V našem případě tato funkce nebude potřeba, takže nebudeme přidávat závislosti.

Hostitel a port

Nmap potřebuje vědět, pro které služby a na kterých portech má skript spustit. Existují pro to speciální pravidla:

  • prerule() - skript se provede jednou před skenováním libovolného hostitele, používá se pro některé síťové operace;
  • hostrule(host) - skript je spuštěn pro každého hostitele z tabulky, kterou bere jako argument;
  • portrule(host, port) - skript se spustí pro každého hostitele a pro každý port z tabulek, které bere jako argumenty;
  • postrule() - skript se spustí jednou po skenování libovolného hostitele. Používá se především pro zpracování získaných výsledků, sčítání statistik a podobně.

Pro vytváření takových pravidel existují knihovny. V našem skriptu stačí zadat číslo portu (5432) a název služby (postgresql) a poté bude fungovat pouze pro tohoto přístavu a servis. Existuje poměrně populární knihovna shortport zabudovaná do NSE, která obsahuje různé metody. Použijeme metodu

Port_or_service (porty, služby, protokoly, stavy)

kde porty jsou čísla portů, služby jsou názvy služeb, protokoly jsou názvy protokolů (například udp), stavy jsou stavy.

Tato metoda vrací hodnotu true, pokud je aktuálně analyzována služba, která se nachází na jednom z portů ze seznamu portů nebo odpovídá nějaké službě ze seznamu služeb, navíc se kontroluje soulad protokolu a stavu, jinak je vrácena hodnota false.
Aby náš skript fungoval s PostgreSQL, musíme přidat číslo portu a název služby:

Portrule = shortport.port_or_service((5432), ("postgresql"))

Propojování knihoven

Odbočme na chvíli od struktury skriptu a zamysleme se nad tím, jak jsou propojeny externí knihovny, k jejichž funkčnosti budeme potřebovat přístup.

Pokračování je dostupné pouze pro členy

Možnost 1. Připojte se ke komunitě „stránky“ a přečtěte si všechny materiály na stránce

Členství v komunitě ve stanoveném období vám umožní přístup ke VŠEM hackerským materiálům, zvýší vaši osobní kumulativní slevu a umožní vám nashromáždit profesionální hodnocení Xakep Score!

Nmap je velmi populární síťový skener s otevřeným zdrojovým kódem, který lze použít na Windows i Linuxu. Nmap neboli Network Mapper byl vyvinut Gordonem Luonem a v současnosti jej používají bezpečnostní profesionálové a správci systémů po celém světě.

Tento program pomáhá správcům systému velmi rychle pochopit, které počítače jsou připojeny k síti, zjistit jejich názvy a také zjistit, jaký software je na nich nainstalován, jaký operační systém a jaké typy filtrů se používají. Funkčnost programu lze rozšířit o vlastní skriptovací jazyk, který správcům umožňuje automatizovat mnoho akcí.

Skripty mohou například automaticky detekovat nové bezpečnostní chyby ve vaší síti. Namp lze používat s dobrými i špatnými úmysly, dávejte pozor, abyste nmap nepoužili v rozporu se zákonem. V tomto tutoriálu se podíváme na to, jak používat namp ke skenování portů operační systém Linux. Nejprve se však musíte pokusit pochopit, jak tento nástroj funguje.

V počítačové sítě všechna připojená zařízení mají svou vlastní IP adresu. Každý počítač podporuje protokol ping, pomocí kterého lze zjistit, zda je připojen k síti. Jednoduše odešleme do počítače požadavek ping, a pokud odpoví, předpokládáme, že je připojen. Nmap má trochu jiný přístup. Počítače také reagují určitým způsobem na určité síťové pakety; obslužný program jednoduše odešle potřebné pakety a podívá se, kteří hostitelé odeslali odpověď.

Ale o tom už asi víte. Zajímavější je, jak Nmap zjišťuje, jaké služby běží na počítači. Podstata všech síťových programů je založena na portech. Chcete-li přijmout zprávu ze sítě, musí program otevřít port na vašem počítači a počkat na příchozí připojení. A abyste mohli odeslat zprávu přes síť, musíte se připojit k jinému portu programu (cílovému). Program pak bude muset otevřít port, na kterém bude čekat na odpověď.

Nástroj nmap při skenování sítě prochází dostupným rozsahem portů a pokouší se připojit ke každému z nich. Pokud je připojení úspěšné, ve většině případů přenosem několika balíčků program může zjistit i verzi software, který naslouchá připojení na tomto portu. Nyní, když jsme probrali základy, pojďme se podívat na to, jak používat nmap ke skenování portů a sítí.

Syntaxe Nmap

Příkaz spuštění Nmap je velmi jednoduchý; vše, co musíte udělat, je předat mu cílovou IP adresu nebo síť v parametrech a v případě potřeby také zadat možnosti:

$ adresa možností nmap

Nyní se podívejme na hlavní možnosti, které budeme v tomto článku potřebovat.

  • -sL- stačí vytvořit seznam běžících hostitelů, ale nekontrolovat porty nmap;
  • -sp- pouze zkontrolovat, zda je hostitel přístupný pomocí příkazu ping;
  • -PN- považovat všechny hostitele za dostupné, i když nereagují na ping;
  • -sS/sT/sA/sW/sM- skenování TCP;
  • -sU- UDP skenování nmap;
  • -sN/sF/sX- skenování TCP NULL a FIN;
  • -sC- spustit skript ve výchozím nastavení;
  • -sI- líné Indle skenování;
  • -p- specifikovat rozsah portů ke kontrole;
  • -sV- podrobné zkoumání portů pro určení verzí služeb;
  • - určit operační systém;
  • -T- rychlost skenování, čím vyšší, tím rychlejší;
  • -D- skenování masky pomocí fiktivních IP;
  • -S- změňte svou IP adresu na zadanou;
  • -E- používat specifické rozhraní;
  • --spoof-mac- nastavte svou MAC adresu;
  • -A- určení operačního systému pomocí skriptů.

Nyní, když jsme probrali všechny základní možnosti, pojďme si promluvit o tom, jak funguje skenování portů nmap.

Jak používat Nmap ke skenování portů v Linuxu

Dále se podívejme na příklady nmap. Nejprve se podíváme na to, jak najít všechna zařízení připojená k síti, k tomu stačí použít volbu -sL a zadat masku naší sítě. v mém případě je to 192.168.1.1/24. Vaše maska lokální síť můžete najít spuštěním příkazu:

Z výstupu pro rozhraní, které používáte, vezměte číslo za lomítkem a před lomítkem uveďte ip vašeho routeru. Příkaz pro skenování sítě nmap bude vypadat takto:

nmap -sL 192.168.1.1/24

Někdy toto skenování nemusí přinést žádné výsledky, protože některé operační systémy mají ochranu proti skenování portů. Ale to lze obejít jednoduše pomocí pingu ke skenování všech IP adres v síti; k tomu existuje možnost -sn:

nmap -sn 192.168.1.1/24

Jak vidíte, program nyní detekoval aktivní zařízení v síti. Dále můžeme skenovat porty nmap pro požadovaný hostitel spuštěním nástroje bez možností:

sudo nmap 192.168.1.1

Nyní vidíme, že máme otevřených několik portů, které všechny používá nějaká služba na cílovém počítači. Každý z nich může být potenciálně zranitelný, takže není bezpečné mít na počítači mnoho otevřených portů. Ale to není vše, co můžete udělat; dále se naučíte používat nmap.

Zjistit více detailní informace o stroji a službách, které na něm běží, můžete použít volbu -sV. Nástroj se připojí ke každému portu a zjistí všechny dostupné informace:

sudo nmap -sV 192.168.1.1

Na našem počítači běží ftp, takže se můžeme pokusit podívat se na tuto službu blíže pomocí standardních skriptů nmap. Skripty umožňují podrobnější kontrolu portu a nalezení možných zranitelností. Chcete-li to provést, použijte volbu -sC a -p k nastavení portu:

sudo nmap -sC 192.168.56.102 -p 21

Spustili jsme výchozí skript, ale existují i ​​jiné skripty, například všechny skripty pro ftp najdete příkazem:

sudo find /usr/share/nmap/scripts/ -name "*.nse" | grep ftp

Pak se pokusíme použít jeden z nich, k tomu ho stačí zadat pomocí volby --script. Nejprve se však můžete podívat na informace o skriptu:

sudo nmap --script-help ftp-brute.nse

Tento skript se pokusí určit přihlašovací jméno a heslo FTP na vzdáleném hostiteli. Poté spusťte skript:

sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21

V důsledku toho skript vyzvedl přihlašovací jméno a heslo, admin/admin. To je důvod, proč nemusíte používat výchozí možnosti přihlášení.

Obslužný program můžete také spustit s volbou -A; aktivuje agresivnější provozní režim nástroje, se kterým získáte většinu informací jedním příkazem:

sudo nmap -A 192.168.1.1

Vezměte prosím na vědomí, že téměř všechny informace, které jsme dříve viděli, jsou zde. Lze jej použít ke zvýšení ochrany tohoto stroje.

závěry

V tomto článku jsme se podívali na to, jak se provádí skenování portů nmap, a také na několik jednoduchých příkladů použití tohoto nástroje. Tyto příkazy nmap mohou být užitečné pro mnoho systémových administrátorů ke zlepšení zabezpečení jejich systémů. To však nejsou všechny možnosti nástroje. Pokračujte v experimentování s nástrojem, abyste se dozvěděli více, ale ne na sítích jiných lidí!

o autorovi

Zakladatel a správce webu, nadšený pro open source software a operační systémy Linuxový systém. V současné době používám Ubuntu jako svůj hlavní OS. Kromě Linuxu mě zajímá vše, co s tím souvisí informační technologie a moderní věda.

  • Zjišťování služeb a jejich verzí
  • Definice OS
  • Možnosti řízení času a produktivity
  • Různé možnosti
  • Interakce za běhu
  • Příklady
  • Informace o skriptech Nmap (v angličtině):

    Skryto před hosty


    Nejnovější verze dokumentace Nmap (v angličtině):

    Skryto před hosty


    Oficiální kniha o Nmap od tvůrců Nmap (v angličtině):

    Skryto před hosty

    Preambule

    nmap - pomůcka pro průzkum sítě a skener portů

    Nmap („Network Mapper“) je open source nástroj pro průzkum sítě a testování zabezpečení. Byl navržen pro rychlé skenování velkých sítí, i když dobře funguje i s jednotlivými cíli. Nmap používá nezpracované IP pakety důmyslným způsobem k určení toho, kteří hostitelé jsou v síti k dispozici, jaké služby (název a verze aplikace) nabízejí, jaké operační systémy (a verze OS) používají, jaké typy paketových filtrů/firewallů používají, a desítky dalších vlastností. . Zatímco Nmap se běžně používá pro testování zabezpečení, mnoho síťových a správci systému je užitečné pro běžné úkoly, jako je monitorování struktury sítě, správa plánů spouštění služeb a sledování doby provozu hostitele nebo služby.

    Výstupem Nmap je seznam naskenovaných cílů s dalšími informacemi pro každý v závislosti na zadaných možnostech. Klíčová informace je „tabulka důležitých portů“. Tato tabulka obsahuje číslo portu, protokol, název služby a stav. Stav může být otevřený, filtrovaný, uzavřený nebo nefiltrovaný. Open znamená, že aplikace na cílovém počítači je připravena navázat spojení/přijímat pakety na tomto portu. Filtrovaný znamená, že port blokuje brána firewall, síťový filtr nebo jiné síťové rušení a Nmap nemůže určit, zda je port otevřený nebo zavřený. Uzavřené porty nejsou spojeny s žádnou aplikací, takže je lze kdykoli otevřít. Porty jsou považovány za nefiltrované, když reagují na požadavky Nmap, ale Nmap nemůže určit, zda jsou otevřené nebo zavřené. Nmap vydává open|filtred a closed|filtred, když nemůže určit, který z těchto dvou stavů popisuje port. Tato tabulka může na vyžádání také poskytnout podrobnosti o verzi softwaru. Při provádění skenování protokolu IP (-sO) poskytuje Nmap informace o podporovaných protokolech IP spíše než o otevřených portech.

    Kromě tabulky důležitých portů může Nmap poskytnout další informace o cílech: vyřešená jména DNS, odhady používaného operačního systému, typy zařízení a adresy MAC.

    Typické skenování pomocí Nmap je ukázáno v příkladu 1. Jediné argumenty použité v tomto příkladu jsou -A, pro určení verze OS, skenování skriptu a trasování; -T4 pro rychlejší provádění; pak dva cílové hostitele.

    Příklad 1: Typický příklad skenování pomocí Nmap:

    # nmap -A -T4 hřiště scanme.nmap.org Spuštění Nmap (https://nmap.org/) Zajímavé porty na scanme.nmap.org (64.13.134.52): (1663 portů naskenovaných, ale nezobrazených níže, je ve stavu : filtrováno) PORT STATE SERVIS VERZE 22/tcp otevřený ssh OpenSSH 3.9p1 (protokol 1.99) 53/tcp otevřená doména 70/tcp uzavřený gopher 80/tcp otevřený http Apache httpd 2.0.52 ((Fedora)) 113/atcp uzavřený typ: univerzální Spuštění: Linux 2.4.X|2.5.X|2.6.X Podrobnosti OS: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Zajímavé porty na hřišti.nmap.org (192.168.0.40 ): (1659 naskenovaných portů, které nejsou zobrazeny níže, je ve stavu: zavřeno) PORT STATE SERVISNÍ VERZE 135/tcp open msrpc Microsoft Windows RPC 139/tcp otevřený netbios-ssn 389/tcp otevřený ldap? 445/tcp otevřít microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp otevřít windows-icfw? 1025/tcp otevřený msrpc Microsoft Windows RPC 1720/tcp otevřený H.323/Q.931 CompTek AquaGateKeeper 5800/tcp otevřený vnc-http RealVNC 4.0 (rozlišení 400x250; port VNC: 5900 MAC/Tc.nc.otevřený) 5900 VNC0nc vNC. Adresa: 00:A0:CC:63:85:4B (Lite-on Communications) Typ zařízení: obecné použití Běh: Microsoft Windows NT/2K/XP Podrobnosti OS: Microsoft Windows XP Pro RC1+ do konečné verze Servisní informace: OS: Windows , Windows XP Nmap dokončen: 2 IP adresy (2 hostitelé nahoře) naskenovány za 88,392 sekund

    Souhrn možností

    Používání:
    nmap [Typy skenování] [Možnosti] (specified_targets)

    URČENÍ CÍLE SKENOVÁNÍ:

    Může pracovat s názvy hostitelů, IP adresami, sítěmi atd.
    Například: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10,0,0-255,1-254
    -iL<ввести_имя_файла>: Import ze seznamu hostitelů/sítí
    -ir<количество хостов>: Vyberte náhodné cíle
    -vyloučit : Vyloučit hostitele/sítě
    –excludefile<файл_с_исключениями>: Vyloučit seznam ze souboru

    DETEKCE HOSTITELE:

    SL: Skenování za účelem vytvoření seznamu – jednoduše vytvořte seznam cílů ke skenování
    -sn: Ping scan - jednoduše zjistěte, zda je hostitel spuštěn
    -Pn: Zacházet se všemi hostiteli jako nahoru - přeskočit detekci hostitele
    -PS/PA/PU/PY[seznam_portů]: TCP SYN/ACK, UDP nebo SCTP ping specifikovaní hostitelé
    -PE/PP/PM: Ping pomocí ICMP požadavků na echo, časové razítko a požadavky na masku sítě
    -PO[seznam_protokolů]: Ping pomocí protokolu IP
    -n/-R: Nikdy nevyřešit DNS/Vždy vyřešit [výchozí: někdy]
    – servery DNS<сервер1[,сервер2],…>: Nastavte si vlastní servery DNS
    –system-dns: Použijte systémový DNS resolver
    –traceroute: Trasování (trasování cesty) ke každému hostiteli

    RŮZNÉ TECHNIKY SKENOVÁNÍ:

    SS/sT/sA/sW/sM: TCP SYN/pomocí systémového volání Connect()/ACK/Window/Maimon scan
    -sU: Skenování UDP
    -sN/sF/sX: skenování TCP Null, FIN a Xmas
    – skenovací příznaky<флаги>: Nastavte si vlastní příznaky TCP
    -sI<зомби_хост[:порт]>: Nečinné skenování
    -sY/sZ: SCTP INIT/COOKIE-ECHO skenování
    -sO: skenování protokolu IP
    -b : FTP skenování odrazů

    DEFINICE PORTŮ A POŘADÍ SKENOVÁNÍ:

    P<диапазон_портов>: Skenování pouze určitých portů
    Příklad: -p22; -pl-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
    -F: Rychlé skenování – Skenování omezeného počtu portů
    -r: Skenovat porty postupně - nenáhodně porty
    – horní porty<количество_портов>: Skenovat<количество_портов>nejběžnější porty
    – poměr portů<рейтинг>: Skenování portů s hodnocením vyšším než<рейтинг>

    DEFINICE SLUŽEB A JEJICH VERZE:

    SV: Prozkoumejte otevřené porty k určení informací o službě/verzi
    –verze-intenzita<уровень>: Nastavte od 0 (snadné) do 9 (vyzkoušejte všechny požadavky)
    –version-light: Omezení na nejlehčí dotazy (intenzita 2)
    –version-all: Použít každý jednotlivý požadavek (intenzita 9)
    –version-trace: Vytiskne podrobné informace o procesu skenování (pro ladění)

    SKENOVÁNÍ POMOCÍ SKRIPTU:

    SC: ekvivalentní s volbou –script=výchozí
    –script= : toto je čárkami oddělený seznam adresářů, souborů skriptů nebo kategorií skriptů
    –script-args=<имя1=значение1,[имя2=значение2,…]>: Předávání argumentů skriptům
    –script-args-file=název souboru: Předá argumenty souboru skriptům NSE
    –script-trace: Tisk všech přijatých a odeslaných dat
    –script-updatedb: Aktualizace databáze skriptů
    –script-help= : Zobrazit nápovědu ke skriptům. Čárkami oddělený seznam skriptů nebo seznam kategorií skriptů.

    DEFINICE OS:

    O: Aktivace funkce detekce OS
    –osscan-limit: Použijte funkci detekce OS pouze pro „nadějné“ hostitele
    –osscan-guess: Odhadnout výsledky detekce OS

    MOŽNOSTI ŘÍZENÍ ČASU A PRODUKTIVITY:

    Možnosti, které vyžadují argument<время>, jsou uvedeny v milisekundách, dokud k hodnotě (např. 30 m) nepřičtete „s“ (sekundy), „m“ (minuty) nebo „h“ (hodiny).
    -T<0-5>: Nastavení šablony nastavení správy času (více je rychlejší)
    –min-hostgroup/max-hostgroup<кол_хостов>: Nastavte velikost skupiny pro paralelní skenování
    –min-paralelismus/max-paralelismus<кол_хостов>: Reguluje paralelizaci požadavků
    –min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout<время>: Upravuje dobu čekání na odpověď na požadavek.
    – maximální počet opakování<количество_попыток>: Nastavuje maximální počet opakovaných přenosů požadavku
    – časový limit hostitele<время>: Zastaví skenování pomalých cílů
    –scan-delay/–max-scan-delay<время>: Upravuje prodlevu mezi požadavky
    – minimální sazba<число>: Odesílejte požadavky s intenzitou ne menší než<число>za sekundu
    – maximální sazba<число>: Odesílejte požadavky s intenzitou nepřesahující<число>za sekundu

    PŘECHÁZENÍ FIREWALLŮ/IDS:

    F; –mtu<значение>: Fragmentujte pakety (volitelné se zadanou hodnotou MTU)
    -D<фикт_хост1,фикт_хост2[,ME],…>: Maskování skenů pomocí fiktivních hostitelů
    -S : Změna adresy zdroje
    -E<интерфейс>: Použijte specifické rozhraní
    -g/–zdrojový-port<номер_порта>: Použijte zadané číslo portu
    – proxy : Přenos připojení přes HTTP/SOCKS4 proxy
    – délka dat<число>: Přidejte libovolná data k odeslaným paketům
    – možnosti IP<опции>: Odešle paket se zadanými možnostmi IP
    –ttl<значение>: Nastavte dobu životnosti (životnost) pole IP
    –spoof-mac : Nastavte si vlastní MAC adresu
    –badsum: Odešle pakety s falešnými kontrolními součty TCP/UDP/SCTP

    VÝSTUP VÝSLEDKŮ:

    ON/-oX/-oS/-oG Výstupní výsledky normální, XML, s| -oA<базовове_имя_файла>: Použijte tři hlavní výstupní formáty najednou
    -v: Zvyšte verbální úroveň (pro zvýšení účinku nastavte dvakrát nebo vícekrát)
    -d: Zvýšení nebo nastavení úrovně ladění (až 9)
    –reason: Zobrazí důvod, proč je port v určitém stavu
    –open: Zobrazí pouze otevřené (nebo případně otevřené) porty
    –packet-trace: Sledování přijatých a odeslaných paketů
    –iflist: Seznam rozhraní a směrovačů (pro ladění)
    –log-errors: Log chyby/varování do výstupního souboru v normálním režimu
    –append-output: Připojuje k výstupním souborům, nikoli je přepisuje
    -životopis<имя_файла>: Pokračovat v přerušeném skenování
    – šablona stylů<путь/URL>: Nastaví šablonu stylů XSL pro převod výstupu XML do HTML
    –webxml: Načte šablonu stylů z Nmap.Org
    –no-stylesheet: Odstraní deklaraci šablony stylů XSL z XML

    RŮZNÉ MOŽNOSTI:

    6: Povolte skenování IPv6
    -A: Povolte detekci OS a verze, skriptované skenování a funkce sledování
    – datadir<имя_директории>: Určuje umístění souborů Nmap
    –send-eth/–send-ip: Použít nezpracovanou vrstvu ethernet/IP
    –privileged: Předpokládejme, že uživatel má všechna oprávnění
    –unprivileged: Naznačuje, že uživatel nemá oprávnění používat raw sockety
    -V: Číslo verze tisku
    -h: Zobrazí tuto stránku nápovědy

    INTERAKTIVNÍ PŘÍKAZY:

    NÁPOVĚDA: Nebude fungovat s „sudo nmap“, takže použijte „sudo –i“
    Při spuštění můžete dotazovat nmap pomocí následujících kláves:
    ? Ukažte tyto informace
    v/V zvýšení/snížení verbality
    d/D zvýšení/snížení ladění
    p/P povolit/zakázat trasování paketů
    a další klíče, které budou vytištěny ve stavu

    PŘÍKLADY:
    Určení cíle skenování

    Na příkazovém řádku Nmap je vše, co není volbou (nebo argumentem možnosti), považováno za cíl kontroly. V nejjednodušším případě se pro skenování použije IP adresa nebo název sítě cílového stroje.

    Někdy je nutné skenovat celou síť. Aby toho dosáhl, Nmap podporuje CIDR adresování. Můžeš přidat /<кол-во бит>na IP adresu nebo název sítě a Nmap prohledá každou IP adresu, pro kterou je první<кол-во бит>stejné jako u zadaného hostitele. Například 192.168.10.0/24 prohledá 256 hostitelů mezi 192.168.10.0 (binární: 11000000 10101000 00001010 00000000) a 192.168.10.25101 (001000000000000000000) 001010 11111111) včetně. 192.168.10.40/24 udělá přesně to samé. S vědomím, že IP adresa scanme.nmap.org je 64.13.134.52, záznam jako scanme.nmap.org/16 naskenuje 65 536 IP adres mezi 64.13.0.0 a 64.13.255.255. Nejmenší přijatelná hodnota je /0, při které bude skenován celý internet. Nejvyšší hodnota je /32, při které bude skenován pouze zadaný hostitel nebo IP adresa, protože všechny bity adresy jsou zakázány.

    Notace CIDR je krátká, ale ne vždy dostatečně flexibilní. Chcete například skenovat 192.168.0.0/16, ale přeskočit všechny adresy IP končící na .0 nebo .255, protože Obvykle se jedná o adresy vysílání. Nmap může toto skenování provést zadáním rozsahů v oktetech. Namísto zadání běžné IP adresy můžete pro každý oktet definovat buď seznam čísel oddělených čárkami, nebo rozsah. Například 192.168.0-255.1-254 předá všechny adresy v rozsahu končícím na .0 a .255. Rozsahy nemusí být zadávány pouze v posledních oktetech: zápis 0-255.0-255.13.37 prohledá všechny internetové adresy končící na 13,37. Tento typ skenování může být užitečný pro brouzdání po internetu a různé studie.

    Adresy IPv6 lze zadat pouze ve formě, která plně odpovídá správné formě zápisu adres IPv6. CIDR a použití rozsahů v oktetech se nevztahují na adresy IPv6, protože používají se zřídka.

    Na příkazovém řádku Nmap můžete předat různé definice cílů, nemusí to být nutně stejný typ. tým nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 udělá to, co očekáváte.

    Cíle skenování se obvykle zadávají na příkazovém řádku a existují různé možnosti, jak řídit výběr cíle:

    IL<имя_файла>(Vstup ze seznamu)

    Čte cíle z<имя_файла>. I když je odesílání velkého seznamu hostitelů ke skenování běžné, není to pohodlné. Například váš server DHCP vám poskytne seznam 10 000 adres, které aktuálně používá, a vy jej chcete prohledat. Nebo možná chcete skenovat všechny IP adresy kromě těch, které jim byly přiřazeny, abyste zjistili neoprávněné použití statických IP adres. Jednoduše vygenerujte seznam hostitelů ke skenování a předejte název souboru Nmapu jako argument pro volbu -iL. Záznamy v souboru mohou být v jakékoli formě přijatelné pro Nmap (IP adresy, názvy sítí, CIDR, IPv6 nebo rozsahy oktetů). Každý záznam musí být oddělen mezerou nebo více, znaky tabulátoru nebo znaky nového řádku. Můžete předat pomlčku (-) jako argument názvu souboru, pokud chcete, aby Nmap četl seznam hostitelů ze standardního vstupu, nikoli ze souboru.

    IR<кол-во хостов>(Vybírá náhodné cíle)

    Pro skenování na celém webu nebo jakýkoli výzkum možná budete muset vybrat cíle náhodně. Argument<кол-во хостов>určuje, kolik IP adres je třeba vygenerovat. Nevhodné IP adresy, jako jsou soukromé, broadcastové nebo nelokalizované rozsahy adres, jsou automaticky přeskočeny. Argument 0 lze předat ke skenování na dobu neurčitou. Mějte na paměti, že některým správcům systému se nemusí líbit neoprávněné skenování jejich sítí a mohou si stěžovat. Tuto možnost použijte na vlastní nebezpečí! Pokud se v deštivém dni nudíte, zkuste nmap -sS -PS80 -iR 0 -p 80 prohledat náhodné webové servery.

    -vyloučit<хост1>[,<хост2>[,…]] (Vyloučit hostitele/sítě)

    Určuje čárkami oddělený seznam cílů, které mají být vyloučeny ze skenování, i když jsou součástí vámi určeného rozsahu skenování. Předaný seznam používá standardní syntaxi Nmap, takže může obsahovat názvy sítí, adresování CIDR, rozsahy oktetů atd. Tato možnost může být užitečná, pokud síť, kterou chcete skenovat, obsahuje servery nebo systémy, které na skenování portů reagují negativně, nebo podsítě spravované jinými lidmi.

    –excludefile<имя_файла>(Vyloučit seznam ze souboru)

    Tato možnost dělá to samé jako –exclude, kromě toho, že cíle, které se mají vyloučit, jsou odděleny mezerami, tabulátory nebo novými řádky<файле>, nikoli na příkazovém řádku.

    nmap [ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }

    Popis

    Nmap(" Síťový mapovač") je nástroj pro průzkum sítě a testování bezpečnosti s otevřeným zdrojovým kódem. Byl navržen pro rychlé skenování velkých sítí, i když dobře funguje i s jednotlivými cíli. Nmap důmyslným způsobem používá nezpracované IP pakety k určení toho, kteří hostitelé jsou v síti k dispozici, jaké služby (název a verze aplikace) nabízejí, jaké operační systémy (a verze OS) používají, jaké typy paketových filtrů/firewallů používají. a mnohem více.další vlastnosti. Zatímco Nmap se obvykle používá pro testování zabezpečení, mnoho systémových administrátorů jej považuje za užitečné pro běžné úkoly, jako je monitorování struktury sítě, správa plánů spouštění služeb a sledování doby provozu hostitele nebo služby.

    Výstupem Nmap je seznam naskenovaných cílů s dalšími informacemi pro každý v závislosti na zadaných možnostech. Klíčová informace je « tabulka důležitých portů» . Tato tabulka obsahuje číslo portu, protokol, název služby a stav. Stav může být otevřený, filtrovaný, uzavřený nebo nefiltrovaný. Open znamená, že aplikace na cílovém počítači je připravena navázat spojení/přijímat pakety na tomto portu. Filtrovany znamena, ze port blokuje firewall, sitovy filtr nebo nejaky jiny nefunkcni sit a Nmap nemuze urcit, zda je port otevreny nebo zavreny. Uzavřené porty nejsou spojeny s žádnou aplikací, ale lze je kdykoli otevřít. Porty jsou považovány za nefiltrované, když reagují na požadavky Nmap, ale Nmap nemůže určit, zda jsou otevřené nebo zavřené. Nmap vydává open|filtred a closed|filtred, když nemůže určit, který z těchto dvou stavů popisuje port. Tato tabulka může na vyžádání také poskytnout podrobnosti o verzi softwaru. Při provádění skenování protokolu IP (-sO) poskytuje Nmap informace o podporovaných protokolech spíše než o otevřených portech.

    Kromě tabulky důležitých portů může Nmap poskytnout další informace o cílech: vyřešená jména DNS, odhady používaného operačního systému, typy zařízení a adresy MAC.

    Typické skenování pomocí Nmap je ukázáno v příkladu 1. Jediné argumenty použité v tomto příkladu jsou -A , pro detekci verze OS, skenování skriptů a sledování; -T4 pro rychlejší provádění; pak dva cílové hostitele.

    Příklad 1: Typický příklad skenování pomocí Nmap

    # nmap -A -T4 scanme..org) Zajímavé porty na scanme.site (64.13.134.52): (1663 naskenovaných, ale nezobrazených portů je ve stavu: filtrováno) PORT STATE SERVISNÍ VERZE 22/tcp open ssh OpenSSH 3.9p1 (protokol 1.99) 53/tcp otevřená doména 70/tcp uzavřený gopher 80/tcp otevřený http Apache httpd 2.0.52 ((Fedora)) 113/tcp uzavřený auth Typ zařízení: obecný účel Spuštění: Linux 2.4.X|2.5.X| Podrobnosti 2.6.X OS: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Zajímavé porty na hřišti..168.0.40): (1659 naskenovaných portů, které nejsou zobrazeny níže, je ve stavu: uzavřeno) PORT STATE SERVIS VERZE 135/tcp otevřít msrpc Microsoft Windows RPC 139/tcp otevřít netbios-ssn 389/tcp otevřít ldap? 445/tcp otevřít microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp otevřít windows-icfw? 1025/tcp otevřený msrpc Microsoft Windows RPC 1720/tcp otevřený H.323/Q.931 CompTek AquaGateKeeper 5800/tcp otevřený vnc-http RealVNC 4.0 (rozlišení 400x250; port VNC: 5900 MAC/Tc.nc.otevřený) 5900 VNC0nc vNC. Adresa: 00:A0:CC:63:85:4B (Lite-on Communications) Typ zařízení: obecné použití Běh: Microsoft Windows NT/2K/XP Podrobnosti OS: Microsoft Windows XP Pro RC1+ do konečné verze Servisní informace: OS: Windows , Windows XP Nmap dokončen: 2 IP adresy (2 hostitelé nahoře) naskenovány za 88,392 sekund


    Nejnovější verzi Nmap lze stáhnout z