<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: manhtml.xml 2991 2005-12-12 10:21:33Z fyodor $ -->
<article id="man">
<artheader>
  <title>Opis programu Nmap</title>
</artheader>
<refentry id="man-nmap1">
  <refmeta>
    <refentrytitle>nmap</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>
  <refnamediv id="man-name">
    <refname>nmap</refname>
    <refpurpose>Narz&#281;dzie do eksploracji sieci i skaner port&#243;w/zabezpiecze&#324;</refpurpose>
  </refnamediv>
  <!-- body begins here -->
  <refsynopsisdiv id="man-synopsis">
    <cmdsynopsis sepchar=" ">
      <command moreinfo="none">nmap</command>
      <arg choice="opt" rep="repeat">
        <replaceable>Typ Skanowania</replaceable>
      </arg>
      <arg choice="opt" rep="norepeat">
        <replaceable>Opcje</replaceable>
      </arg>
      <arg choice="req" rep="norepeat">
        <replaceable>specyfikacja celu</replaceable>
      </arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1 id="man-description">
    <title>Opis</title>

    <para>Nmap (ang. <quote>Network Mapper</quote>) jest narz&#281;dziem open source
    do eksploracji sieci i audyt&#243;w bezpiecze&#324;stwa. Zosta&#322; zaprojektowany do 
    szybkiego skanowania du&#380;ych sieci, ale r&#243;wnie&#380; dzia&#322;a dobrze w stosunku do
    pojedynczych adres&#243;w. Nmap wykorzystuje niskopoziomowe pakiety IP do 
    wykrywania kt&#243;re adresy s&#261; dost&#281;pne w sieci, jakie udost&#281;pniaj&#261; us&#322;ugi 
    (nazwa aplikacji i wersja), na jakich systemach operacyjnych pracuj&#261; (wersja 
    systemu), jakie typy system&#243;w zaporowych (firewall) s&#261; wykorzystywane i 
    dziesi&#261;tek innych cech. Nmap jest powszechnie wykorzystywany do audyt&#243;w 
    bezpiecze&#324;stwa, r&#243;wnie&#380; wielu administrator&#243;w sieci i system&#243;w wykorzystuje
    go wykonywania rutynowych czynno&#347;ci, takich jak inwentaryzacja zasob&#243;w sieci, 
    zarz&#261;dzanie aktualizacjami oprogramowania i monitorowania system&#243;w oraz ich 
    czasu dzia&#322;ania (uptime).</para>

    <para>Wynikiem dzia&#322;ania Nmapa jest lista przeskanowanych adres&#243;w z 
    dodatkowymi informacjami zale&#380;nymi od wykorzystanych opcji. Jedn&#261; z 
    g&#322;&#243;wnych informacji jest <quote>lista interesuj&#261;cych port&#243;w</quote>. 
    Zawiera ona numery port&#243;w wraz z protoko&#322;ami, nazwami us&#322;ugi i 
    wykrytym stanem. Stan mo&#380;e zosta&#263; opisany jako 
    <literal moreinfo="none">otwarty</literal>, 
    <literal moreinfo="none">filtrowany</literal>,
    <literal moreinfo="none">zamkni&#281;ty</literal>, lub 
    <literal moreinfo="none">niefiltrowany</literal>. 
    Otwarty oznacza, &#380;e aplikacja na badanym adresie oczekuje na 
    po&#322;&#261;czenia/pakiety przychodz&#261;ce na ten port.
    <literal moreinfo="none">Filtrowany</literal> oznacza, &#380;e system zaporowy 
    lub inne urz&#261;dzenie blokuj&#261;ce ruch sieciowy nie dopuszcza 
    komunikacji do tego portu i z tego powodu Nmap nie jest w stanie okre&#347;li&#263; 
    czy badany port jest <literal moreinfo="none">otwarty</literal> czy 
    <literal moreinfo="none">zamkni&#281;ty</literal>. 
    <literal moreinfo="none">Zamkni&#281;ty</literal> port nie posiada aplikacji, 
    kt&#243;ra obs&#322;uguje komunikacj&#281; sieciow&#261;. Porty sklasyfikowane jako 
    <literal moreinfo="none">niefiltrowane</literal> odpowiada&#322;y na zapytania 
    Nmapa, jednak nie by&#322;o mo&#380;liwe okre&#347;lenie, czy by&#322;y one otwarte czy 
    zamkni&#281;te. Nmap raportuje kombinacje stan&#243;w 
    <literal moreinfo="none">otwarty|filtrowany</literal> i 
    <literal moreinfo="none">zamkni&#281;ty|filtrowany</literal> je&#347;li nie jest w 
    stanie okre&#347;li&#263;, kt&#243;ry z dw&#243;ch podanych stan&#243;w lepiej opisuje stan portu.
    Lista port&#243;w mo&#380;e r&#243;wnie&#380; zawiera&#263; informacje o wykrytych wersjach 
    oprogramowania, je&#347;li zosta&#322;a w&#322;&#261;czona detekcja wersji. Je&#347;li zosta&#322;a 
    wybrana opcja skanowania dost&#281;pnych protoko&#322;&#243;w (<option>-sO</option>), 
    Nmap zamiast listy port&#243;w dostarczy informacji na temat dost&#281;pno&#347;ci 
    poszczeg&#243;lnych protoko&#322;&#243;w IP.</para>

    <para>Poza list&#261; interesuj&#261;cych port&#243;w, Nmap mo&#380;e dostarczy&#263; dodatkowych
    informacje na temat badanych adres&#243;w, takich jak odwrotne nazwy DNS, 
    prawdopodobne systemy operacyjne, typu urz&#261;dze&#324; i adresy sprz&#281;towe 
    MAC.</para>

    <para>Typowy wynik skanowania Nmapa jest przedstawiony w 
    <xref linkend="man-ex-repscan"/>. W tym przypadku wykorzystano tylko opcj&#281;
    <option>-A</option>, wykrywaj&#261;c&#261; wersje systemu operacyjnego, 
    <option>-T4</option> dla szybszego dzia&#322;ania i dwa adresy docelowe.</para>

<example id="man-ex-repscan"><title>Przyk&#322;adowe wyniki skanowania Nmapa</title>
<screen format="linespecific">
# nmap -A -T4 scanme.nmap.org playground

Starting nmap ( http://www.insecure.org/nmap/ )
Interesting ports on scanme.nmap.org (205.217.153.62):
(The 1663 ports scanned but not shown below are in state: filtered)
PORT    STATE  SERVICE VERSION
22/tcp  open   ssh     OpenSSH 3.9p1 (protocol 1.99)
53/tcp  open   domain
70/tcp  closed gopher
80/tcp  open   http    Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11
Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)

Interesting ports on playground.nmap.org (192.168.0.40):
(The 1659 ports scanned but not shown below are in state: closed)
PORT     STATE SERVICE       VERSION
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn
389/tcp  open  ldap?
445/tcp  open  microsoft-ds  Microsoft Windows XP microsoft-ds
1002/tcp open  windows-icfw?
1025/tcp open  msrpc         Microsoft Windows RPC
1720/tcp open  H.323/Q.931   CompTek AquaGateKeeper
5800/tcp open  vnc-http      RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900)
5900/tcp open  vnc           VNC (protocol 3.8)
MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Pro RC1+ through final release
Service Info: OSs: Windows, Windows XP

Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds

</screen>
</example>

<para>Najnowsz&#261; wersj&#281; Nmapa mo&#380;na pobra&#263; z 
<ulink url="http://www.insecure.org/nmap/"/>. Najnowsza wersja dokumentacji man
jest dost&#281;pna pod adresem 
<ulink url="http://www.insecure.org/nmap/man/"/>.</para>

  </refsect1>

  <refsect1 id="man-translator">
    <title>Uwagi do t&#322;umaczenia</title>
    <para>Przemys&#322;aw Galczewski
    <email>sako(at)avet.com.pl</email>
    (<ulink url="http://www.avet.com.pl"/>)
    </para>
    
    <para>Dokument ten zawiera nieoficjalne polskie t&#322;umaczenie 
    <ulink url="http://www.insecure.org/nmap/man/">oryginalnej dokumentacji 
    Nmapa</ulink> w wersji 2991. Do&#322;o&#380;y&#322;em wszelkich stara&#324;, aby by&#322;o ono jak 
    najbardziej zbli&#380;one do orygina&#322;u, a przy tym fachowe i zrozumia&#322;e. 
    Nie jest przy tym gwarantowane, &#380;e jest ono tak samo dok&#322;adne i aktualne jak
    oficjalna wersja angielska. Dokument ten mo&#380;e by&#263; modyfikowany i
    rozpowszechniany na zasadach <ulink
    url="http://creativecommons.org/licenses/by/2.5/">Creative
    Commons Attribution License</ulink>.
    Polska wersja tego dokumentu jest dost&#281;pna w formatach
    <ulink url="http://www.insecure.org/nmap/man/pl/">HTML</ulink>, 
    <ulink url="http://www.insecure.org/nmap/data/man-xlate/nmap-pl.1">NROFF</ulink> i
    <ulink url="http://www.insecure.org/nmap/data/man-xlate/nmap-man-pl.xml">XML</ulink>.
    Wszelkie uwagi
    dotycz&#261;ce t&#322;umaczenia prosz&#281; kierowa&#263; bezpo&#347;rednio do mnie.</para>

  </refsect1>  
  
  <refsect1 id="man-briefoptions">
    <title>Skr&#243;cona lista opcji</title>

<para>Skr&#243;cona lista opcji jest wy&#347;wietlana przy uruchomieniu Nmapa bez 
dodatkowych parametr&#243;w, a jej najnowsza wersja jest zawsze dost&#281;pna pod adresem
<ulink url="http://www.insecure.org/nmap/data/nmap.usage.txt"/>.
Skr&#243;cona lista pozwala &#322;atwiej zapami&#281;ta&#263; najpopularniejsze opcje, ale 
nie zast&#261;pi wg&#322;&#281;bienia sie w reszt&#281; tej dokumentacji. 
Wiele z pozosta&#322;ych opcji nie jest nawet zawartych na li&#347;cie skr&#243;conej.</para>

<para>
<literallayout format="linespecific" class="normal">U&#380;ycie: nmap [Typ(y) skanowania] [Opcje] {specyfikacja celu}
SPECYFIKACJA CELU:
  Mo&#380;na poda&#263; nazwy host&#243;w, adresy IP, sieci, itp.
  Przyk&#322;ady: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
  -iL &lt;plik_wej&#347;ciowy&gt;: Odczytanie listy host&#243;w/sieci z pliku
  -iR &lt;ilo&#347;&#263; host&#243;w&gt;: Wybranie losowych adres&#243;w
  --exclude &lt;host1[,host2][,host3],...&gt;: Wy&#322;&#261;czenie host&#243;w/sieci
  --excludefile &lt;plik_wy&#322;&#261;cze&#324;&gt;: Wy&#322;&#261;czenie listy host&#243;w/sieci z pliku
WYKRYWANIE HOST&#211;W:
  -sL: Lista skanowania - tylko wy&#347;wietla list&#281; host&#243;w do skanowania
  -sP: Skanowanie Ping - tylko wykrywanie dost&#281;pno&#347;ci host&#243;w
  -P0: Traktuj wszystkie hosty jako dos&#281;pne - pomijanie wykrywania
  -PS/PA/PU [lista_port&#243;w]: Wykrywanie TCP SYN/ACK lub UDP na wybranych portach
  -PE/PP/PM: Zykrywanie za pomoc&#261; ICMP echo, timestamp, zapytania o mask&#281; sieci
  -n/-R: Nie u&#380;ywaj zapyta&#324; DNS/Zawsze odpytuj DNS [domy&#347;lnie: czasami]
  --dns-servers &lt;serv1[,serv2],...&gt;: U&#380;ywaj okre&#347;lonych serwer&#243;w DNS
  --system-dns: U&#380;ywaj systemowych ustawie&#324; DNS
TECHNIKI SKANOWANIA:
  -sS/sT/sA/sW/sM: Skanowania TCP SYN/Connect()/ACK/Window/Maimon
  -sN/sF/sX: Skanowania TCP Null, FIN i Xmas
  --scanflags &lt;flagi&gt;: R&#281;czne narzucanie flag TCP
  -sI &lt;host zombie[:port]&gt;: Idlescan
  -sO: Skanowanie protoko&#322;&#243;w IP
  -b &lt;host po&#347;redni ftp&gt;: Skanowanie FTP bounce
SPECYFIKACJA PORT&#211;W I KOLEJNO&#346;CI SKANOWANIA:
  -p &lt;zakres port&#243;w&gt;: Skanuj tylko podane porty
    Przyk&#322;ad: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
  -F: Szybkie skanowanie - tylko porty zawarte w pliku nmap-services
  -r: Skanuj porty kolejno - wy&#322;&#261;czenie losowania kolejno&#347;ci
DETEKCJA US&#321;UG/WERSJI:
  -sV: Wykrywaj wersj&#281; us&#322;ugi na otwartych portach
  --version-intensity &lt;poziom&gt;: Od 0 (tylko niekt&#243;re) do 9 (U&#380;ywaj wszystkich test&#243;w)
  --version-light: Limituj do najpopularniejszych test&#243;w (poziom 2)
  --version-all: U&#380;ywaj wszystkich test&#243;w (poziom 9)
  --version-trace: Pokazuj dok&#322;adne informacje podczas skanowania (do usuwania b&#322;&#281;d&#243;w)
DETEKCJA OS:
  -O: W&#322;&#261;czenie wykrywania systemu operacyjnego
  --osscan-limit: Limitowanie wykrywania OS do obiecuj&#261;cych host&#243;w
  --osscan-guess: Zgaduj wersj&#281; OS bardziej agresywnie
WYDAJNO&#346;&#262; I ZALE&#379;NO&#346;CI CZASOWE:
  -T[0-5]: Ustaw szablon (wy&#380;szy jest szybszy)
  --min-hostgroup/max-hostgroup &lt;rozmiar&gt;: Rozmiary grup do r&#243;wnoleg&#322;ego skanowania
  --min-parallelism/max-parallelism &lt;msec&gt;: Zr&#243;wnoleglenie test&#243;w
  --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout &lt;msec&gt;: Specyfikuje czas test&#243;w
  --max-retries &lt;ilo&#347;&#263;&gt;: Ustala ilo&#347;&#263; mo&#380;liwych powt&#243;rze&#324; testu
  --host-timeout &lt;msec&gt;: Pomijaj po zadanym czasie
  --scan-delay/--max-scan-delay &lt;msec&gt;: Ustalenie op&#243;&#378;nienia pomi&#281;dzy testami
OPCJE FIREWALL/IDS:
  -f; --mtu &lt;warto&#347;&#263;&gt;: fragmentacja pakiet&#243;w (opcjonalnie z podanym MTU)
  -D &lt;decoy1,decoy2[,ME],...&gt;: Ukrywaj skanowanie za pomoc&#261; innych host&#243;w
  -S &lt;Adres_IP&gt;: Podmieniaj adres nadawcy
  -e &lt;interfejs&gt;: U&#380;ywaj podanego interfejsu
  -g/--source-port &lt;portnum&gt;: U&#380;ywaj podanego portu &#378;r&#243;d&#322;owego
  --data-length &lt;num&gt;: Dodawaj losowe dane do wysy&#322;anych pakiet&#243;w
  --ttl &lt;warto&#347;&#263;&gt;: Ustaw czas &#380;ycia pakiet&#243;w
  --spoof-mac &lt;adres mac/prefix/producent&gt;: Podmieniaj adres MAC
  --badsum: Wysy&#322;aj pakiety z nieprawid&#322;ow&#261; sum&#261; kontroln&#261; TCP/UDP
WYJ&#346;CIE:
  -oN/-oX/-oS/-oG &lt;plik&gt;: Zapisz wyniki w podanym pliku normalnie, w XML, s|&lt;rIpt kIddi3
     i formacie grepowalnym
  -oA &lt;nazwabazowa&gt;: Zapisz wyniki w trzech formatach jednocze&#347;nie
  -v: Podwy&#380;szenie poziomu raportowania (podw&#243;jne u&#380;ycie powi&#281;ksza efekt)
  -d[poziom]: Ustaw lub podwy&#380;sz poziom debugowania (do najwy&#380;szego 9)
  --packet-trace: Pokazuj wszystkie wysy&#322;ane i odbierane pakiety
  --iflist: Wy&#347;wietl list&#281; interfejs&#243;w i routingu (do wykrywania b&#322;&#281;d&#243;w)
  --append-output: Do&#322;&#261;cz nowe wyniki do ju&#380; istniej&#261;cych w pliku
  --resume &lt;nazwapliku&gt;: Wzn&#243;w przerwane skanowanie
  --stylesheet &lt;&#347;cie&#380;ka/URL&gt;: plik styli XSL do konwersji wynik&#243;w w XML do formatu HTML
  --webxml: Domy&#347;lny styl z Insecure.Org
  --no-stylesheet: Wy&#322;&#261;czenie dodawania styli do plik&#243;w z wynikami XML
R&#211;&#379;NE:
  -6: W&#322;&#261;czenie skanowania IPv6
  -A: W&#322;&#261;czenie detekcji OS i wersji us&#322;ug
  --datadir &lt;katalog&gt;: Podanie katalogu z plikami danych Nmapa
  --send-eth/--send-ip: Wysy&#322;aj za pomoc&#261; ramek ethernet lub pakiet&#243;w IP
  --privileged: Zak&#322;adaj &#380;e u&#380;ytkownik ma odpowiednie uprawnienia
  -V: Wy&#347;wietl numer wersji Nmapa
  -h: Wy&#347;wietl stron&#281; pomocy
PRZYK&#321;ADY:
  nmap -v -A scanme.nmap.org
  nmap -v -sP 192.168.0.0/16 10.0.0.0/8
  nmap -v -iR 10000 -P0 -p 80
</literallayout>

</para>

  </refsect1>

  <refsect1 id="man-target-specification">
    <title>Specyfikacja celu</title>

<para>Wszystko co nie jest opcj&#261; Nmapa w parametrach wywo&#322;ania (lub jej 
argumentem) jest traktowane jako specyfikacja celu skanowania.
Najprostszym przypadkiem jest sam adres do przeskanowania.</para>

<para>Czasami chcesz przeskanowa&#263; ca&#322;&#261; sie&#263;, dlatego Nmap obs&#322;uguje format 
CDIR. Mo&#380;esz do&#322;&#261;czy&#263; do adresu /<replaceable>ilo&#347;&#263;bit&#243;w</replaceable> i nmap
przeskanuje ka&#380;dy adres, kt&#243;ry zawiera si&#281; w podanym zakresie.
Na przyk&#322;ad, 192.168.10.0/24 przeskanuje 256 adres&#243;w pomi&#281;dzy 192.168.10.0 
(binarnie: <literal moreinfo="none">11000000 10101000 00001010 
00000000</literal>) i 192.168.10.255 (binarnie: 
<literal moreinfo="none">11000000 10101000 00001010 11111111</literal>) 
w&#322;&#261;cznie. Podanie 192.168.10.40/24 spowoduje dok&#322;adnie takie samo zachowanie. 
Za&#322;&#243;&#380;my, &#380;e host scanme.nmap.org ma adres 205.217.153.62, podanie 
scanme.nmap.org/16 spowoduje przeskanowanie 65,536 adres&#243;w IP pomi&#281;dzy 
205.217.0.0 i 205.217.255.255. Najmniejsz&#261; dopuszczalna warto&#347;&#263; to /1,
co stanowi po&#322;ow&#281; Internetu. Najwi&#281;ksza warto&#347;&#263; to 32, kt&#243;ra oznacza 
skanowanie pojedynczego adresu IP.</para>

<para>Notacja CIDR jest kr&#243;tka i zwi&#281;z&#322;a, jednak nie zawsze wystarczaj&#261;co 
elastyczna. Na przyk&#322;ad, chcesz przeskanowa&#263; 192.168.0.0/16 z pomini&#281;ciem 
wszystkich adres&#243;w ko&#324;cz&#261;cych si&#281; .0 i .255, poniewa&#380; s&#261; one najcz&#281;&#347;ciej 
adresami typu broadcast. Nmap obs&#322;uguje to poprzez podawanie zakres&#243;w adres&#243;w 
za pomoc&#261; oktet&#243;w. Zamiast podawa&#263; normalny adres IP, mo&#380;esz poda&#263; list&#281; 
adres&#243;w lub zakres&#243;w oddzielon&#261; przecinkami. Na przyk&#322;ad 192.168.0-255.1-254 
pominie wszystkie adresy ko&#324;cz&#261;ce si&#281; .0 lub .255.
Zakresy nie s&#261; limitowane do ko&#324;cowych oktet&#243;w: podanie 0-255.0-255.13.37 
pozwoli na przeskanowanie wszystkich adres&#243;w ko&#324;cz&#261;cych si&#281; 13.37. Tego typu
skanowania mog&#261; by&#263; przydatne podczas przeprowadzania bada&#324; Internetu.</para>

<para>Adresy IPv6 mog&#261; by&#263; podawane jedynie w pe&#322;nej formie IPv6 lub nazwy 
hosta. Zapis z wykorzystaniem CIDR i zakres&#243;w nie jest obs&#322;ugiwany przy IPV6, 
jednak rzadko by&#322;oby to przydatne.</para>

<para>Nmap akceptuje podawanie wielu host&#243;w w linii polece&#324; i nie musz&#261; one 
by&#263; tego samego typu. Komenda <command moreinfo="none">nmap scanme.nmap.org
192.168.0.0/8 10.0.0,1,3-7.0-255</command> zrobi to co powinna.</para>

<para>Zwykle adresy s&#261; podawane w linii polece&#324;, jednak poni&#380;sze opcje 
pozwalaj&#261; na alternatywn&#261; specyfikacj&#281; celu:</para>

    <variablelist>
      <varlistentry>
        <term>
          <option>-iL &lt;plik_wej&#347;ciowy&gt;</option> (Odczytanie z pliku)
        </term>
        <listitem>
          <para>odczytuje specyfikacj&#281; celu z pliku
          <replaceable>plik-wej&#347;ciowy</replaceable>. Podawanie d&#322;ugiej listy 
          adres&#243;w z linii polece&#324; jest dosy&#263; niewygodne. Na przyk&#322;ad Tw&#243;j 
          serwer DHCP mo&#380;e posiada&#263; list&#281; 10,000 aktualnie dzier&#380;awionych 
          adres&#243;w, kt&#243;re chcesz przeskanowa&#263;. Mo&#380;liwe r&#243;wnie&#380;, &#380;e chcesz 
          przeskanowa&#263; wszystkie adresy IP z <emphasis>wykluczeniem</emphasis>
          aktualnie dzier&#380;awionych aby uzyska&#263; list&#281; nielegalnie przypisanych
          adres&#243;w statycznych. Po prostu wygeneruj list&#281; adres&#243;w i podaj j&#261; 
          Nmapowi jako argument do parametru <option>-iL</option>. 
          Poszczeg&#243;lne definicje mog&#261; by&#263; zgodne z dowolnym formatem 
          akceptowanym przez Nmapa w linii polece&#324; (adres IP, nazwa, CIDR, 
          IPv6 lub zakres). Ka&#380;dy wpis musi by&#263; oddzielony od nast&#281;pnego za 
          pomoc&#261; jednej (lub wiecej) spacji, znak&#243;w tabulacji lub znak&#243;w 
          nowej linii. Mo&#380;esz r&#243;wnie&#380; poda&#263; znak 
          (<literal moreinfo="none">-</literal>) zamiast nazwy pliku je&#347;li 
          chesz aby Nmap pobra&#322; adresy ze standardowego wej&#347;cia zamiast z 
          pliku.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-iR &lt;ilo&#347;&#263; host&#243;w&gt;</option> (Wybierz losowe cele)
        </term>
        <listitem>
          <para>Do przeprowadzania bada&#324; Internetu, mo&#380;esz u&#380;ywa&#263; wyboru 
          losowych adres&#243;w. Argument <replaceable>ilo&#347;&#263; host&#243;w</replaceable>
          informuje Nmapa ile losowych adres&#243;w ma wygenerowa&#263;. Adresy prywatne,
          typu multicast lub niewykorzystywane s&#261; automatycznie pomijane 
          przy generowaniu. Argument <literal moreinfo="none">0</literal> 
          pozwala na przeprowadzanie skanowania bez ko&#324;ca. Pami&#281;taj, &#380;e 
          niekt&#243;rzy administratorzy nie lubi&#261; skanowania ich sieci i mo&#380;e si&#281;
          im to nie spodoba&#263;. U&#380;ywaj tej opcji na w&#322;asne ryzyko! Je&#347;li 
          poczujesz si&#281; naprawd&#281; znudzony w deszczowe popo&#322;udnie, wyprubuj 
          komend&#281; <command moreinfo="none">nmap -sS -PS80 -iR 0 -p 
          80</command> do wykrycia losowych serwer&#243;w WWW do przegl&#261;dania 
          udost&#281;pnianych przez nie stron.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--exclude
          &lt;host1[,host2][,host3],...&gt;</option> (Wy&#322;&#261;czenie host&#243;w/sieci)
        </term>
        <listitem>
          <para>Podana lista cel&#243;w do wy&#322;&#261;czenia z zakresu skanowania, je&#347;li 
          wchodz&#261; w zakres aktualnego skanowania. Lista musi by&#263; podana 
          zgodnie ze standardowym formatem akceptowanycm przez Nmapa, wi&#281;c mo&#380;e 
          zawiera&#263; nazwy, adresy w formacie CDIR, zakresy, itp. Opcja ta jest
          przydatna, je&#347;li sie&#263; kt&#243;r&#261; chcesz przeskanowa&#263; zawiera systemy 
          nietykalne lub krytyczne, o kt&#243;rych wiadomo, &#380;e nie toleruj&#261; dobrze 
          skanowania lub te&#380; sieci administrowane przez innych ludzi.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--excludefile &lt;plik_wy&#322;&#261;cze&#324;&gt;</option> (Lista wy&#322;&#261;cze&#324; z pliku)
        </term>
        <listitem>
          <para>Opcja ta oferuje tak&#261; sam&#261; funkcjonalno&#347;&#263; jak 
          <option>--exclude</option> z t&#261; ro&#380;nic&#261;, &#380;e wykluczone cele 
          (oddzielone spacjami, znakami tabulacji lub nowej linii) s&#261; pobierane
          z pliku <replaceable>plik_wy&#322;&#261;cze&#324;</replaceable>, a nie z linii 
          polece&#324;.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="man-host-discovery">
    <title>Wykrywanie host&#243;w</title>
 
   <para>Jednym z pierwszych krok&#243;w rekonesansu sieciowego jest redukcja 
   (czasami ogromnych) zakres&#243;w adres&#243;w IP do listy aktywnych lub 
   interesuj&#261;cych host&#243;w. Skanowanie ka&#380;dego portu na ka&#380;dym adresie
   IP jest wolne i przewa&#380;nie niepotrzebne. Oczywi&#347;cie to co czyni host
   interesuj&#261;cym g&#322;&#243;wnie zale&#380;y od celu skanowania. Administratorzy sieci
   mog&#261; by&#263; zainteresowani hostami udost&#281;pniaj&#261;cymi okre&#347;lon&#261; us&#322;ug&#281; podczas
   gdy audytorzy bezpiecze&#324;stwa mog&#261; chcie&#263; przyjrze&#263; si&#281; ka&#380;demu urz&#261;dzeniu
   posiadaj&#261;cemu adres IP. Administratorowi mo&#380;e wystarcza&#263; wykorzystanie
   pinga ICMP do zlokalizowania host&#243;w w jego wewn&#281;trznej sieci, podczas gdy
   audytor przeprowadzaj&#261;cy zewn&#281;trzne testy penetracyjne mo&#380;e wykorzystywa&#263;
   dziesi&#261;tki r&#243;&#380;nych test&#243;w do omini&#281;cia regu&#322; filtrowania systemu 
   zaporowego.</para>

    <para>Poniewa&#380; niezb&#281;dne s&#261; r&#243;&#380;ne metody wykrywania host&#243;w, Nmap oferuje 
    szeroki wachlarz opcji pozwalaj&#261;cych na wybieranie wykorzystywanych technik.
    Wykrywanie host&#243;w cz&#281;sto jest zwane skanowaniem Ping, jednak wykracza 
    daleko poza proste wysy&#322;anie zapytania ICMP echo request znanego z 
    programu <application moreinfo="none">ping</application>.
    U&#380;ytkownik mo&#380;e pomin&#261;&#263; etap wykrywania poprzez wykorzystanie opcji skanowania
    listy (<option>-sL</option>), poprzez wy&#322;&#261;czenie pingowania
    (<option>-P0</option>) lub wykorzystania r&#243;&#380;nych kombinacji wieloportowego
    badania za pomoc&#261; test&#243;w TCP SYN/ACK, UDP, i ICMP. Celem tych test&#243;w jest
    uzyskanie informacji o adresach IP, kt&#243;re s&#261; aktualnie dost&#281;pne (s&#261; 
    wykorzystywane przez urz&#261;dzenie sieciowe lub komputer). W przypadku wielu
    sieci tylko ma&#322;y procent wykorzystywanych adres&#243;w IP jest r&#243;wnocze&#347;nie 
    aktywnych. Jest to szczeg&#243;lnie powszechne w sieciach prywatnych zgodnych 
    z adresacj&#261; RFC1918, takich jak 10.0.0.0/8. Ta sie&#263; zawiera 16 milion&#243;w
    adres&#243;w IP, ale widzia&#322;em nie raz firmy wykorzystuj&#261;ce nieca&#322;y tysi&#261;c z 
    nich. Opcja wykrywania host&#243;w pozwala na szybkie wykrycie rzeczywi&#347;cie 
    wykorzystywanych adres&#243;w IP z ca&#322;ej dost&#281;pnej puli.</para>

    <para>Je&#347;li nie podano opcji wybieraj&#261;cej metod&#281; wykrywania host&#243;w, Nmap
          wysy&#322;a pakiety TCP ACK na port 80 i zapytanie ICMP Echo Request query
          do ka&#380;dego badanego adresu. Wyj&#261;tkiem od tej regu&#322;y jest skanowanie 
          ARP przeprowadzane dla aktualnego segmentu sieci ethernet. W 
          przypadku uruchamiania przez nie uprzywilejowanych u&#380;ytkownik&#243;w 
          system&#243;w UNIX, wysy&#322;any jest pakiet SYN zamiast ACK z wykorzystaniem
          wywo&#322;ania systemowego <function moreinfo="none">connect()</function>.
          Ustawienia domy&#347;lne s&#261; to&#380;same z opcjami <option>-PA -PE</option>.
          Takie wykrywanie host&#243;w jest najcz&#281;&#347;ciej wystarczaj&#261;ce podczas 
          skanowania sieci lokalnej, jednak podczas audyt&#243;w bezpiecze&#324;stwa
          zalecane jest wykorzystywanie bardziej zaawansowanych opcji.</para>
    
    <para>Opcje <option>-P*</option> (kt&#243;re wybieraj&#261; spos&#243;b pingowania) mog&#261;
    by&#263; &#322;&#261;czone. Mo&#380;esz poprawic dok&#322;adno&#347;&#263; wykrywania host&#243;w za systemem 
    zaporowym poprzez stosowanie wielu r&#243;&#380;nych port&#243;w/flag TCP i typ&#243;w ICMP.
    Zwracam uwag&#281;, &#380;e wykrywanie host&#243;w  ARP (<option>-PR</option>) jest 
    z za&#322;o&#380;enia w&#322;&#261;czane podczas test&#243;w sieci lokalnej w ramach tego samego 
    segmentu, nawet je&#347;li podasz inne opcje <option>-P*</option>, poniewa&#380;
    praktycznie zawsze tak jest szybciej i efektywniej.</para>

    <para>Opcje kontroli wykrywania host&#243;w.</para>
    <variablelist>

      <varlistentry>
        <term>
        <option>-sL</option> (Lista skanowania)</term>
        <listitem>
          <para>Lista skanowania jest okrojon&#261; funkcj&#261; wykrywania host&#243;w, kt&#243;ra
          po prostu wy&#347;wietla wszystkie adresy z podanych zakres&#243;w skanowania i
          nie wysy&#322;a &#380;adnych pakiet&#243;w do nich. Domy&#347;lnie Nmap wykonuje 
          odwrotne zapytania DNS o badane adresy aby pozna&#263; ich nazwy. Cz&#281;sto
          niespodziank&#261; jest jak du&#380;o informacji mog&#261; udzieli&#263; ju&#380; same nazwy
          host&#243;w. Na przyk&#322;ad 
          <literal moreinfo="none">fw.chi.playboy.com</literal> jest systemem 
          zaporowym w biurze Playboy Enterprises w Chicago. Na ko&#324;cu Nmap 
          podaje tak&#380;e ca&#322;kowit&#261; liczb&#281; adres&#243;w IP. Lista skanowania jest 
          dobrym sposobem na sprawdzenie i uzyskanie pewno&#347;ci, &#380;e prawid&#322;owo
          podano zakres skanowania. Je&#347;li nie rozpoznajesz nazw domen na 
          uzyskanej li&#347;cie, warto sprawdzi&#263; podany zakres, co pozwala unik&#261;&#263;
          niepotrzebnego skanowania sieci nieznanej firmy.</para>

          <para>Ide&#261; tej opcji jest wy&#347;wietlanie prostej listy adres&#243;w, z tego 
          powodu bardziej zaawansowana funkcjonalno&#347;&#263; taka jak skanowanie 
          port&#243;w, wykrywanie systemu operacyjnego czy pingowanie nie mo&#380;e by&#263;
          &#322;&#261;czone z t&#261; metod&#261;. Je&#347;li chcesz wy&#322;&#261;czy&#263; pingowanie podczas 
          skanowania, poczytaj na ten temat w opisie opcji 
          <option>-P0</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sP</option> (Skanowanie Ping)</term>
        <listitem>

           <para>Ta opcja nakazuje Nmapowi przeprowadza&#263; <emphasis>tylko</emphasis>
           skanowanie typu Ping (wykrywanie host&#243;w), a wynikiem jej
           dzia&#322;ania jest lista aktywnych host&#243;w. Dodatkowe testy (takie jak
           skanowanie port&#243;w lub wykrywanie systemu operacyjnego) nie s&#261; 
           przeprowadzane. Metoda ta idzie krok dalej ni&#380; lista skanowania i 
           mo&#380;e by&#263; wykorzystywana w podobnym celu. Pozwala na przeprowadzenie
           delikatnego rekonesansu bez zwracania zbytniej uwagi. Posiadanie
           wiedzy na temat ilo&#347;ci aktywnych host&#243;w jest bardziej warto&#347;ciowe
           dla atakuj&#261;cych ni&#380; sama lista adres&#243;w zawieraj&#261;ca adres IP i
           nazw&#281; hosta.</para>

           <para>R&#243;wnie&#380; administratorzy system&#243;w cz&#281;sto korzystaj&#261; z tej 
           opcji. Pozwala ona na &#322;atwe i szybkie okre&#347;lenie liczby host&#243;w w 
           sieci lub monitorowanie dost&#281;pno&#347;ci serwer&#243;w. Opcja ta cz&#281;sto jest
           nazywna Ping Sweep i daje bardziej wiarygodne wyniki ni&#380; pingowanie 
           adresu broadcast, poniewa&#380; niekt&#243;re adresy mog&#261; na niego nie 
           odpowiedzie&#263;.</para>

           <para>Domy&#347;lnie opcja <option>-sP</option> wysy&#322;a pakiety ICMP echo 
           request i pakiety TCP na port 80. W przypadku wykonywania z konta 
           nie uprzywilejowanego u&#380;ytkownika wysy&#322;ane s&#261; pakiety SYN (z 
           wykorzystaniem funkcji systemowej 
           <function moreinfo="none">connect()</function>) na port 80 badanego
           hosta. Je&#347;li uprzywilejowany u&#380;ytkownik pr&#243;buje przeskanowa&#263; adresy
           w lokalnej sieci ethernet, wykorzystywane s&#261; zapytania ARP 
           (<option>-PR</option>), chyba &#380;e dodano opcj&#281; 
           <option>--send-ip</option>.
           Dla wi&#281;kszej wygody opcja <option>-sP</option> mo&#380;e by&#263; &#322;&#261;czona w 
           dowolny spos&#243;b z innymi metodami wykrywania host&#243;w (opcje 
           <option>-P*</option>, nie dotyczy <option>-P0</option>).
           
           Je&#347;li wybrano kt&#243;ry&#347; z typ&#243;w test&#243;w i numer portu, nie s&#261; 
           wykorzystywne domy&#347;lne ustawienia (ACK i echo request). 
           Wykorzystywanie tych opcji jest szczeg&#243;lnie zalecane, je&#347;li
           pomi&#281;dzy badanym systemem, a hostem na kt&#243;rym jest uruchomiony 
           Nmap jest system zaporowy, inaczej niekt&#243;re (lub wszystkie) hosty
           nie zostan&#261; wykryte.</para>

        </listitem>
      </varlistentry>


      <varlistentry>
        <term>
          <option>-P0</option> (Bez pinga)
        </term>
        <listitem>
          <para>Ta opcja wy&#322;&#261;cza ca&#322;kowicie wykrywanie host&#243;w. Normalnie
          Nmap pr&#243;buje wykry&#263; aktywne adresy przed rozpocz&#281;ciem w&#322;a&#347;ciwego
          skanowania. Domy&#347;lnie Nmap przeprowadza tylko testy takie jak 
          skanowanie port&#243;w, wykrywanie wersji i systemu operacyjnego tylko
          dla host&#243;w, kt&#243;re zosta&#322;y wcze&#347;niej wykryte jako aktywne. Wy&#322;&#261;czenie
          wykrywania host&#243;w za pomoc&#261; opcji <option>-P0</option> powoduje, 
          &#380;e Nmap pr&#243;buje wykona&#263; wszystkie &#380;adane typy skanowania na 
          <emphasis>ka&#380;dym</emphasis> podanym adresie IP. Je&#347;li wi&#281;c jako cel 
          w linii plece&#324; podano klas&#281; B (/16), wszystkie 65,536 adres&#243;w 
          zostanie przeskanowane. Drugi znak w opcji <option>-P0</option> jest
          zerem, a nie liter&#261; O. Wykrywanie host&#243;w jest pomijane jak przy 
          wy&#347;wietlaniu listy skanowania, jednak zamiast zatrzyma&#263; si&#281; i 
          wy&#347;wietli&#263; list&#281;, Nmap kontynuuje i przeprowadza za&#322;o&#380;one testy
          na ka&#380;ym adresie IP, tak jak by by&#322; wykryty jako aktywny.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-PS [listaport&#243;w]</option> (TCP SYN Ping)</term>
        <listitem>

          <para>Opcja ta powoduje wysy&#322;anie pustych pakiet&#243;w TCP z ustawion&#261;
          flag&#261; SYN. Domy&#347;lnie port docelowy to 80 (konfigurowalne przed 
          kompilacj&#261; za pomoc&#261; sta&#322;ej DEFAULT_TCP_PROBE_PORT w pliku
          <filename moreinfo="none">nmap.h</filename>), ale inny port mo&#380;e by&#263;
          podany jako parametr. Mo&#380;liwe jest r&#243;wnie&#380; podanie listy port&#243;w, 
          odzielonych przecinkami 
          (np. <option>-PS22,23,25,80,113,1050,35000</option>), co spowoduje
          przeprowadzenie test&#243;w na wszystkich podanych portach r&#243;wnolegle.
          </para>

          <para>Ustawiona flaga SYN sugeruje badanemu systemowi, &#380;e pr&#243;bujesz
          nawi&#261;za&#263; z nim po&#322;&#261;czenie. Normalnie zdalny port b&#281;dzie zamkni&#281;ty
          i zostanie wys&#322;any z powrotem pakiet z flag&#261; RST (reset). Je&#347;li 
          port b&#281;dzie otwarty, host b&#281;dzie pr&#243;bowa&#322; wykona&#263; drugi krok z 
          tr&#243;jstopniowego procesu nawi&#261;zywania po&#322;&#261;czenia odpowiadaj&#261;c za
          pomoc&#261; pakietu TCP SYN/ACK. Nmap zamiast wys&#322;a&#263; pakiet ACK, kt&#243;ry by
          pomy&#347;lnie zako&#324;czy&#322; nawi&#261;zywanie po&#322;&#261;czenia, w tym momencie przerwie 
          po&#322;&#261;czenie wysy&#322;aj&#261;c pakiet RST. Pakiet RST jest wysy&#322;any przez 
          kernel systemu na kt&#243;rym pracuje Nmap automatycznie, w odpowiedzi
          na niespodziwany pakiet SYN/ACK, a nie przez samego Nmapa.</para>

          <para>Nmap nie zwraca uwagi czy port jest otwarty czy zamkni&#281;ty.
          W zale&#380;no&#347;ci od uzyskanej om&#243;wionej wcze&#347;niej odpowiedzi (RST lub 
          SYN/ACK) host jest uznawany za dost&#281;pny.</para>

          <para>W systemach UNIX, tylko u&#380;ytkownik uprzywilejowany - 
          <literal moreinfo="none">root</literal> - mo&#380;e wysy&#322;a&#263; niskopoziomowe
          pakiety raw TCP. W przypadku u&#380;ytkownik&#243;w nie posiadaj&#261;cych 
          odpowiednich uprawnie&#324; wykorzystywane jest obej&#347;cie w postaci 
          wykorzystania funkcji systemowej connect() do wykonania po&#322;&#261;cze&#324; ze
          wskazanymi portami. Je&#347;li connect() zwr&#243;ci poprawno&#347;&#263; wykonania 
          operacji lub b&#322;&#261;d odmowy po&#322;&#261;czenia ECONNREFUSED, stos TCP musia&#322;
          otrzyma&#263; pakiet z flagami SYN/ACK lub RST i host jest uznawany za
          dost&#281;pny. Je&#347;li pr&#243;ba nawi&#261;zania po&#322;&#261;czenia zosta&#322;a przerwana po 
          przekroczeniu maksymalnego czasu oczekiwania, host jest oznaczany 
          jako niedost&#281;pny. To obej&#347;cie jest r&#243;wnie&#380; wykorzystywane dla
          protoko&#322;u IPv6, poniewa&#380; wysy&#322;anie niskopoziomowych pakiet&#243;w raw TCP
          nie jest jeszcze dost&#281;pne w Nmapie.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-PA [lista port&#243;w]</option> (TCP ACK Ping)</term>
        <listitem>
          <para>Metoda TCP ACK ping jest dosy&#263; podobna do powy&#380;ej opisanego
          SYN ping. R&#243;&#380;nica, jak &#322;atwo zgadn&#261;&#263;, polega na wykorzystaniu flagi 
          ACK zamiast SYN. Flaga ACK jest wykorzystywana do potwierdzania 
          otrzymania danych za pomoc&#261; utworzonego wcze&#347;niej po&#322;&#261;czenia TCP,
          jednak w tym wypadku po&#322;&#261;czenie takie nie istnieje. Z tego powodu
          badany system powinien zawsze odpowiedzie&#263; pakietem z flag&#261; RST,
          &#347;wiadcz&#261;c&#261; o nie isnieniu takiego po&#322;&#261;czenia.</para>

          <para>Opcja <option>-PA</option>, tak jak SYN, u&#380;ywa portu numer 80 i
          r&#243;wnie&#380; mo&#380;e przyjmowa&#263; list&#281; port&#243;w jako argument (w takim samym 
          formacie). Je&#347;li program zosta&#322; uruchomiony przez 
          nie uprzywilejowanego u&#380;ytkownika lub badany jest adres IPv6, 
          wykorzystywane jest opisane wcze&#347;niej obej&#347;cie za pomoc&#261; connect().
          Obej&#347;cie to nie jest idealne, poniewa&#380; funkcja connect() wysy&#322;a 
          pakiet SYN zamiast oczekiwanego ACK.</para>

          <para>Powodem udost&#281;pniania zar&#243;wno metody SYN jak i ACK jest
          zwi&#281;kszenie szansy na omini&#281;cie systemu zaporowego. Wielu 
          administrator&#243;w konfiguruje routery i proste systemy zaporowe tak, 
          &#380;eby blokowa&#322;y przychodz&#261;ce pakiety SYN, poza przychodz&#261;cymi do 
          publicznych serwer&#243;w takich jak WWW czy pocztowych. Zabezpiecza to
          przed przychodzeniem innych po&#322;&#261;cze&#324; przy jednoczesnym nie
          zak&#322;ucaniu pozosta&#322;ej transmisji wychodz&#261;cej do Internetu. Takie
          bezstanowe (non-stateful) rozwi&#261;zanie zajmuje ma&#322;o zasob&#243;w systemu
          zaporowego/routera i jest szeroko wspierane przez filtry sprz&#281;towe i 
          programowe. Linuxowy firewall Netfilter/iptables dla wygody posiada 
          opcj&#281; <option>--syn</option>, kt&#243;ra implementuje takie w&#322;a&#347;nie
          bezstanowe filtrowanie. W przypadku takiego systemu zaporowego testy
          wykorzystuj&#261;ce metod&#281; SYN ping (<option>-PS</option>) zostan&#261;
          prawdopodobnie zablokowane w przypadku zamkni&#281;tych port&#243;w. W tym
          przypadku metoda ACK pozwoli na obej&#347;cie tych zabezpiecze&#324;.</para>

          <para>Innym popularnym typem jest firewall wykorzystuj&#261;cy stany 
          (stateful) do blokowania niechcianych pakiet&#243;w. Taka funkcjonalno&#347;&#263; 
          jest najcz&#281;&#347;ciej spotykana w wysokiej klasy systemach zaporowych, kt&#243;re
          staj&#261; si&#281; z roku na rok coraz popularniejsze. Linuxowy 
          Netfilter/iptables posiada opcj&#281; <option>--state</option>, kt&#243;ra 
          kategoryzuje pakiety na podstawie stanu po&#322;&#261;czenia. Metoda SYN
          prawdopodobnie b&#281;dzie dzia&#322;a&#322;a poprawnie dla tego typu system&#243;w,
          ale ju&#380; pakiet z ACK zostanie rozpoznany jako nieprawid&#322;owy i 
          zostanie zablokowany. Rozwi&#261;zaniem tego problemu jest wykorzystywanie 
          jednocze&#347;nie obu metod SYN i ACK poprzez podanie parametr&#243;w
          <option>-PS</option> i <option>-PA</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-PU [listaport&#243;w]</option> (UDP Ping)</term>
        <listitem>

          <para>Kolejn&#261; metod&#261; wykrywania host&#243;w jest UDP ping, kt&#243;ry wysy&#322;a
          puste (o ile nie wykorzystano opcji <option>--data-length</option>)
          pakiety UDP na wskazane porty. Lista port&#243;w jest podawana w takim 
          samym formacie jak dla wcze&#347;niej opisanych opcji <option>-PS</option> 
          i <option>-PA</option>. Je&#347;li nie podano numer&#243;w port&#243;w, domy&#347;lnie
          u&#380;ywany jest port 32338. Port ten mo&#380;e by&#263; zmieniony przed
          kompilacj&#261; poprzez zmian&#281; sta&#322;ej DEFAULT_UDP_PROBE_PORT w pliku
          <filename moreinfo="none">nmap.h</filename>. Wyb&#243;r tak ma&#322;o 
          popularnego portu zosta&#322; podyktowany ch&#281;ci&#261; unikni&#281;cia wysy&#322;ania
          pakiet&#243;w do otwartych port&#243;w, co w przypadku tego testu nie 
          przynios&#322;o by oczekiwanego efektu.</para>

          <para>W przypakdu kiedy port jest zamkni&#281;ty na badaniej maszynie, w 
          odpowiedzi na pakiet UDP powinien zosta&#263; odes&#322;any pakiet ICMP
          port unreachable oznaczaj&#261;cy brak mo&#380;liwo&#347;ci komunikacji z wybranym 
          portem. Po otrzymaniu takiej odpowiedzi Nmap oznacza host jako 
          dost&#281;pny. Inne typy odpowiedzi ICMP, takie jak host/sie&#263; niedost&#281;pna
          czy przekroczony czas &#380;ycia TTL oznaczaj&#261;, &#380;e badany host nie jest
          dost&#281;pny, podobnie interpretowany jest brak odpowiedzi. Je&#347;li badany 
          port jest otwarty, wi&#281;kszo&#347;&#263; typowych us&#322;ug zignoruje pusty pakiet i
          nie zostanie wys&#322;ana &#380;adna informacja zwrotna. W&#322;a&#347;nie dla tego 
          domy&#347;lnie testowanym portem jest 31338, kt&#243;ry jest bardzo rzadko
          wykorzystywany. Wiele us&#322;ug, takich jak chargen, odpowie na pusty
          pakiet co spowoduje, &#380;e Nmap uzna host za dost&#281;pny.</para>

          <para>G&#322;&#243;wn&#261; zalet&#261; tego typu skanowania jest fakt, &#380;e omija systemy
          zaporowe i filtry skupiaj&#261;ce sie tylko na TCP. Przyk&#322;adowo, mia&#322;em
          kiedy&#347; szerokopasmowy router bezprzewodowy Linksys BEFW11S4. 
          Zewn&#281;trzny interfejs tego urz&#261;dzenia filtrowa&#322; domy&#347;lnie wszystkie
          porty TCP, za to testy UDP zwraca&#322;y odpowiedzi ICMP port unreachable,
          co ujawnia istnienie urz&#261;dzenia.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-PE</option>;
        <option>-PP</option>;
        <option>-PM</option> (Typy ICMP Ping)</term>
        <listitem>

          <para>Dodatkowo poza opisanymi wcze&#347;niej metodami wykrywania host&#243;w 
          TCP i UDP, Nmap mo&#380;e wysy&#322;a&#263; standardowe pakiety ICMP znane z
          typowego programu <application moreinfo="none">ping</application>.
          Nmap wysy&#322;a pakiety ICMP typu 8 (echo request) do badanego hosta i
          oczekuje typu 0 (echo reply) w odpowiedzi. Niestety wiele host&#243;w i 
          system&#243;w zaporowych blokuje tego typu pakiety, zamiast odpowiada&#263;
          prawid&#322;owo i zgodnie z 
          <ulink url="http://www.rfc-editor.org/rfc/rfc1122.txt">RFC
          1122</ulink>. Z tego powodu skanowania nieznanych host&#243;w w internecie
          za pomoc&#261; tej metody przewa&#380;nie nie s&#261; wiarygodne. Jednak&#380;e 
          administratorzy system&#243;w monitoruj&#261;cy wewn&#281;trzne sieci mog&#261; z 
          powodzeniem efektywnie wykorzystywa&#263; t&#261; metod&#281;. Takie wykorzystanie
          zapyta&#324; ICMP echo request jest mo&#380;liwe za pomoc&#261; opcji
          <option>-PE</option>.</para>
          
          <para>Zapytanie echo request jest standardowym zapytaniem ICMP ping,
          jednak Nmap nie poprzestaje na tym. Standard ICMP 
          (<ulink url="http://www.rfc-editor.org/rfc/rfc792.txt">RFC
          792</ulink>) opisuje tak&#380;e zapytania timestamp request, information
          request, i address mask request o kodach odpowiednio 13, 15 i 17.
          Podczas kiedy za&#322;o&#380;onym efektem dzia&#322;ania tych zapyta&#324; jest uzyskanie
          informacji typu maska sieci czy aktualny czas, mog&#261; by&#263; one 
          wykorzystane do wykrywania aktywno&#347;ci host&#243;w. System kt&#243;ry odpowiada,
          jest uznawany za aktywny. Nmap nie obs&#322;uguje zapyta&#324; information 
          request, jako &#380;e nie s&#261; one cz&#281;sto spotykane. RFC 1122 zaleca, &#380;e
          <quote>host NIE POWINIEN obs&#322;ugiwa&#263; tych zapyta&#324;</quote>.
          Zapytania timestamp i address mask mog&#261; by&#263; wysy&#322;ane z wykorzystaniem
          opcji odpowiednio <option>-PP</option> i <option>-PM</option>.
          Odpowiedzi timestamp reply (ICMP kod 14) lub address mask reply 
          (kod 18) ujawniaj&#261; aktywno&#347;&#263; hosta. Te dwa zapytania mog&#261; by&#263; 
          pomocne, kiedy administrator specyficznie blokuje zapytania
          echo request zapominaj&#261;c przy tym blokowa&#263; inne typy ICMP, kt&#243;re
          mog&#261; by&#263; wykorzystane w tym samym celu.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-PR</option> (ARP Ping)</term>
        <listitem>

          <para>Jednym z najcz&#281;&#347;ciej spotykanych scenariuszy wykorzystania 
          Nmapa jest skanowanie sieci lokalnej ethernet. W wi&#281;kszo&#347;ci sieci
          LAN, w szczeg&#243;lno&#347;ci wykorzystuj&#261;cych adresacj&#281; prywatn&#261; zalecan&#261;
          przez RFC1918, wi&#281;kszo&#347;&#263; adres&#243;w IP nie jest wykorzystywana. Kiedy
          Nmap pr&#243;buje wys&#322;a&#263; pakiet raw IP taki jak ICMP echo
          request, by poprawnie zaadresowa&#263; ramk&#281; ethernet system operacyjny 
          musi okre&#347;li&#263; (ARP) docelowy adres sprz&#281;towy koresponduj&#261;cy z 
          docelowym adresem IP.
          
          Takie zachowanie jest cz&#281;sto powolne i problematyczne, poniewa&#380;
          systemy operacyjne nie zosta&#322;y napisane z uwzgl&#281;dnieniem potrzeby
          wysy&#322;ania milion&#243;w zapyta&#324; ARP o niedost&#281;pne hosty w kr&#243;tkim 
          czasie.</para>

          <para>Skanowanie ARP wykorzystuje zoptymalizowany algorytm Nmapa
          do wysy&#322;ania zapyta&#324; ARP. Po otrzymaniu odpowiedzi Nmap nie musi
          si&#281; nawet martwi&#263; o oparte na IP pakiety ping, poniewa&#380; ju&#380; wie,
          &#380;e host jest aktywny. Takie zachowanie pozwala na du&#380;o szybsze
          i bardziej wiarygodne skanowanie. Z tego powodu zachowanie takie 
          jest domy&#347;lne podczas skanowania sieci, kt&#243;r&#261; Nmap wykryje jako sie&#263;
          lokaln&#261; nale&#380;&#261;c&#261; do tego samego segmentu. Nawet je&#347;li zostan&#261; podane
          inne typy skanowania ping (takie jak <option>-PE</option> lub
          <option>-PS</option>), Nmap u&#380;ywa ARP zamiast nich do wykrywaia 
          host&#243;w w lokalnej sieci ethernet. Je&#347;li nie chcesz u&#380;ywa&#263; ARP do
          skanowania, dodaj opcj&#281; <option>--send-ip</option>.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-n</option> (Wy&#322;&#261;cz zapytania DNS)
        </term>
        <listitem>
          <para>Nakazuje Nmapowi <emphasis>nigdy</emphasis> nie u&#380;ywa&#263; zapyta&#324;
          odrotnych do serwer&#243;w DNS o nazwy przypisane do adres&#243;w IP. Jako &#380;e 
          zapytania DNS s&#261; najcz&#281;&#347;ciej d&#322;ugo trwaj&#261;, opcja ta przyspiesza 
          prac&#281;.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-R</option> (Wymu&#347; zapytania DNS)
        </term>
        <listitem>
          <para>Nakazuje Nmapowi <emphasis>zawsze</emphasis> wykonywa&#263; 
          odwrotne zapytania do serwera DNS o nazwy dla skanowanych adres&#243;w
          IP. Domy&#347;lnie zapytania s&#261; wykonywane tylko dla aktywnych 
          host&#243;w.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--system_dns</option> (U&#380;ywaj systemowego DNS)
        </term>
        <listitem>
          <para>Domy&#347;lnie Nmap okre&#347;la nazwy dla adres&#243;w IP poprzez wysy&#322;anie
          zapyta&#324; bezpo&#347;rednio do serwer&#243;w DNS skonfigurowanych w systemie, o
          ile s&#261; dost&#281;pne. Wiele zapyta&#324; (cz&#281;sto dziesi&#261;tki) jest wykonywanych 
          r&#243;wnolegle dla uzyskania wiekszej szybko&#347;ci. Dodanie tej opcji 
          wymusza wykorzystywanie rozwi&#261;zywania nazw za 
          po&#347;rednictwem systemu operacyjnego (ka&#380;dorazowo o pojedyncze IP za
          pomoc&#261; funkcji getnameinfo()). Ta opcja jest wolniejsza i jest 
          u&#380;yteczna tylko w sporadycznych przypadkach, chyba &#380;e w Nmapie jest
          b&#322;&#261;d w kodzie DNS - prosze si&#281; z nami skontaktowa&#263; w tym przypadku.
          W przypadku skanowania sieci IPv6, rozwi&#261;zywanie nazw jest zawsze
          wykonywane z wykorzystaniem systemu operacyjnego.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--dns_servers &lt;server1[,server2],...&gt;
          </option> (Serwery do wykonywania zapyta&#324; DNS)
        </term>
        <listitem>
          <para>Domy&#347;lnie Nmap pr&#243;buje odczyta&#263; serwery DNS wpisane do pliku
          resolv.conf (UNIX) lub rejestru (Win32). Alternatywnie, mo&#380;esz u&#380;y&#263;
          tej opcji do podania w&#322;asnych serwer&#243;w. Opcja ta nie jest 
          uwzgl&#281;dniana, je&#347;li u&#380;yto r&#243;wnie&#380; opcji <option>--system_dns</option>
          lub skanowane s&#261; adresy IPv6. U&#380;ywanie wielu serwer&#243;w DNS jest cz&#281;sto
          du&#380;o szybsze, ni&#380; tylko jednego.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="man-port-scanning-basics">
    <title>Podstawy skanowania port&#243;w</title>

          <para>Przez lata funkcjonalno&#347;&#263; Nmapa by&#322;a sukcesywnie powi&#281;kszana,
          z pocz&#261;tku by&#322; tylko efektywnym skanerem port&#243;w i to nadal pozostaje
          jego g&#322;&#243;wn&#261; funkcj&#261;. Prosta komenda <command moreinfo="none">nmap
          <replaceable>target</replaceable></command> skanuje ponad 1660 port&#243;w
          TCP na wybranym <replaceable>celu skanowania</replaceable>. Podczas
          kiedy wi&#281;kszo&#347;&#263; skaner&#243;w tradycyjnie zalicza wszystkie porty do 
          kategorii otwarty lub zamkni&#281;ty, Nmap jest du&#380;o dok&#322;adniejszy.
          Rozr&#243;&#380;nia sze&#347;&#263; mo&#380;liwych stan&#243;w ka&#380;dego portu:
          <literal moreinfo="none">otwarty</literal>,
          <literal moreinfo="none">zamkni&#281;ty</literal>, 
          <literal moreinfo="none">filtrowany</literal>,
          <literal moreinfo="none">niefiltrowany</literal>,
          <literal moreinfo="none">otwarty|filtrowany</literal>, or
          <literal moreinfo="none">zamkni&#281;ty|filtrowany</literal>.</para>

<para>Te stany nie s&#261; rzeczywistymi stanami port&#243;w, opisuj&#261; jak Nmap je widzi.
Na przyk&#322;ad, skanowanie Nmapa z wn&#281;trza sieci pokazuje port 135/TCP jako
otwarty, podczas kiedy skanowanie przez Internet mo&#380;e okre&#347;li&#263; stan portu
jako <literal moreinfo="none">filtrowany</literal>.</para>

<variablelist><title>Sze&#347;&#263; stan&#243;w port&#243;w Nmapa</title>

  <varlistentry><term>otwarty</term>
  <listitem><para>Aplikacja aktywnie akceptuje na tym porcie po&#322;&#261;czenia TCP 
  lub pakiety UDP. Znalezienie takich port&#243;w jest g&#322;&#243;wnym celem skanowania.
  Osoby obeznane z bezpiecze&#324;stwem wiedz&#261;, &#380;e ka&#380;dy otwarty port to potencjalny
  cel ataku. Atakuj&#261;cy i wykonuj&#261;cy testy penetracyjne chc&#261; wykorzysta&#263; luki w 
  oprogramowaniu poprzez otwarte porty, podczas gdy administratorzy staraj&#261; si&#281;
  zamyka&#263; lub chroni&#263; je za pomoc&#261; system&#243;w zaporowych przed niepo&#380;&#261;danymi
  u&#380;ytkownikami. Otwarte porty s&#261; tak&#380;e interesuj&#261;ce przy skanowaniach nie
  zwi&#261;zanych z ocen&#261; bezpiecze&#324;stwa, poniewa&#380; pokazuj&#261; us&#322;ugi dost&#281;pne w sieci.
  </para></listitem></varlistentry>

  <varlistentry><term>zamkni&#281;ty</term>

  <listitem><para>Zamkni&#281;ty port jest dost&#281;pny (odbiera i odpowiada na 
  pakiety Nmapa), ale nie ma &#380;adnej aplikacji, kt&#243;ra by obs&#322;u&#380;y&#322;a po&#322;aczenie.
  Porty te mog&#261; by&#263; pomocne przy sprawdzaniu czy host jest aktywny (wykrywanie 
  host&#243;w lub skanowanie Ping) oraz przy wykrywaniu systemu operacyjnego.
  Poniewa&#380; s&#261; dost&#281;pne zamkni&#281;te porty, warto skanowa&#263; dalej w poszukiwaniu 
  otwartych. Administratorzy mog&#261; chcie&#263; blokowa&#263; takie porty za pomoc&#261; 
  system&#243;w zaporowych, wtedy ich stan zostanie okre&#347;lony jako filtrowany, 
  opisany dalej.</para></listitem></varlistentry>

  <varlistentry><term>filtrowany</term>

  <listitem><para>Nmap nie mo&#380;e okre&#347;li&#263; czy port jest otwarty z powodu
  filtrowania komunikacji. Filtrowanie mo&#380;e by&#263; przeprowadzane na
  dedykowanym urz&#261;dzeniu, za pomoc&#261; regu&#322; routera lub programowego firewalla
  na ho&#347;cie. Takie porty s&#261; frustruj&#261;ce dla atakuj&#261;cych, poniewa&#380; dostarczaj&#261;
  znikomych ilo&#347;ci informacji. Porty czasami odpowiadaj&#261; komunikatami ICMP 
  takim jak typ 3 kod 13 (destination unreachable: communication 
  administratively prohibited), ale filtry blokuj&#261; wysy&#322;anie takiego komunikatu
  bez wysy&#322;ania typowej odpowiedzi. Takie zachowanie zmusza Nmapa do 
  kilkukrotnego powtarzania pakiet&#243;w na wypadek ich zagini&#281;cia na przyk&#322;ad
  na skutek przeci&#261;&#380;enia sieci, co spowalnia skanowanie w spos&#243;b drastyczny.
  </para></listitem></varlistentry>

  <varlistentry><term>niefiltrowany</term>
  <listitem><para>Stan niefiltrowane oznacza &#380;e port jest dost&#281;pny, ale Nmap
  nie jest w stanie ustali&#263; czy port jest otwarty czy zamkni&#281;ty. Tylko 
  skanowanie ACK, kt&#243;re jest u&#380;ywane do mapowania regu&#322; firewalla, mo&#380;e
  przypisa&#263; portom taki stan. Skanowanie niefiltrowanych port&#243;w za pomoc&#261;
  innych typ&#243;w skanowania takich jak Window, SYN czy FIN mo&#380;e pom&#243;c okre&#347;li&#263;
  czy port jest otwarty czy zamkni&#281;ty.</para></listitem></varlistentry>

  <varlistentry><term>otwarty|filtrowany</term>
  <listitem><para>Nmap podaje taki stan w przypadku port&#243;w, dla kt&#243;rych nie
  jest w stanie okre&#347;li&#263; czy port jest otwarty, czy filtrowany. Taki zachowanie
  wyst&#281;puje podczas typ&#243;w skanowania, przy kt&#243;rych porty nie daj&#261; odpowiedzi.
  Brak odpowiedzi mo&#380;e r&#243;wnie&#380; oznacza&#263;, &#380;e filtr pakiet&#243;w zablokowa&#322; po&#322;&#261;czenie
  lub wysy&#322;an&#261; odpowied&#378;. Z tego powodu Nmap nie ma pewno&#347;ci czy port jest 
  otwarty, czy filtrowany. W ten spos&#243;b klasyfikuj&#261; porty skanowania UDP, FIN,
  Null, Xmas i skanowanie protoko&#322;&#243;w.</para></listitem></varlistentry>

  <varlistentry><term>zamkni&#281;ty|filtrowany</term>
  <listitem><para>Ten stan jest u&#380;ywany przez Nmapa do oznaczania port&#243;w, dla
  kt&#243;rych nie jest mo&#380;liwe ustalenie czy port jest zamkni&#281;ty czy filtrowany.
  Taki stan mo&#380;e si&#281; pojawia&#263; tylko podczas skanowania IPID Idle.
  </para></listitem></varlistentry>
  </variablelist>
</refsect1>

<refsect1 id="man-port-scanning-techniques">
  <title>Techniki skanowania port&#243;w</title>

<para>Jako pocz&#261;tkuj&#261;cy mechanik samochodowy, mog&#322;em godzinami m&#281;czy&#263; si&#281; z
wykonaniem naprawy posiadanymi narz&#281;dziami (m&#322;otek, ta&#347;ma izolacyjna, 
klucz francuski itp.). Kiedy popad&#322;em w depresj&#281; i w ko&#324;cu zaprowadzi&#322;em
mojego gruchota do prawdziwego mechanika, pogrzeba&#322; w przepastnej skrzyni
z narz&#281;dziami i wyci&#261;gn&#261;&#322; specjalne narz&#281;dzie, kt&#243;rym wykona&#322; napraw&#281; 
b&#322;yskawicznie i bez k&#322;opot&#243;w. Sztuka skanowania polega dok&#322;adnie na tym samym.
Eksperci znaj&#261; dziesi&#261;tki typ&#243;w skanowania i wybieraj&#261; jedn&#261; adekwatn&#261; (lub 
kombinacj&#281; kilku) do danego zadania. Z drugiej strony niedo&#347;wiadczeni 
u&#380;ytkownicy i script kiddies pr&#243;buj&#261; rozwi&#261;za&#263; ka&#380;dy problem za pomoc&#261; 
domy&#347;lnego skanowania SYN. Nmap jest darmowy i dost&#281;pny dla wszyskich, 
w zwi&#261;zku z tym jedyn&#261; barier&#261; jest odpowiednia wiedza.
To oczywi&#347;cie bije na g&#322;ow&#281; &#347;wiat motoryzacyjny, gdzie trzeba posiada&#263; du&#380;e
umiej&#281;tno&#347;ci, &#380;eby domy&#347;li&#263; si&#281;, &#380;e potrzebne jest bardzo specyficzne 
narz&#281;dzie, ale wtedy potrzeba jeszcze du&#380;o pieni&#281;dzy na jego zakup.</para>

<para>Wi&#281;kszo&#347;&#263; typ&#243;w skanowania jest dost&#281;pna tylko dla uprzywilejowanych 
u&#380;ytkownik&#243;w, poniewa&#380; tylko oni mog&#261; wysy&#322;a&#263; pakiety raw. 
Takim u&#380;ytkownikiem w przypadku system&#243;w UNIX jest root. U&#380;ywanie konta
administratora w systemach Windows jest zalecane, jednak Nmap przewa&#380;nie 
dzia&#322;a poprawnie z konta zwyk&#322;ego u&#380;ytkownika przy zainstalowanej w systemie
bibliotece WinPcap. Wym&#243;g posiadania uprawnie&#324; u&#380;ytkownika root by&#322; powa&#380;nym
ograniczeniem kiedy pojawi&#322; si&#281; Nmap w 1997 roku, jako &#380;e u&#380;ytkownicy posiadali
dost&#281;p g&#322;&#243;wnie tylko do wsp&#243;&#322;dzielonych kont. &#346;wiat si&#281; zmieni&#322;. Komputery s&#261; 
ta&#324;sze, coraz wi&#281;cej ludzi ma bezpo&#347;redni dost&#281;p do Internetu i coraz 
powszechniejsze staj&#261; si&#281; komputery z systemami UNIX (w&#322;&#261;czaj&#261;c Linuxa i MAC
OS X). Dost&#281;pna jest r&#243;wnie&#380; Windowsowa wersja Nmapa, co powi&#281;ksza mo&#380;liwo&#347;ci
jego wykorzystywania. Z tych powod&#243;w coraz rzadziej zachodzi potrzeba 
uruchamiania Nmapa z ograniczonych wsp&#243;&#322;dzielonych kont. Na szcz&#281;&#347;cie wi&#281;ksze 
przywileje u&#380;ytkownik&#243;w przek&#322;adaj&#261; si&#281; na wi&#281;ksz&#261; elastyczno&#347;&#263; i mo&#380;liwo&#347;ci
Nmapa.</para>

<para>Nmap stara si&#281; podawa&#263; jak najbardziej dok&#322;adne wyniki, jednak trzeba
mie&#263; na uwadze fakt, &#380;e wyniki s&#261; oparte na pakietach zwracanych przez badane
systemy (lub firewalle je ochraniaj&#261;ce). Dlatego te&#380; zwracane informacje nie 
musz&#261; by&#263; wiarygodne i mog&#261; wprowadza&#263; Nmapa w b&#322;&#261;d. Bardzo powszechne s&#261;
hosty nie zachowuj&#261;ce si&#281; zgodnie z RFC w odpowiedzi na zapytania Nmapa.
Rozwi&#261;zaniem s&#261; skanowania FIN, Null czy Xmas. Tego typu problemy zosta&#322;y 
opisane oddzielnie w cz&#281;&#347;ciach po&#347;wi&#281;conych poszczeg&#243;lnym typom skanowania.</para>

<para>Ta sekcja opisuje dziesi&#261;tki typ&#243;w skanowania dost&#281;pnych w Nmapie.
Jednocze&#347;nie mo&#380;e by&#263; wykorzystywana tylko jedna metoda, za wyj&#261;tkiem skanowania
UDP (<option>-sU</option>), kt&#243;re mo&#380;e by&#263; &#322;&#261;czone z dowolnymi typami skanowania
TCP. Dla &#322;atwiejszego zapami&#281;tania, opcje skanowania port&#243;w posiadaj&#261; nazwy
w formie <option>-s<replaceable>C</replaceable></option>, gdzie 
<replaceable>C</replaceable> jest przewa&#380;nie pierwsz&#261; du&#380;&#261; liter&#261; angielskiej
nazwy typu skanowania. Wyj&#261;tkiem jest przestarza&#322;a opcja skanowania FTP bouce
(<option>-b</option>). Domy&#347;lnie Nmap wykonuje skanowanie SYN, kt&#243;re jest
zast&#281;powane connect(), je&#347;li u&#380;ytkownik nie ma odpowiednich uprawnie&#324; do 
wysy&#322;ania pakiet&#243;w raw (co wymaga konta root w systemach UNIX)
lub w przypadku skanowania sieci IPv6. Z po&#347;r&#243;d przedstawionych poni&#380;ej typ&#243;w 
skanowania u&#380;ytkownicy nie uprzywilejowani mog&#261; jedynie u&#380;ywa&#263; typ&#243;w connect() i
FTP bounce.</para>

    <variablelist>
      <varlistentry>
        <term>
        <option>-sS</option> (Skanowanie TCP SYN)</term>
        <listitem>

<para>Skanowanie SYN jest domy&#347;ln&#261; i najpopularniejsz&#261; metod&#261; skanowania.
Jest to spowodowane tym, &#380;e mo&#380;e by&#263; przeprowadzone szybko, mo&#380;liwe jest
skanowanie tysi&#281;cy port&#243;w na sekund&#281; w szybkich sieciach nie chronionych 
systemami zaporowymi. Skanowanie SYN jest relatywnie dyskretne i niewidoczne,
poniewa&#380; nigdy nie otwiera po&#322;&#261;cze&#324; do ko&#324;ca. Dzia&#322;a to dobrze w stosunku do
wszystkich stos&#243;w zgodnych z TCP, w przeciwie&#324;stwie do udziwnionych, dla 
kt&#243;rych Nmap ma tryby FIN/Null/Xmas, Maimon i Idle. SYN pozwala na 
przejrzyste i wiarygodne rozr&#243;&#380;nienie stan&#243;w portu pomi&#281;dzy 
<literal moreinfo="none">otwartym</literal>,
<literal moreinfo="none">zamkni&#281;tym</literal> i 
<literal moreinfo="none">filtrowanym</literal>.</para>

<para>Technika ta jest cz&#281;sto okre&#347;lana jako skanowanie z po&#322;owicznym 
otwieraniem po&#322;&#261;cze&#324; (ang. half-open), poniewa&#380; nie otwiera pe&#322;nego po&#322;&#261;czenia
TCP. Wysy&#322;any jest pakiet SYN, tak jak by mia&#322;o by&#263; otwarte prawdziwe 
po&#322;&#261;czenie i czeka na odpowied&#378;. SYN/ACK oaznacza, &#380;e port oczekuje na 
po&#322;&#261;czenia (jest otwarty), a RST (reset) identyfikuje port jako zamkni&#281;ty.
Je&#347;li odpowied&#378; nie zostanie otrzymana pomimo kilku pr&#243;b, port jest oznaczany
jako filtrowany. Port jest r&#243;wnie&#380; oznaczany jako filtrowany w przypadku
otrzymania komunikatu b&#322;&#281;du ICMP unreachable error (typ 3, kody 1, 2, 3, 9, 10
lub 13).</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sT</option> (Skanowanie TCP connect())</term>
        <listitem>

<para>Skanowanie TCP Connect() jest wybierane domy&#347;lne, je&#347;li SYN nie jest dost&#281;ne.
Ma to miejsce kiedy u&#380;ytkownik nie posiada uprawnie&#324; do wysy&#322;ania  
pakiet&#243;w raw lub podczas skanowania sieci IPv6. Zamiast wysy&#322;a&#263; pakiety raw, 
jak to ma miejsce przy innych typach skanowania, Nmap prosi system operacyjny o
zestawienie po&#322;&#261;czenia z badanym hostem za pomoc&#261; wywo&#322;ania funkcji systemowej
<literal moreinfo="none">connect()</literal>. Jest to taki sam wysoki poziom 
wywo&#322;a&#324; systemowych, z jakich korzystaj&#261; przegl&#261;darki internetowe, oprogramowanie
Peer2Peer czy inne programy korzystaj&#261;ce z po&#322;&#261;cze&#324; sieciowych. Jest to cz&#281;&#347;&#263;
interfejsu programistycznego znanego jako Berkeley Sockets API. Zamiast 
odczytywa&#263; odpowiedzi za pomoc&#261; odwo&#322;a&#324; niskopoziomowych prosto z sieci, Nmap
wykorzystuje ten sam wysokopoziomowy interfejs do otrzymania informacji o stanie 
operacji dla ka&#380;dej pr&#243;by po&#322;&#261;czenia oddzielnie.</para>

<para>Kiedy skanowanie SYN jest dost&#281;pne, przewa&#380;nie jest lepszym wyborem. Nmap
ma du&#380;o mniejsz&#261; kontrol&#281; nad wywo&#322;aniem wysokopoziomowym 
<literal moreinfo="none">connect()</literal> ni&#380; nad pakietami raw, co jest du&#380;o 
mniej efektywne. Wywo&#322;anie systemowe otwiera pe&#322;ne po&#322;&#261;czenie w przeciwie&#324;stwie
do metody SYN korzystaj&#261;cej z po&#322;owicznego po&#322;&#261;czenia. Nie tylko wymaga to 
wi&#281;cej czasu i wymaga wi&#281;cej pakiet&#243;w do uzyskania takich samych informacji, 
ale r&#243;wnie&#380; prawdopodobnie spowoduje zapisanie w logach badanego systemu pr&#243;by 
po&#322;&#261;czenia. Nowoczesne systemy detekcji intruz&#243;w IDS potrafia wykrywa&#263; takie 
po&#322;&#261;czenia, ale wi&#281;kszo&#347;&#263; system&#243;w nie posiada odpowiednich system&#243;w alarmowych.
Wiele us&#322;ug w typowym systemie UNIX zapisze uwag&#281; do logu systemowego i czasami
zagadkowy komunikat b&#322;&#281;du, kiedy Nmap po&#322;&#261;czy si&#281; i natychmiast zamknie 
po&#322;&#261;czenie bez wysy&#322;ania jakichkolwiek danych. Naprawd&#281; &#380;a&#322;osne us&#322;ugi 
przestan&#261; dzia&#322;a&#263; po otrzymaniu takiego pakietu, ale nie jest to cz&#281;sto 
spotykane. Administrator widz&#261;cy w logach informacje o wielu pr&#243;bach nawi&#261;zania 
po&#322;&#261;czenia z jednego adresu powinien wiedzie&#263;, &#380;e jego system by&#322; skanowany za 
pomoc&#261; metody connect().</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sU</option> (Skanowanie UDP)</term>
        <listitem>

<para>Wi&#281;kszo&#347;&#263; popularnych us&#322;ug w sieci Internet wykorzystuje protok&#243;&#322; TCP,
ale r&#243;wnie&#380; us&#322;ugi <ulink url="http://www.rfc-editor.org/rfc/rfc768.txt">UDP</ulink>
s&#261; cz&#281;sto spotykane. Najpopularniesze z nich to DNS, SNMP i DHCP (porty 53, 
161/162 i 67/68). Poniewa&#380; skanowanie UDP jest og&#243;lnie wolniejsze i trudniejsze
ni&#380; TCP, wielu audytor&#243;w bezpiecze&#324;stwa ignoruje te porty. Jest to pomy&#322;ka, jako
&#380;e wiele us&#322;ug UDP jest podatnych na zdalne ataki i atakuj&#261;cy nie ignoruj&#261; tego
protoko&#322;u. Na szcz&#281;&#347;cie Nmap umo&#380;liwia inwentaryzacj&#281; port&#243;w UDP.</para>

<para>Skanowanie UDP jest aktywowane za pomoc&#261; opcji
<option>-sU</option>. Mo&#380;e by&#263; &#322;&#261;czone z innymi typami skanowania TCP, takimi 
jak SYN (<option>-sS</option>), dla sprawdzenia obu protoko&#322;&#243;w w jednym 
przebiegu.</para>

<para>Skanowanie UDP polega na wysy&#322;aniu pustych (bez danych) nag&#322;&#243;wk&#243;w 
protoko&#322;u UDP do ka&#380;dego portu docelowego. Je&#347;li w odpowiedzi zostanie zwr&#243;cony 
komunikat ICMP port uchreachable (typ 3, kod 3), port jest uznawany za 
<literal moreinfo="none">zamkni&#281;ty</literal>. Inne typy komunikat&#243;w ICMP 
unreachable (typ 3, kody 1, 2, 9, 10 lub 13) oznaczaj&#261;, &#380;e port jest
<literal moreinfo="none">filtrowany</literal>. Czasami w odpowiedzi zwr&#243;cony
zostanie pakiet UDP, co oznacza, &#380;e porty jest 
<literal moreinfo="none">otwarty</literal>. Je&#347;li pomimo powtarzania transmisji
nie zostanie uzyskana &#380;adna odpowied&#378;, port zostaje zaklasyfikowany jako 
<literal moreinfo="none">otwarty|filtrowany</literal>. Oznacza to, &#380;e port mo&#380;e
by&#263; otwarty lub filtr pakiet&#243;w blokuje do niego dost&#281;p. Wykorzystanie
skanowania wersji us&#322;ug (<option>-sV</option>) mo&#380;e pom&#243;c w odr&#243;&#380;nieniu port&#243;w
na prawd&#281; otwartych od filtrowanych.</para>

<para>Najwi&#281;kszym wyzwaniem przy skanowaniu UDP jest przeprowadzenie go odpowiednio szybko.
Otwarte i filtrowane porty rzadko wysy&#322;aj&#261; jak&#261;kolwiek odpowied&#378;, zmuszaj&#261;c
Nmapa do oczekiwania na odpowied&#378; i ponawiania transmisji na wypadek zagubienia
pakiet&#243;w. Zamkni&#281;te porty s&#261; cz&#281;sto jeszcze wi&#281;kszym problemem. Zwykle wysy&#322;aj&#261;
pakiet ICMP port unreachable, jednak w odr&#243;&#380;nieniu od pakiet&#243;w z flag&#261; RST znanych 
ze skanowania SYN czy connect, wiele host&#243;w domy&#347;lnie limituje szybko&#347;&#263; wysy&#322;ania 
pakiet&#243;w ICMP port unreachable. Przyk&#322;adami mog&#261; by&#263; systemy Linux i Solaris. 
Kernel Linuxa w wersji 2.4.20 limituje ilo&#347;&#263; pakiet&#243;w o niedost&#281;pno&#347;ci port&#243;w do
jednego na sekund&#281; (w <filename moreinfo="none">net/ipv4/icmp.c</filename>).</para>

<para>Nmap potrafi wykrywa&#263; limitowanie odpowiedzi i zwalnia odpowiednio proces 
skanowania dla unikni&#281;cia za&#347;miecania sieci niepotrzebnymi pakietami, kt&#243;re i tak 
nie zostan&#261; wykorzystane. Niestety, skanowanie wszystkich 65,536 port&#243;w UDP 
przy limicie Linuxowym jeden pakiet na sekund&#281; powoduje, &#380;e skanowanie trwa ponad
18 godzin. Sposobami na przyspieszenie s&#261; skanowanie wielu host&#243;w r&#243;wnolegle, 
wykonywanie na pocz&#261;tek szybkiego skanowania popularnych port&#243;w, skanowanie z poza
systemu zaporowego i u&#380;ywanie opcji <option>--host-timeout</option> do pomijania
zbyt wolnych host&#243;w.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sN</option>; <option>-sF</option>; <option>-sX</option> (Skanowania TCP Null, FIN i Xmas)</term>
        <listitem>

<para>Te typy skanowania (wi&#281;ksze mo&#380;liwo&#347;ci posiada opcja 
<option>--scanflags</option> opisana w dalszej cz&#281;&#347;ci) wykorzystuj&#261; nieopisane
w <ulink url="http://www.rfc-editor.org/rfc/rfc793.txt">TCP RFC</ulink> 
kombinacje flag do rozr&#243;&#380;nienia pomi&#281;dzy stanami port&#243;w 
<literal moreinfo="none">otwarty</literal> oraz 
<literal moreinfo="none">zamkni&#281;ty</literal>. Strona 65 opisuje, &#380;e <quote>je&#347;li 
[docelowy] port jest ZAMKNI&#280;TY ... w odpowiedzi na pakiet nie zawieraj&#261;cy RST nale&#380;y
wys&#322;a&#263; odpowied&#378; RST.</quote> Nast&#281;pna strona opisuje pakiety wysy&#322;ane na porty bez
flag SYN, RST lub ACK w nast&#281;puj&#261;cy spos&#243;b: <quote>co&#347; takiego nie powinno mie&#263; 
miejsca, jednak je&#347;li si&#281; zdarzy, pomi&#324; taki pakiet</quote>.</para>

<para>Podczas skanowania system&#243;w zgodnych z zapisami w RFC, dowolny pakiet nie
zawieraj&#261;cy flag SYN, RST lub ACK powinien wywo&#322;ywa&#263; odpowied&#378; RST w przypadku 
portu zamkni&#281;tego i ca&#322;kowity brak odpowiedzi w przypadku portu otwartego.
Tak d&#322;ugo jak &#380;adna z wymienionych flag nie zosta&#322;a u&#380;yta, wszystkie inne 
kombinacje flag (FIN, PSH i URG) s&#261; prawid&#322;owe. Nmap wykorzystuje to do
przeprowadzania trzech typ&#243;w skanowania:</para>

<variablelist>
  <varlistentry><term>Skanowanie Null (<option>-sN</option>)</term>
  <listitem><para>Nie ustawia &#380;adnych flag (pole flag w nag&#322;&#243;wku tcp zawiera 0).</para></listitem></varlistentry> 

  <varlistentry><term>Skanowanie FIN (<option>-sF</option>)</term>
  <listitem><para>Ustawiona flaga FIN.</para></listitem></varlistentry> 

  <varlistentry><term>Skanowanie Xmas (<option>-sX</option>)</term>
  <listitem><para>Ustawione flagi FIN, PSH i URG, pakiet pod&#347;wietlony jak choinka.</para></listitem></varlistentry>
</variablelist>

<para>Te trzy tryby skanowania s&#261; takie same poza ustawionymi flagami w 
pakietach. Je&#347;li w odpowiedzi zostanie otrzymany pakiet RST, port jest
uznawany za <literal moreinfo="none">zamkni&#281;ty</literal>, podczas gdy brak
odpowiedzi oznacza <literal moreinfo="none">otwarty|filtrowany</literal>.
Port uznajemy za <literal moreinfo="none">filtrowany</literal>, je&#347;li 
otrzymany zostanie komunikat ICMP unreachable (typ 3, kod 1, 2, 3, 9, 10 lub 
13).</para>

<para>G&#322;&#243;wn&#261; zaleta tych typ&#243;w skanowania jest to, &#380;e potrafi&#261; si&#281; one
przemyka&#263; przez bezstanowe systemy zaporowe i filtrowanie na routerach.
Inn&#261; zalet&#261; jest tylko minimalnie wi&#281;ksza wykrywalno&#347;&#263; ni&#380; skanowania SYN.
Nie mo&#380;na jednak na to liczy&#263; - wi&#281;kszo&#347;&#263; nowych system&#243;w IDS mo&#380;e zosta&#263;
skonfigurowana do ich wykrywania. Ujemn&#261; stron&#261; jest to, &#380;e nie wszystkie 
systemy s&#261; zgodne z RFC793. Wiele system&#243;w wysy&#322;a odpowiedzi RST niezale&#380;nie od
tego czy port jest otwarty czy nie. Powoduje to, &#380;e wszystkie porty pojawiaj&#261;
si&#281; jako <literal moreinfo="none">zamkni&#281;ty</literal>. Najcz&#281;&#347;ciej spotykane 
systemy, kt&#243;re si&#281; tak zachowuj&#261; to Microsoft Windows, wiele urz&#261;dze&#324; Cisco, 
BSDI, i IBM OS/400. Skanowania dzia&#322;aj&#261; jednak dobrze w przypadku wi&#281;kszo&#347;ci
system&#243;w UNIXowych. Kolejnym minusem tych metod jest to, &#380;e nie potrafi&#261;
rozr&#243;&#380;ni&#263; port&#243;w oznaczonych jako <literal moreinfo="none">otwarty</literal>
od <literal moreinfo="none">filtrowany</literal>, ujawniaj&#261;c jedynie stan
<literal moreinfo="none">otwarty|filtrowany</literal>.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sA</option> (Skanowanie TCP ACK)</term>
        <listitem>

<para>Ten typ skanowanie jest inny ni&#380; omawiane powy&#380;ej, bo nigdy nie wykrywa
stan&#243;w port&#243;w <literal moreinfo="none">otwarty</literal> (lub nawet 
<literal moreinfo="none">otwarty|filtrowany</literal>).  Jest wykorzystywany 
do mapowania regu&#322; filtrowania, do sprawdzania czy fitrowanie jest oparte 
o stany (stateful) lub nie i kt&#243;re porty s&#261; filtrowane.</para>

<para>Pakiety skanowania ACK posiadaj&#261; tylko flag&#281; ACK (o ile nie zosta&#322;a
u&#380;yta opcja <option>--scanflags</option>). Podczas skanowania system&#243;w nie 
posiadaj&#261;cych filtrowania, porty o stanach 
<literal moreinfo="none">otwarty</literal> i 
<literal moreinfo="none">zamkni&#281;ty</literal>
zwr&#243;c&#261; pakiet RST. W obu przypadkach Nmap oznaczy je jako 
<literal moreinfo="none">niefiltrowane</literal>, co oznacza, &#380;e by&#322;y 
osi&#261;galne dla pakietu ACK, ale nie zosta&#322;o okre&#347;lone, czy posiadaj&#261; stan
<literal moreinfo="none">otwarty</literal> czy 
<literal moreinfo="none">zamkni&#281;ty</literal>. Porty, kt&#243;re nie odpowiedz&#261;
lub odpowiedz&#261; za pomoc&#261; komunikatu o b&#322;&#281;dzie ICMP (typ 3, kody 1, 2, 3, 9, 
10 lub 13), zostan&#261; oznaczone jako <literal moreinfo="none">filtrowany</literal>.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sW</option> (Skanowanie TCP Window)</term>
        <listitem>

<para>Skanowanie Window jest takie samo jak ACK, r&#243;&#380;nica polega na tym, &#380;e
potrafi odr&#243;&#380;ni&#263; porty otwarte od zamkni&#281;tych, zamiast zawsze podawa&#263; stan
<literal moreinfo="none">niefiltrowany</literal>, kiedy otrzymano flag&#281; RST.
Jest to realizowane poprzez analiz&#281; pola Window pakietu zwrotnego RST. Na
niekt&#243;rych systemach, otwarte porty zwracaj&#261; dodatni&#261; warto&#347;&#263; rozmiaru okna
(tak&#380;e w pakietach RST), a przy zamkni&#281;tych o rozmiarze zero. Tak wi&#281;c zamiast
zawsze przedstawia&#263; port jako <literal moreinfo="none">niefiltrowany</literal>
kiedy w odpowiedzi przyjdzie RST, skanowanie Window oznacza port jako 
<literal moreinfo="none">otwarty</literal> lub 
<literal moreinfo="none">zamkni&#281;ty</literal>, w zale&#380;no&#347;ci czy odpowiednio 
otrzymano w odpowiedzi rozmiar okna o warto&#347;ci dodatniej lub zero.</para>

<para>Ten typ skanowania polega na szczeg&#243;lnej implementacji stosu TCP, 
wyst&#281;puj&#261;cej w rzadko spotykanych systemach w internecie, a wi&#281;c nie mo&#380;na 
zawsze na niej polega&#263;. Zwykle systemy, kt&#243;re nie obs&#322;uguj&#261; tej metody b&#281;d&#261; 
zwraca&#322;y porty oznaczone jako <literal moreinfo="none">zamkni&#281;ty</literal>.
Oczywi&#347;cie jest r&#243;wnie&#380; mo&#380;liwe, &#380;e host na prawd&#281; nie ma otwartych port&#243;w.
Je&#347;li wi&#281;kszo&#347;&#263; przeskanowanych port&#243;w ma stan 
<literal moreinfo="none">zamkni&#281;ty</literal>, jednak niekt&#243;re (takie jak 22, 
25 czy 53) maj&#261; stan <literal moreinfo="none">filtrowany</literal>, system
jest podejrzany. Czasami systemy potrafi&#261; si&#281; zachowywa&#263; zupe&#322;nie przeciwnie.
Je&#347;li skanowanie wyka&#380;e 1000 otwartych port&#243;w i tylko 3 zamkni&#281;te lub 
filtrowane, wtedy te trzy prawdopodobnie s&#261; rzeczywi&#347;cie otwarte.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sM</option> (Skanowanie TCP Maimon)</term>
        <listitem>

<para>Skanowanie Maimon zosta&#322;o nazwane na cze&#347;&#263; jego odkrywcy, Uriela Maimona.
Opisa&#322; t&#281; technik&#281; w Phrack Magazine w wydaniu #49 (Listopad 1996). Nmap, kt&#243;ry
potrafi&#322; wykorzysta&#263; t&#281; technik&#281; zosta&#322; wypuszczony dwa wydania p&#243;&#378;niej.
Skanowanie to nale&#380;y do rodziny Null, FIN i Xmass z t&#261; r&#243;&#380;nic&#261;, &#380;e u&#380;ywa flag 
FIN/ACK. Zgodnie z RFC 793 (TCP), dla takiej kombinacji flag, pakiet RST 
powinien by&#263; wygenerowany niezale&#380;nie czy port jest otwarty czy zamkni&#281;ty.
Jednak&#380;e Uriel zauwa&#380;y&#322;, &#380;e wiele system&#243;w opartych na BSD po prostu pomija
odpowiedzi, je&#347;li port jest otwarty.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>--scanflags</option> (Skanowanie TCP z definiowanymi flagami)</term>
        <listitem>

<para>Prawdziwie zaawansowani u&#380;ytkownicy Nmapa nie mog&#261; by&#263; ograniczani
ilo&#347;ci&#261; oferowanych wbudowanych typ&#243;w skanowania. Opcja
<option>--scanflags</option> pozwala na projektowanie w&#322;asnych typ&#243;w skanowania
z wykorzystaniem wybranych flag TCP. Cieszcie si&#281; podczas wykorzystywania tej 
techniki do oszukiwania system&#243;w IDS, kt&#243;rych tw&#243;rcy pobie&#380;nie przegl&#261;dali
dokumentacj&#281; Nmapa dodaj&#261;c specyficzne regu&#322;y!</para>

<para>Argument opcji <option>--scanflags</option> mo&#380;e by&#263; numerycznym zapisem
flag, np 9 (PSH i FIN), lub dla u&#322;atwienia mo&#380;na wykorzystywa&#263; symbliczne nazwy.
Mo&#380;na poda&#263; dowoln&#261; kombinacj&#281; flag <literal moreinfo="none">URG</literal>,
<literal moreinfo="none">ACK</literal>, <literal moreinfo="none">PSH</literal>,
<literal moreinfo="none">RST</literal>, <literal moreinfo="none">SYN</literal> i
<literal moreinfo="none">FIN</literal>.  Na przyk&#322;ad <option>--scanflags
URGACKPSHRSTSYNFIN</option> ustawia wszystkie flagi, cho&#263; nie jest to zbyt 
u&#380;yteczna metoda skanowania. Kolejno&#347;&#263; podawania flag nie jest istotna.</para>

<para>Dodatkowo przy podawaniu wybranych flag mo&#380;liwe jest podanie typu 
skanowania (takiego jak <option>-sA</option> lub <option>-sF</option>).
Dodany typ skanowania informuje Nmapa jak ma interpretowa&#263; otrzymane odpowiedzi.
Na przyk&#322;ad skanowanie SYN zak&#322;ada, &#380;e brak odpowiedzi oznacza stan portu 
<literal moreinfo="none">filtrowany</literal>, podczas gdy skanowanie FIN 
potraktuje ten go jako <literal moreinfo="none">otwarty|filtrowany</literal>.
Nmap b&#281;dzie si&#281; zachowywa&#322; w taki sam spos&#243;b jak przy wybranym trybie 
skanowania, jednak wykorzystane zostan&#261; podane flagi. Je&#347;li bazowy typ 
skanowania nie zostanie okre&#347;lony, zostanie wykorzystany domy&#347;lny typ SYN.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sI &lt;zombie
        host[:probeport]&gt;</option> (Skanowanie Idle)</term>

        <listitem>

          <para>Ta zaawansowana technika skanowania pozwala na prawdziwie
          &#347;lepe skanowanie TCP (co oznacza, &#380;e &#380;aden pakiet nie zostanie 
          wys&#322;any do badanego systemu z prawdziwego adresu IP Nmapa).
          Zamiast tego wykorzystany zostanie host zombie, o przwidywalnym
          dzia&#322;aniu stosu TCP polegaj&#261;cym na sekwencyjnym powi&#281;kszaniu
          numer&#243;w ID pakiet&#243;w, do uzyskania informacji o otwartych portach
          w badanym systemie. Systemy detekcji intruz&#243;w poka&#380;&#261; jako adres 
          atakuj&#261;cego zdefiniowany host zombie (musi spe&#322;nia&#263; okre&#347;lone 
          warunki). Ten fascynuj&#261;cy typ skanowania jest zbyt skomplikowany
          &#380;eby go dok&#322;adnie opisa&#263; w tej dokumentacji, dlatego napisa&#322;em
          oddzielny nieformalny dokument na ten temat ze szczeg&#243;&#322;owymi 
          informacjami i jest on dost&#281;pny pod adresem
          <ulink url="http://nmap.org/book/idlescan.html"/>.</para>

          <para>Poza tym, &#380;e metoda ta jest niespotykanie poufna (z powodu
          jej &#347;lepej natury), ten typ skanowania pozwala na mapowanie regu&#322;
          zaufania pomi&#281;dzy maszynami bazuj&#261;cych na adresach IP. Wyniki
          zawieraj&#261; otwarte porty, <emphasis>z punktu widzenia hosta zombie
          </emphasis>. Tak wi&#281;c mo&#380;na pr&#243;bowa&#263; skanowania z wykorzystaniem 
          r&#243;&#380;nych host&#243;w zombie, kt&#243;re mo&#380;na traktowa&#263; jako zaufane (poprzez
          router/regu&#322;y filtrowania pakiet&#243;w).</para>

          <para>Mo&#380;na po dwukropku doda&#263; numer portu, je&#347;li chcemy go 
          wykorzysta&#263; na ho&#347;cie zombie do badania zmian IPID. W innym przypadku
          Nmap wykorzysta domy&#347;lnie port u&#380;ywany przez tcp ping (80).</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sO</option> (Skanowanie protoko&#322;&#243;w IP)</term>
        <listitem>
          
<para>Skanowanie to pozwala na wykrycie listy protoko&#322;&#243;w IP (TCP, ICMP, IGMP
itp), kt&#243;re s&#261; dost&#281;pne na danym ho&#347;cie. Technicznie nie jest to skanowanie
port&#243;w, poniewa&#380; sprawdza kolejne numery protoko&#322;&#243;w, a nie kolejne porty TCP
czy UDP. Opcja ta nadal u&#380;ywa parametru <option>-p</option> do wybrania numer&#243;w
protoko&#322;&#243;w do sprawdzenia, w formacie analogicznym do listy port&#243;w. Z tego
powodu metoda ta zosta&#322;a zaklasyfikowana jako skanowanie port&#243;w i dlatego 
znajduje si&#281; tutaj.</para>

<para>Poza swoj&#261; w&#322;asn&#261; funkcjonalno&#347;ci&#261;, skanowanie protoko&#322;&#243;w demonstruje
pot&#281;g&#281; oprogramowania open source. Podczas gdy podstawowa idea jest ca&#322;kiem
prosta, nie pomy&#347;la&#322;em o jej dodaniu, jak r&#243;wnie&#380; nie otrzyma&#322;em &#380;adnej
pro&#347;by o dodanie takiej funkcjonalno&#347;ci. Latem roku 2000, Gerhard Rieger
opracowa&#322; koncepcj&#281;, stworzy&#322; odpowiedni&#261; poprawk&#281; i wys&#322;a&#322; j&#261; na list&#281;
dyskusyjn&#261; nmap-hackers. W&#322;&#261;czy&#322;em j&#261; do drzewa Nmapa i wypu&#347;ci&#322;em now&#261;
wersj&#281; nast&#281;pnego dnia. Niewiele komercyjnych program&#243;w posiada u&#380;ytkownik&#243;w
na tyle entuzjastycznych, &#380;eby zaprojektowa&#263; i stworzy&#263; ich w&#322;asne poprawki!
</para>

<para>Skanowanie protoko&#322;&#243;w dzia&#322;a w spos&#243;b podobny do skanowania UDP, jednak 
zamiast iteracji po kolejnych numerach portu, w nag&#322;&#243;wkach pakiet&#243;w zmienia si&#281;
8-mio bitowy numer protoko&#322;u. Nag&#322;&#243;wki s&#261; przewa&#380;nie puste, nie zawieraj&#261; 
&#380;adnych danych ani nawet poprawnego dla danego protoko&#322;u nag&#322;&#243;wka. Trzema 
wyj&#261;tkami s&#261; TCP, UDP i ICMP. Poprawne nag&#322;&#243;wki dla tych protoko&#322;&#243;w s&#261; 
konieczne, poniewa&#380; niekt&#243;re systemy nie b&#281;d&#261; ich potrafi&#322;y wys&#322;a&#263; oraz 
dlatego, &#380;e Nmap posiada ju&#380; odpowiednie funkcje do ich tworzenia.
Zamiast obserwowa&#263; komunikaty ICMP unreachable, skanowanie protoko&#322;&#243;w nie polega
na komunikatach ICMP <emphasis>protocol</emphasis> unreachable. Je&#347;li Nmap 
otrzyma jak&#261;kolwiek odpowied&#378; w jakimkolwiek protokole, ustala stan protoko&#322;u 
jako <literal moreinfo="none">otwarty</literal>. Otrzymanie komunikatu ICMP
protocol unreachable (typ 3, kod 2) powoduje oznaczenie protoko&#322;u jako
<literal moreinfo="none">zamkni&#281;ty</literal>. Inne komuniakty ICMP protocol
unreachable (typ 3, kody 1, 3, 9, 10 lub 13) powoduj&#261; oznaczenie protoko&#322;u jako
<literal moreinfo="none">filtrowany</literal> (oraz r&#243;wnocze&#347;nie potwierdzaj&#261;, 
&#380;e protok&#243;&#322; ICMP jest r&#243;wnie&#380; <literal moreinfo="none">otwarty</literal>).
Je&#347;li nie uzyskano odpowiedzi, protok&#243;&#322; jest oznaczany jako 
<literal moreinfo="none">otwarty|filtrowany</literal>.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-b &lt;po&#347;rednicz&#261;cy host ftp&gt;</option> (Skanowanie FTP bounce)</term>
        <listitem>

<para>Interesuj&#261;c&#261; funkcj&#261; protoko&#322;u FTP
(<ulink url="http://www.rfc-editor.org/rfc/rfc959.txt">RFC 959</ulink>) jest
wspieranie tak zwanych po&#322;&#261;cze&#324; proxy. Pozwala to u&#380;ytkownikowi na po&#322;&#261;czenie 
z jednym serwerem FTP i poproszenie o wys&#322;anie plik&#243;w do innego. Ta 
funkcjonalno&#347;&#263; by&#322;a przyczyn&#261; nadu&#380;y&#263; na wielu poziomach, dlatego wiele serwer&#243;w
porzuci&#322;o dla niej wsparcie. Jednym z mo&#380;liwych nadu&#380;y&#263; jest sposobno&#347;&#263; do 
zmuszenia serwera do skanowania port&#243;w na zewn&#281;trznym ho&#347;cie. Wystarczy po 
prostu poprosi&#263; serwer o wys&#322;anie pliku kolejno na ka&#380;dy interesuj&#261;cy port badanego
systemu. Uzyskany komunikat o b&#322;&#281;dzie zwr&#243;ci informacj&#281;, czy porty by&#322; otwarty
czy zamkni&#281;ty. Jest to dobra metoda do omijania system&#243;w zaporowych, poniewa&#380;
korporacyjne serwery FTP cz&#281;sto s&#261; umieszczane w takim miejscu, &#380;e maj&#261; 
mo&#380;liwo&#347;&#263; komunikacji zar&#243;wno z hostami w internecie jak i w sieci lokalnej.
Nmap obs&#322;uguje skanowanie FTP bounce z wykorzystaniem opcji 
<option>-b</option>. Opcja przyjmuje argument w postaci
<replaceable>nazwa_u&#380;ytkownika</replaceable>:<replaceable>has&#322;o</replaceable>@<replaceable>serwer</replaceable>:<replaceable>port</replaceable>.

<replaceable>Serwer</replaceable> jest nazw&#261; lub adresem IP podatnego serwera
FTP. Tak jak przy zwyk&#322;ym adresie URL, mo&#380;na pomin&#261;&#263; pola
<replaceable>nazwa_u&#380;ytkownika</replaceable>:<replaceable>has&#322;o</replaceable>,
w tym przypadku zostanie wykorzystana domy&#347;lna kombinacja dla u&#380;ytkownik&#243;w
anonimowych (u&#380;ytkownik <literal moreinfo="none">anonymous</literal> 
has&#322;o:<literal moreinfo="none">-wwwuser@</literal>). Numer portu (i 
poprzedzaj&#261;cy go dwukropek) r&#243;wnie&#380; mo&#380;e zosta&#263; pomini&#281;ty, w tym przypadku 
przy po&#322;&#261;czeniu z wybranym adresem <replaceable>serwer</replaceable>, zostanie
wykorzystany domy&#347;lny port serwera FTP (21).</para>

<para>Podatno&#347;&#263; ta by&#322;a szeroko spotykana w roku 1997, kiedy to Nmap zosta&#322;
wypuszczony, jednak z biegiem czasu jej znaczenie bardzo si&#281; zmniejszy&#322;o.
Dziurawe serwery FTP nadal si&#281; zdarzaj&#261;, wi&#281;c warto wyprubowa&#263; i t&#281;
metod&#281;, je&#347;li inne zawiod&#261;. Je&#347;li potrzebne jest obej&#347;cie systemu zaporowego,
mo&#380;na przeskanowa&#263; sie&#263; w poszukiwaniu otwartych port&#243;w 21 (lub poprzez 
wyszukanie ftp na innych portach z wykorzystaniem opcji do wykrywania wersji)
i wypr&#243;bowa&#263; na wykrytych portach metod&#281; bounce. Nmap poinformuje, czy us&#322;uga 
jest podatna czy nie. Je&#347;li chcesz ukrywa&#263; swoje dzia&#322;ania, nie trzeba (i nie
powinno) ogranicza&#263; si&#281; do host&#243;w z badanej sieci. Przed rozpocz&#281;ciem
skanowania losowych adres&#243;w w sieci Internet w poszukiwaniu podatnych wersji 
serwer&#243;w FTP trzeba mie&#263; na uwadze, &#380;e wielu administrator&#243;w nie bedzie
zachwyconych wykorzystywaniem ich serwer&#243;w w ten spos&#243;b.</para>

        </listitem>
      </varlistentry>
    </variablelist>
   </refsect1>

   <refsect1 id="man-port-specification">
    <title>Specyfikacja port&#243;w i kolejno&#347;ci skanowania</title>

    <para>Poza wszystkimi metodami skanowania opisanymi wcze&#347;niej, Nmap
    oferuje opcj&#281; pozwalaj&#261;c&#261; na podanie numer&#243;w port&#243;w do skanowania i
    okre&#347;lenie, czy skanowanie ma przebiega&#263; w kolejno&#347;ci sekwencyjnej czy
    losowej. Domy&#347;lnie Nmap skanuje wszystkie porty do 1024 w&#322;&#261;cznie oraz
    wy&#380;sze porty wyszczeg&#243;lnione w pliku 
    <filename moreinfo="none">nmap-services</filename>.</para>

    <variablelist>
      <varlistentry>
        <term>
          <option>-p &lt;zakres port&#243;w&gt;</option> (Skanuj tylko wybrane porty)
        </term>
        <listitem>

          <para>Opcja pozwala na zdefiniowanie listy port&#243;w do skanowania, 
          zamiast domy&#347;lnej. Mo&#380;liwe jest podanie pojedynczych port&#243;w
          jak i zakres&#243;w oddzielonych my&#347;lnikiem (np. 1-1023). Zakres mo&#380;na 
          r&#243;wnie&#380; pomin&#261;&#263;, co spowoduje u&#380;ycie ca&#322;ego zakresu (1-65535). Mo&#380;na
          wi&#281;c po prostu poda&#263; opcj&#281; <option>-p-</option> do przeskanowania
          wszystkich port&#243;w od 1 do 65535 w&#322;&#261;cznie. Mo&#380;na r&#243;wnie&#380; poda&#263; port
          zero, ale trzeba to zrobic jawnie. W przypadku po&#322;&#261;czenia tej opcji
          ze skanowaniem protoko&#322;&#243;w (<option>-sO</option>), okre&#347;la ona numery
          protoko&#322;&#243;w do sprawdzenia (0-255).</para>

          <para>Przy jednoczesnym skanowaniu port&#243;w TCP i UDP mo&#380;liwe jest
          oddzielne zdefiniowanie port&#243;w dla obu protoko&#322;&#243;w poprzez 
          poprzedzenie numer&#243;w znakami odpowiednio 
          <literal moreinfo="none">T:</literal> i 
          <literal moreinfo="none">U:</literal>. Jako argument opcji przyjmowany
          jest ci&#261;g znak&#243;w a&#380; do nast&#281;pnej opcji. Na przyk&#322;ad, podanie <option>-p
          U:53,111,137,T:21-25,80,139,8080</option> spowoduje przeskanowanie 
          port&#243;w UDP o numerach 53,111 i 137 oraz podanych port&#243;w TCP. Przy
          skanowaniu zar&#243;wno port&#243;w TCP jak i UDP, nie
          mo&#380;na zapomnie&#263; poda&#263; odpowiednich typ&#243;w skanowania: <option>-sU</option>
          oraz przynajmniej jednego TCP (np. <option>-sS</option>, 
          <option>-sF</option> czy <option>-sT</option>). Je&#347;li nie podano
          protoko&#322;u skanowania, na czas skanowania numery port&#243;w zostan&#261; 
          dodane do domy&#347;lnej listy port&#243;w.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-F</option> (Skanowanie Fast (ograniczona ilo&#347;&#263; port&#243;w))
        </term>
        <listitem>

          <para>Pozwala na okre&#347;lenie, &#380;e maj&#261; by&#263; skanowane tylko porty 
          zawarte w pliku <filename moreinfo="none">nmap-services</filename>
          z pakietu Nmapa (lub z pliku protoko&#322;&#243;w dla opcji 
          <option>-sO</option>). Opcja ta pozwala na szybsze skanowanie, 
          ni&#380; w przypadku wszystkich 65535 port&#243;w. Poniewa&#380; lista ta 
          zawiera tylko nieco ponad 1200 port&#243;w, r&#243;&#380;nica w 
          szybko&#347;ci w por&#243;wnaniu do typowego skanowania TCP (oko&#322;o 1650 
          port&#243;w) nie jest du&#380;a. R&#243;&#380;nica mo&#380;e by&#263; wi&#281;ksza, je&#347;li zostanie
          podany w&#322;asny, ma&#322;y plik 
          <filename moreinfo="none">nmap-services</filename> za pomoc&#261; 
          opcji <option>--datadir</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-r</option> (Nie u&#380;ywaj losowej kolejno&#347;ci)
        </term>
        <listitem>
          <para>Domy&#347;lnie Nmap skanuje porty w kolejno&#347;ci losowej (poza
          niekt&#243;rymi najcz&#281;&#347;ciej wykorzystywanymi portami, kt&#243;re s&#261; skanowane
          na pocz&#261;tku ze wzgl&#281;d&#243;w wydajno&#347;ciowych). Takie zachowanie jest
          normalnie po&#380;&#261;dane, jednak mo&#380;na je wy&#322;&#261;czy&#263; za pomoc&#261; opcji 
          <option>-r</option>, wymuszaj&#261;cej sekwencyjn&#261; kolejno&#347;&#263; skanowania.
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
   </refsect1>

  <refsect1 id="man-version-detection">
    <title>Detekcja us&#322;ug i wersji</title>

    <para>Przy skanowaniu zdalnego systemu, Nmap mo&#380;e wykry&#263; otwarte porty 
    takie jak 25/tcp, 80/tcp czy 53/udp. Wykorzystuj&#261;c baz&#281; danych zawieraj&#261;c&#261;
    oko&#322;o 2,200 popularnych us&#322;ug, znajduj&#261;c&#261; si&#281; w pliku 
    <filename moreinfo="none">nmap-services</filename>, Nmap odczyta
    przypuszczalne nazwy us&#322;ug dla wykrytych port&#243;w - odpowiednio serwer 
    pocztowy (SMTP), serwer WWW (HTTP) i serwer nazw (DNS). Takie dzia&#322;anie
    jest zwykle poprawne, wi&#281;kszo&#347;&#263; aplikacji s&#322;uchaj&#261;cych na porcie 25, to 
    rzeczywi&#347;cie serwery pocztowe. Jednak&#380;e, niech Twoja ocena bezpiecze&#324;stwa
    niepolega na tych podpowiedziach! Ludzie mog&#261; i cz&#281;sto umieszczaj&#261; us&#322;ugi
    na dziwnych portach.</para>

    <para>Nawet je&#347;li Nmap sie nie myli i hipotetyczny serwer z przyk&#322;adu
    powy&#380;ej udost&#281;pnia us&#322;ugi SMTP, HTTP i DNS, nie jest to du&#380;a ilo&#347;&#263; 
    informacji na temat tych us&#322;ug. Przeprowadzaj&#261;c testy bezpiecze&#324;stwa (lub
    zwyk&#322;&#261; inwentaryzacj&#281; zasob&#243;w) swojej firmy lub klienta, potrzeba uzyska&#263;
    dok&#322;adniejsze informacje na temat us&#322;ug: jaka aplikacja i w jakiej wersji
    jest zainstalowana na serwerze SMTP czy DNS. Posiadanie tych informacji w
    znacz&#261;cy spos&#243;b wp&#322;ywa na mo&#380;liwo&#347;&#263; ustalenia podatno&#347;ci danej aplikacji.
    Detekcja wersji pozwala na uzyskanie takiej informacji.</para>

    <para>Po tym jak zostan&#261; wykryte za pomoc&#261; innych technik skanowania 
    dost&#281;pne us&#322;ugi TCP i UDP, detekcja wersji odpytuje porty w celu okre&#347;lenia
    dalszych szczeg&#243;&#322;&#243;w na temat aplikacji. Baza danych 
    <filename moreinfo="none">nmap-service-probes</filename> zawiera opisy 
    wielu us&#322;ug i pr&#243;buje dopasowa&#263; je do uzyskanych informacji. Nmap stara si&#281;
    najpierw okre&#347;li&#263; protok&#243;&#322; wykorzystywany przez us&#322;ug&#281; (np. ftp, ssh, 
    telnet, http), nast&#281;pnie nazw&#281; aplikacji (np. ISC Bind, Apache httpd, 
    Solaris telnetd), wersj&#281; us&#322;ugi, nazw&#281; hosta, typ urz&#261;dzenia (np. drukarka,
    router), rodzin&#281; system&#243;w operacyjnych (np. Windows, Linux) i czasami
    uzyskuje dodatkowe informacje (takie jak czy X serwer przyjmuje po&#322;&#261;czenia,
    obs&#322;ugiwane wersje protoko&#322;u SSH czy nazw&#281; u&#380;ytkownika KaZaA). Oczywi&#347;cie
    wi&#281;kszo&#347;&#263; us&#322;ug nie dostarczy wszystkich tych informacji. Je&#347;li Nmap zosta&#322;
    skompilowany z OpenSSL, b&#281;dzie potrafi&#322; &#322;&#261;czy&#263; si&#281; z serwerami SSL i 
    uzyskiwa&#263; informacje od us&#322;ug ukrytych za szyfrowan&#261; warstw&#261;. Kiedy zostan&#261;
    wykryte us&#322;ugi RPC, odpowiedni skaner (<option>-sR</option>) zostanie 
    automatycznie uruchomiony do ustalenia oprogramowania i wersji RPC.
    Z powodu specyfiki UDP, po zako&#324;czeniu skanowania niekt&#243;re porty pozostaj&#261; 
    w stanie <literal moreinfo="none">otwarty|filtrowany</literal>, jako &#380;e ten
    typ skanowania nie potrafi okre&#347;li&#263;, czy port jest otwarty czy filtrowany.
    Skanowanie wersji spr&#243;buje uzyska&#263; odpowied&#378; od takiego portu (tak jak to
    robi przy otwartych portach) i je&#347;li to si&#281; uda, zmieni stan na otwarty.
    Porty TCP w stanie <literal moreinfo="none">otwarty|filtrowany</literal> s&#261;
    traktowane w ten sam spos&#243;b. Nale&#380;y zwr&#243;ci&#263; uwag&#281;, &#380;e opcja 
    <option>-A</option> poza innymi rzeczami w&#322;&#261;cza wykrywanie wersji. Dodatkowa
    dokumentacja na temat dzia&#322;ania detekcji wersji jest dost&#281;pna pod adresem
    <ulink url="http://www.insecure.org/nmap/vscan/"/>.</para>

    <para>Je&#347;li Nmap otrzyma odpowied&#378;, ale nie jest w stanie dopasowa&#263; jej do 
    &#380;adnej znanej us&#322;ugi, wy&#347;wietli specjalny odcisk palca (fingerprint) us&#322;ugi 
    wraz z adresem URL, pod kt&#243;rym mo&#380;na go nast&#281;pnie wys&#322;a&#263; wraz ze stosownym
    opisem, je&#347;li jeste&#347;my pewni jakiej us&#322;udze odpowiada.
    Prosz&#281; po&#347;wi&#281;ci&#263; te kilka minut na wys&#322;anie informacji o nieznanych 
    us&#322;ugach, a b&#281;d&#261; mogli z tego skorzysta&#263; r&#243;wnie&#380; inni u&#380;ytkownicy Nmapa.
    Dzi&#281;ki temu sposobowi wysy&#322;ania Nmap rozpoznaje oko&#322;o 3,000 odcisk&#243;w dla
    ponad 350 protoko&#322;&#243;w us&#322;ug, takich jak smtp, ftp, http itp.</para>

    <para>Detekcja wersji jest w&#322;&#261;czana i kontrolowana nast&#281;puj&#261;cymi opcjami:</para>


    <variablelist>

      <varlistentry>
        <term>
        <option>-sV</option> (Detekcja wersji us&#322;ug)</term>
        <listitem>

          <para>W&#322;&#261;cza detekcj&#281; wersji us&#322;ug, opisan&#261; powy&#380;ej. Alternatywnie 
          mo&#380;na u&#380;y&#263; opcji <option>-A</option> do jednoczesnego w&#322;&#261;czenia 
          detekcji wersji us&#322;ug i systemu operacyjnego.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--allports</option> (Nie pomijaj &#380;adnych port&#243;w przy detekcji wersji)
        </term>
        <listitem>
          <para>Domyslnie, skanowanie wersji Nmapa pomija port TCP 9100, 
          poniewa&#380; niekt&#243;re drukarki po prostu drukuj&#261; wszystko, co zostanie
          przys&#322;ane na ten port, powoduj&#261;c wydruk setek stron z zapytaniami
          HTTP, binarnymi zapytaniami SSL itp. Takie zachowanie mo&#380;e zosta&#263; 
          wy&#322;&#261;czone poprzez modyfikacj&#281; lub usuni&#281;cie dyrektywy 
          <literal moreinfo="none">Exclude</literal> w pliku
          <filename moreinfo="none">nmap-service-probes</filename>, lub poprzez 
          dodanie opcji <option>--allports</option>, wymuszaj&#261;cej skanowanie 
          wszystkich port&#243;w niezale&#380;nie od dyrektywy 
          <literal moreinfo="none">Exclude</literal>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--version-intensity &lt;poziom&gt;</option> (Ustaw poziom skanowania wersji)
        </term>
        <listitem>

          <para>Podczas przeprowadzania skanowania wersji (<option>-sV</option>),
          Nmap przeprowadza seri&#281; test&#243;w, przy czym ka&#380;dy z nich ma przypisany 
          sw&#243;j poziom pomi&#281;dzy 1 a 9. Niskie poziomy dzia&#322;aj&#261; poprawnie w 
          stosunku do najpopularniejszych us&#322;ug, wysokie numery obejmuj&#261; 
          ma&#322;o popularne. Poziom skanowania okre&#347;la kt&#243;re testy zostan&#261; 
          wykonane. Czym wy&#380;szy poziom, tym wi&#281;ksza szansa na prawid&#322;owe
          rozpoznanie ma&#322;o popularnych us&#322;ug. Domy&#347;ly poziom to 7. Je&#347;li
          test zostanie powi&#261;zany z wykryt&#261; us&#322;ug&#261; z pliku 
          <filename moreinfo="none">nmap-service-probes</filename>, okre&#347;lon&#261;
          dyrektyw&#261; <literal moreinfo="none">ports</literal>, zostanie on
          wykonany niezale&#380;nie od ustalonego poziomu wykrywania wersji.
          Zachowanie takie ma na celu zawsze poprawne wykrywanie domy&#347;lnych
          us&#322;ug na otwartych portach, wykrywanie serwera DNS na porcie 53, 
          SSL na porcie 443 itp.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--version-light</option> (W&#322;&#261;cz tryb delikatny)
        </term>
        <listitem>
          <para>Jest wygodniejszym odpowiednikiem ustalaj&#261;cym warto&#347;&#263;
          <option>--version-intensity 2</option>. Opcja ta pozwala na znaczne
          przyspieszenie wykrywania wersji, kosztem dok&#322;adno&#347;ci.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--version-all</option> (U&#380;yj wszystkich test&#243;w)
        </term>
        <listitem>
          <para>Odpowiednik opcji <option>--version-intensity 9</option>,
          powoduj&#261;cy wykonanie wszystkich mo&#380;liwych test&#243;w na ka&#380;dym porcie.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--version-trace</option> (&#346;ledzenie aktywno&#347;ci skanowania wersji)
        </term>
        <listitem>
          <para>Opcja w&#322;&#261;cza opcje &#347;ledzenia b&#322;&#281;d&#243;w podczas wykrywania wersji,
          powoduj&#261;c wy&#347;wietlanie dodatkowych informacji na temat prowadzonych
          dzia&#322;a&#324;. Opcja ta jest cz&#281;&#347;ci&#261; wi&#281;kszej <option>--packet-trace</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sR</option> (Skanowanie RPC)</term>
        <listitem>
          <para>Metoda ta dzia&#322;a w po&#322;&#261;czeniu z r&#243;&#380;nymi metodami skanowania 
          port&#243;w Nmapa. Na wszystkie wykryte wcze&#347;niej porty s&#261; wysy&#322;ane
          komendy NULL SunRPC i za ich pomoc&#261; sprawdzane jest, czy dany port
          nale&#380;y do us&#322;ug RPC. Je&#347;li tak, identyfikowana jest aplikacja i jej 
          wersja. Opcja pobiera takie same informacje jak komenda 
          <command moreinfo="none">rpcinfo -p</command>, nawet je&#347;li host jest
          chroniony za pomoc&#261; systemu zaporowego (lub TCP wrapper&#243;w). Hosty
          po&#347;rednie zombie nie s&#261; obs&#322;ugiwane przy tym trybie skanowania.
          Opcja jest automatycznie aktywowana jako cz&#281;&#347;&#263; wykrywania wersji
          us&#322;ug (<option>-sV</option>). Jako &#380;e detekcja wersji jest daleko 
          bardziej uniwersalna, opcja <option>-sR</option> jest wykorzystywana 
          sporadycznie.</para>
        </listitem>
      </varlistentry>
  
    </variablelist>
  </refsect1>

  <refsect1 id="man-os-detection">

    <title>Wykrywanie systemu operacyjnego</title>

    <para>Jedna z najbardziej znanych mo&#380;liwo&#347;ci Nmapa jest zdalna detekcja
    systemu operacyjnego za pomoc&#261; odcisk&#243;w palca (fingerprint) stosu TCP/IP.
    Nmap wysy&#322;a seri&#281; pakiet&#243;w TCP i UDP do zdalnego systemu i analizuje
    praktycznie ka&#380;dy bit z uzyskanych odpowiedzi. Po wykonaniu dziesi&#261;tek 
    test&#243;w takich jak pr&#243;bkowanie ISN TCP, analiza opcji protoko&#322;u TCP i 
    kolejno&#347;ci, pr&#243;bkowanie IPID i kontrola pocz&#261;tkowych rozmiar&#243;w okna, Nmap
    por&#243;wnuje uzyskane wyniki z baz&#261; z pliku 
    <filename moreinfo="none">nmap-os-fingerprints</filename>
    zawieraj&#261;c&#261; ponad 1500 znanych odcisk&#243;w system&#243;w operacyjnych i wy&#347;wietla
    wynik, je&#347;li uda&#322;o sie go odnale&#378;&#263;.
    Ka&#380;dy odcisk zawiera tekstowy opis systemu operacyjnego, nazw&#281; jego 
    producenta (np. Sun), nazw&#281; systemu (np. Solaris), generacj&#281; (np. 10) i typ
    urz&#261;dzenia (przeznaczenie og&#243;lne, router, switch, konsola do gier itp).</para>

    <para>Je&#347;li Nmap nie mo&#380;e ustali&#263; systemu i warunki do jego wykrycia s&#261;
    wystarczaj&#261;ce (np. wykryto przynajmniej jeden otwarty i jeden zamkni&#281;ty 
    port), Nmap poda adres URL, dzi&#281;ki kt&#243;remu, je&#347;li jeste&#347;my pewni, mo&#380;liwe 
    jest wys&#322;anie opisu nieznanego systemu, wraz z jego odciskiem. Wykonanie 
    tej operacji przyczynia si&#281; do rozbudowy bazy i poprawy wykrywania, na czym
    korzystaj&#261; wszyscy u&#380;ytkownicy.</para>

    <para>Detekcja systemu operacyjnego pozwala na uzyskanie innych informacji,
    kt&#243;re s&#261; zbierane podczas tego procesu. Jedn&#261; z nich jest czas od 
    uruchomienia hosta, co jest uzyskiwane poprzez wykorzystanie opcji TCP
    timestamp (RFC 1323) do ustalenia kiedy host by&#322; restartowany. Informacja
    ta jest podawana tylko wtedy, je&#347;li host jej dostarcza. Inn&#261; informacj&#261; jest
    klasyfikacja przewidywalno&#347;ci numer&#243;w sekwencyjnych TCP. Badane jest 
    prawdopodobie&#324;stwo mo&#380;liwo&#347;ci wstrzykni&#281;cia pakiet&#243;w w przechwycone
    po&#322;&#261;czenie. Informacja ta jest przydatna w przypadku testowania po&#322;&#261;cze&#324;
    opartych na zaufaniu do adresu IP nadawcy (rlogin, filtry firewalla itp)
    lub podczas ukrywania &#378;r&#243;d&#322;a ataku. Ten typ atak&#243;w jest obecnie rzadko
    wykorzystywany, jednak niekt&#243;re systemy s&#261; nadal na niego podatne.
    Podawany poziom trudno&#347;ci jest oparty na statystycznych pr&#243;bkach i mo&#380;e
    si&#281; zmienia&#263;. Og&#243;lnie lepiej jest u&#380;ywa&#263; angielskich okre&#347;le&#324; dla
    poszczeg&#243;lnych klas, takich jak <quote>worthy challenge</quote> (stanowi&#261;cy 
    wyzwanie) lub <quote>trivial joke</quote> (trywialny dowcip). Taki spos&#243;b
    raportowania jest dost&#281;pny tylko przy domy&#347;lnym formacie raportu przy
    w&#322;&#261;czonej opcji zwi&#281;kszaj&#261;cej szczeg&#243;&#322;owo&#347;&#263; podawanych informacji 
    (<option>-v</option>). Je&#347;li u&#380;yto opcji <option>-v</option> w po&#322;&#261;czeniu z
    <option>-O</option>, podane zostan&#261; informacje o generowaniu numer&#243;w 
    sekwencyjnych IPID. Wi&#281;kszo&#347;&#263; adres&#243;w nale&#380;y do klasy 
    <quote>incremental</quote> (rosn&#261;ce) co oznacza, &#380;e warto&#347;&#263; pola ID w
    nag&#322;&#243;wkach pakiet&#243;w IP jest zmieniana rosn&#261;co w kolejnych pakietach. Taki
    spos&#243;b powi&#281;kszania numer&#243;w powoduje podatno&#347;&#263; na szereg atak&#243;w.</para>

    <para>Dokument opisuj&#261;cy dzia&#322;anie i u&#380;ywanie detekcji wersji jest 
    dost&#281;pny w wielu j&#281;zykach pod adresem 
    <ulink url="http://www.insecure.org/nmap/osdetect/"/>.</para>

    <para>Wykrywanie systemu operacyjnego jest w&#322;&#261;czane i kontrolowane przez 
    poni&#380;sze opcje:</para>

    <variablelist>
      <varlistentry>
        <term>
          <option>-O</option> (W&#322;&#261;czenie wykrywania systemu operacyjnego)
        </term>
        <listitem>
          <para>W&#322;&#261;cza wykrywanie systemu operacyjnego opisanego powy&#380;ej.
          Alternatywnie mo&#380;na u&#380;ywa&#263; opcji <option>-A</option>, kt&#243;ra w&#322;&#261;cza 
          jednocze&#347;nie wykrywanie systemu operacyjnego i wersji us&#322;ug.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--osscan-limit</option> (Limitowanie wykrywania do 
          obiecuj&#261;cych cel&#243;w)
        </term>
        <listitem>
          <para>Wykrywanie systemu operacyjnego jest du&#380;o bardziej efektywne,
          je&#347;li wykryto przynajmniej po jednym otwartym i zamkni&#281;tym porcie TCP.
          U&#380;ycie tej opcji spowoduje, &#380;e Nmap nie b&#281;dzie pr&#243;bowa&#322; okre&#347;la&#263; 
          systemu operacyjnego, je&#347;li nie zosta&#322;y spe&#322;nione powy&#380;sze kryteria.
          Wykorzystanie tego ograniczenia pozwala na znaczne skr&#243;cenie czasu, 
          zw&#322;aszcza w po&#322;&#261;czeniu z opcj&#261; <option>-P0</option> przy skanowaniu 
          wielu adres&#243;w. Opcja ma znaczenie tylko w po&#322;&#261;czeniu z
          <option>-O</option> lub <option>-A</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--osscan-guess</option>; <option>--fuzzy</option> 
          (Zgadywanie wersji systemu operacyjnego)
        </term>
        <listitem>
          <para>Je&#347;li Nmap nie mo&#380;e jednoznacznie dopasowa&#263; systemu 
          operacyjnego, czasami mo&#380;e sugerowa&#263; kilka r&#243;&#380;nych, zbli&#380;onych 
          do siebie. Podobie&#324;stwo musi by&#263; bardzo du&#380;e, &#380;eby Nmap zachowa&#322;
          si&#281; w ten spos&#243;b przy domy&#347;lnej konfiguracji. Wykorzystanie tej opcji
          pozwala na wi&#281;ksz&#261; swobodno&#347;&#263; przy pr&#243;bach ustalenia wersji systemu.
          </para>
        </listitem>
      </varlistentry>


    </variablelist>
  </refsect1>

   <refsect1 id="man-performance">
    <title>Zale&#380;no&#347;ci czasowe i wydajno&#347;&#263;</title>
    <para>Zawsze najwa&#380;niejszym priorytetem przy tworzeniu Nmapa by&#322;a
    wysoka wydajno&#347;&#263;. Domy&#347;lne skanowanie (<command moreinfo="none">nmap
    <replaceable>nazwahosta</replaceable></command>) hosta w sieci lokalnej
    zajmuje tylko jedn&#261; pi&#261;t&#261; sekundy. Jest to zadowalaj&#261;cy czas, jednak przy
    skanowaniu setek tysi&#281;cy adres&#243;w sumaryczny czas staje si&#281; bardzo du&#380;y. 
    Dodatkowo niekt&#243;re typy skanowania, takie jak skanowanie UDP i detekcja 
    wersji tak&#380;e wp&#322;ywaj&#261; negatywnie na czas wykonania, podobnie jak konfiguracja 
    system&#243;w zaporowych, na przyk&#322;ad limituj&#261;ca ilo&#347;&#263; pakiet&#243;w. Nmap posiada 
    mo&#380;liwo&#347;ci r&#243;wnoleg&#322;ego skanowania i odpowiednie zaawansowane algorytmy 
    przyspieszaj&#261;ce skanowanie, a u&#380;ytkownik posiada ogromne mo&#380;liwo&#347;ci 
    wp&#322;ywania na to jak s&#261; one wykorzystywane. Zaawansowani u&#380;ytkownicy 
    uwa&#380;nie przegl&#261;daj&#261;cy komendy Nmapa, nakazuj&#261; mu dostarczanie tylko 
    istotnych informacji zgodnie z przyj&#281;tymi wymaganiami i za&#322;o&#380;eniami 
    czasowymi.</para>

    <para>Techniki przyspieszaj&#261;ce skanowanie dotycz&#261; ograniczenia wykonywania
    ma&#322;o istotnych test&#243;w i cz&#281;stej zmiany wersji Nmapa na najnowsz&#261; (zmiany
    dotycz&#261;ce przyszpieszenia pracy s&#261; wprowadzane dosy&#263; cz&#281;sto). Optymalizacja
    parametr&#243;w dotycz&#261;cych szybko&#347;ci skanowania r&#243;wnie&#380; ma du&#380;y wp&#322;yw i 
    zosta&#322;a opisana poni&#380;ej.</para>

    <variablelist>

      <varlistentry>
        <term>
        <option>--min-hostgroup &lt;ilo&#347;&#263;_host&#243;w&gt;</option>; 
        <option>--max-hostgroup
        &lt;numhosts&gt;</option> (Zmiana ilo&#347;ci host&#243;w w grupie)</term>
        <listitem>
<para>Nmap posiada mo&#380;liwo&#347;&#263; skanowania port&#243;w i wersji na wielu hostach
r&#243;wnocze&#347;nie. Jest to realizowane poprzez dzielenie listy adres&#243;w docelowych
na grupy, kt&#243;re s&#261; nast&#281;pnie kolejno skanowane. Og&#243;lnie skanowanie wi&#281;kszych 
grup jest bardziej efektywne. Wad&#261; tego rozwi&#261;zania jest op&#243;&#378;nienie w podawaniu
wynik&#243;w test&#243;w do czasu przeskanowania ca&#322;ej grupy. Przyk&#322;adowo, je&#347;li Nmap
rozpocz&#261;&#322; skanowanie w grupach po 50 adres&#243;w, &#380;adne wyniki nie zostan&#261; 
wy&#347;wietlone (poza informacjami podawanymi przez -v) do czasu zako&#324;czenia 
skanowania pierwszych 50 adres&#243;w.</para>

<para>Domy&#347;lnie Nmap stosuje rozwi&#261;zanie kompromisowe. Rozpoczyna z grup&#261; o
rozmiarze 5, co pozwala szybko wy&#347;wietli&#263; pierwsze wyniki, a nast&#281;pnie 
stopniowo powi&#281;ksza rozmiar grupy a&#380; do maksymalnie 1024. Dok&#322;adne 
wykorzystywane rozmiary grup s&#261; uzale&#380;nione od podania dodatkowych opcji.
Dla uzyskania wi&#281;kszej efektywno&#347;ci Nmap u&#380;ywa wi&#281;kszych grup dla skanowa&#324; UDP
oraz przy skanowaniach TCP dotycz&#261;cych zaledwie kilku port&#243;w.</para>

<para>Je&#347;li maksymalny rozmiar grupy zosta&#322; okre&#347;lony za pomoc&#261; opcji
<option>--max-hostgroup</option>, Nmap nigdy nie przekroczy tego limitu.
Analogicznie podanie minimalnego rozmiaru za pomoc&#261; 
<option>--min-hostgroup</option> wymusi stosowanie grup o przynajmniej takim 
rozmiarze. Nmap mo&#380;e u&#380;y&#263; mniejszej grupy tylko w przypadku, kiedy ilo&#347;&#263; 
adres&#243;w do przeskanowania jest mniejsza ni&#380; za&#322;o&#380;one minimum. Obie wymienione 
opcje pozwalaj&#261; na utrzymywanie rozmiaru grupy w podanym przedziale, jednak
jest to rzadko potrzebne.</para>

<para>Podstawowym zastosowaniem tych opcji jest podawanie du&#380;ego minimalnego
rozmiaru grupy tak, &#380;eby pe&#322;ne skanowanie odbywa&#322;o si&#281; szybciej. Cz&#281;sto 
stosowan&#261; warto&#347;ci&#261; jest 256, co pozwala na skanowanie w kawa&#322;kach o rozmiarze
klasy C. Przy skanowaniu wielu port&#243;w, stosowanie wi&#281;kszych warto&#347;ci 
minimalnych przewa&#380;nie nie poprawi wydajno&#347;ci. W przypadku skanowania ma&#322;ych
ilo&#347;ci port&#243;w pomocne mo&#380;e by&#263; stosowanie grup o rozmiarze 2048 lub nawet 
wi&#281;kszym.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>--min-parallelism &lt;ilo&#347;&#263;_pr&#243;b&gt;</option>;
        <option>--max-parallelism
        &lt;ilo&#347;&#263;_pr&#243;b&gt;</option> (Kontrola wsp&#243;&#322;bierzno&#347;ci test&#243;w)</term>
        <listitem>

<para>Opcja ta kontroluje ilo&#347;&#263; jednoczesnych dla danej grupy adres&#243;w 
test&#243;w i jest wykorzystywana podczas wykrywania host&#243;w i skanowania port&#243;w.
Domy&#347;lnie Nmap dobiera idealn&#261; ilo&#347;&#263; test&#243;w w zale&#380;no&#347;ci od parametr&#243;w sieci.
Je&#347;li jaki&#347; pakiet zostanie zagubiony, zwalnia i zaczyna wykonywa&#263;
mniejsz&#261; ilo&#347;&#263; test&#243;w r&#243;wnolegle. Nmap pr&#243;buje powoli przyspiesza&#263;, je&#347;li nie
s&#261; gubione pakiety. Podane opcje pozwalaj&#261; na okre&#347;lenie minimalnego i 
maksymalnego limitu ilo&#347;ci jednocze&#347;nie wykonywanych test&#243;w. Normalnie ilo&#347;&#263; 
ta mo&#380;e spa&#347;&#263; do 1 przy z&#322;ych warunkach sieciowych lub wzrosn&#261;&#263; do kilkuset
w idealnych warunkach.</para>

<para>Najcz&#281;&#347;ciej wykorzystywana jest opcja
<option>--min-parallelism</option> do ustawiania wy&#380;szej ni&#380; 1 warto&#347;ci przy
skanowaniu sieci przy z&#322;ych warunkach. Zmiana tej opcji mo&#380;e by&#263; ryzykowna, 
poniewa&#380; ustawienie zbyt wysokiej warto&#347;ci mo&#380;e sie odbi&#263; na poprawno&#347;ci test&#243;w.
Wykorzystanie jej tak&#380;e poci&#261;ga za sob&#261; zmniejszenie mo&#380;liwo&#347;ci Nmapa w 
zakresie dynamicznego dostosowywania si&#281; do warunk&#243;w panuj&#261;cych w sieci.
Ustalenie minimalnej ilo&#347;ci na 10 mo&#380;e by&#263; sensowne, jednak powinno by&#263; 
stosowane w ostateczno&#347;ci.</para>

<para>Opcja <option>--max-parallelism</option> jest czasami wykorzystywana do 
zmuszenia Nmapa do nie przeprowadzania wi&#281;cej ni&#380; jednego testu r&#243;wnolegle, co
mo&#380;e by&#263; u&#380;yteczne w po&#322;&#261;czeniu z opcj&#261;<option>--scan-delay</option> (opisan&#261;
dalej).</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>--min_rtt_timeout &lt;czas&gt;</option>, 
        <option>--max-rtt-timeout &lt;czas&gt;</option>, 
        <option>--initial-rtt-timeout
        &lt;czas&gt;</option> (Kontrola czasu oczekiwania na wykonanie testu)</term>
        <listitem>

<para>Nmap posiada mechanizm kontroluj&#261;cy czas oczekiwania na wynik testu,
zanim nie zostanie on ponowiony. Czas oczekiwania jest zale&#380;ny od czasu 
wykonania poprzednich test&#243;w. Je&#347;li op&#243;&#378;nienia w sieci oka&#380;&#261; sie du&#380;e i 
zmienne, czas oczekiwania mo&#380;e zwi&#281;kszy&#263; sie do kilku sekund. Pocz&#261;tkowa
warto&#347;&#263; jest dosy&#263; konserwatywna (wysoka) i mo&#380;e taka pozosta&#263; w przypadku
skanowania nie odpowiadaj&#261;cych host&#243;w.</para>

<para>Opcje przyjmuj&#261; warto&#347;ci w milisekundach, ale mo&#380;na doda&#263; litery
<literal moreinfo="none">s</literal>, <literal moreinfo="none">m</literal> 
lub <literal moreinfo="none">h</literal> odnosz&#261;ce si&#281; odpowiednio do sekund,
minut i godzin. Podanie ni&#380;szych warto&#347;ci <option>--max-rtt-timeout</option> i
<option>--initial-rtt-timeout</option> ni&#380; domy&#347;lne, mo&#380;e znacz&#261;co skr&#243;ci&#263; czas
skanowania. Jest to g&#322;&#243;wnie widoczne w przypadku skanowania bez wykorzystywania
pinga (<option>-P0</option>) oraz przy skanowaniu dobrze filtrowanych sieci.
Nie mo&#380;na r&#243;wnie&#380; przesadza&#263; w drug&#261; stron&#281;, ustawienie zbyt ma&#322;ego czasu
mo&#380;e przek&#322;ada&#263; sie na d&#322;u&#380;szy czas skanowania przez niepotrzebne retransmisje 
spowodowane up&#322;ywem czasu oczekiwania na odpowied&#378;.</para>

<para>Je&#347;li wszystkie skanowane hosty s&#261; w sieci lokalnej, sensownym agresywnym
ustawieniem opcje <option>--max-rtt-timeout</option> jest 100 milisekund.
Je&#347;li skanowany ma by&#263; inny segment, warto sprawdzi&#263; czasy odpowiedzi dla 
protoko&#322;u ICMP - za pomoc&#261; narz&#281;dzia ping lub innego pozwalaj&#261;cego na 
definiowanie pakiet&#243;w mog&#261;cych omija&#263; system zaporowy, takiego jak hping2.
Interesuj&#261;c&#261; nas wielko&#347;ci&#261; jest maksymalny czas odpowiedzi dla 10 lub wi&#281;cej 
pakiet&#243;w. Uzyskany czas mo&#380;e zosta&#263; po podwojeniu wykorzystany jako warto&#347;&#263; dla
<option>--initial-rtt-timeout</option>, a po pomno&#380;eniu przez trzy lub cztery
dla <option>--max-rtt-timeout</option>. Nie jest zalecane ustawianie 
maksymalnego rtt poni&#380;ej 100ms, niezale&#380;nie od czas&#243;w pingowania, podobnie 
wi&#281;kszego ni&#380; 1000ms.</para>

<para><option>--min_rtt_timeout</option> jest rzadko wykorzystywan&#261; funkcj&#261;, 
kt&#243;ra mo&#380;e by&#263; przydatna je&#347;li komunikacja sieciowa jest tak niepewna, &#380;e nawet
domy&#347;lne ustawienia Nmapa s&#261; zbyt agresywne. Jako &#380;e Nmap redukuje czas 
oczekiwania tylko do momentu w kt&#243;rym sie&#263; zacznie dzia&#322;a&#263; poprawnie, potrzeba
dodatkowego wyd&#322;u&#380;ania czasu oczekiwania nie jest normalna i powinna zosta&#263;
zaraportowana jako b&#322;&#261;d na li&#347;cie dyskusyjnej nmap-dev.</para>

        </listitem>
      </varlistentry>


      <varlistentry>
        <term>
          <option>--max-retries &lt;ilo&#347;&#263;&gt;</option> (Maksymalna ilo&#347;&#263; pr&#243;b ponawiania skanowania port&#243;w)
        </term>
        <listitem>

<para>Kiedy Nmap nie otrzyma odpowiedzi na skanowanie portu, mo&#380;e to oznacza&#263;,
&#380;e port ten jest filtrowany. Mo&#380;liwe jest jednak tak&#380;e, &#380;e pakiet testu lub 
odpowiedzi po prostu zagin&#261;&#322; w sieci, albo &#380;e host limituje ilo&#347;&#263; mo&#380;liwych
odpowiedzi w jednostce czasu i w&#322;a&#347;nie tymczasowo je zablokowa&#322;. Wi&#281;ksz&#261;
pewno&#347;&#263; uzyskuje si&#281; dzieki powtarzaniu testu w przedstawionych przypadkach.
Je&#347;li Nmap wykryje problemy z komunikacj&#261; sieciow&#261;, mo&#380;e ponawia&#263; pr&#243;b&#281; badania
portu wiele razy, zanim sie podda. Z jednej strony zwi&#281;ksza to dok&#322;adno&#347;&#263; 
test&#243;w, z drugiej wyd&#322;u&#380;a czas ich wykonania. Je&#347;li wydajno&#347;&#263; jest krytycznym 
aspektem, skanowania mog&#261; zosta&#263; przyspieszone poprzez limitowanie dozwolonej 
ilo&#347;ci retransmisji. Ustawienie opcji <option>--max-retries 0</option> ,
ca&#322;kowicie wy&#322;&#261;czaj&#261;cej powtarzanie test&#243;w jest wykorzystywane sporadycznie.
</para>

<para>Domy&#347;lnie (bez stosowania opcji <option>-T</option>) dozwolone jest 
maksymalnie 10 powt&#243;rze&#324;. Je&#347;li sie&#263; dzia&#322;a prawid&#322;owo i skanowane hosty nie
limituj&#261; ilo&#347;ci pakiet&#243;w, Nmap zwykle wykorzystuje jedn&#261; retransmisj&#281;. Dlatego te&#380;
wi&#281;kszo&#347;&#263; skanowa&#324; nie zostanie dotkni&#281;tych zmian&#261; warto&#347;ci 
<option>--max-retries</option> na trzy. Stosowanie tak niskich warto&#347;ci pozwala
na znaczne przyspieszenie skanowania host&#243;w limituj&#261;cych ilo&#347;&#263; odpowiedzi.
Je&#347;li Nmap b&#281;dzie zbyt szybko poddawa&#322; si&#281; przy skanowaniu port&#243;w, cz&#281;&#347;&#263; 
informacji nie zostanie zebrana, dlatego by&#263; mo&#380;e warto skorzysta&#263; z opcji
przerywaj&#261;cej test <option>--host-timeout</option>, kt&#243;ra dotyczy ca&#322;ego hosta,
a nie tylko pojedynczych test&#243;w.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--host-timeout &lt;czas&gt;</option> (Pomijaj powolne hosty)
        </term>
        <listitem>

<para>Skanowanie niekt&#243;rych host&#243;w trwa <emphasis>bardzo d&#322;ugo</emphasis>.
Mo&#380;e to by&#263; spowodowane niezbyt wydajnym sprz&#281;tem sieciowym lub 
oprogramowaniem, limitowaniem ilo&#347;ci pakiet&#243;w czy restrykcjami systemu
zaporowego. Niewielki procent host&#243;w mo&#380;e zabra&#263; wi&#281;kszo&#347;&#263; czasu przeznaczonego
na skanowanie. Czasami najlepszym rozwi&#261;zaniem jest ich pomini&#281;cie z 
wykorzystaniem opcji <option>--host-timeout</option> z parametrem oznaczaj&#261;cym 
ilo&#347;&#263; milisekund, jakie jeste&#347;my w stanie po&#347;wi&#281;ci&#263; na czekanie per host.
Parametr mo&#380;na r&#243;wnie&#380; podawa&#263; w sekundach, minutach lub godzinach dodaj&#261;c 
odpowiednio litery <literal moreinfo="none">s</literal>, 
<literal moreinfo="none">m</literal> lub <literal moreinfo="none">h</literal>.
Cz&#281;sto dodaj&#281; <literal moreinfo="none">30m</literal> &#380;eby mie&#263; pewno&#347;&#263;, &#380;e Nmap 
nie b&#281;dzie skanowa&#322; jednego hosta d&#322;u&#380;ej ni&#380; p&#243;&#322; godziny. Trzeba pami&#281;ta&#263;, &#380;e 
Nmap mo&#380;e r&#243;wnolegle w tym czasie skanowa&#263; inne hosty, wi&#281;c nie bedzie to czas 
kompletnie stracony.  Host kt&#243;ry przekroczy czas jest pomijany i nie s&#261; dla 
niego wy&#347;wietlane wyniki takie jak lista port&#243;w, system operacyjny czy wersje 
us&#322;ug.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>--scan-delay &lt;czas&gt;</option>;
        <option>--max_scan-delay
        &lt;czas&gt;</option> (Ustaw op&#243;&#378;nienie pomi&#281;dzy testami)</term>
        <listitem>

<para>Opcja pozwala na narzucenie czasu w milisekundach jaki musi min&#261;&#263;
pomi&#281;dzy kolejnymi testami dla badanego hosta. Podobnie jak przy innych opcjach
pozwalaj&#261;cych na okre&#347;lanie czasu, mo&#380;na doda&#263; 
<literal moreinfo="none">s</literal>,
<literal moreinfo="none">m</literal> lub <literal moreinfo="none">h</literal>
do parametru do okre&#347;lenia go odpowiednio w sekundach, minutach lub godzinach.
Opcja ta jest szczeg&#243;lnie u&#380;yteczna w przypadku system&#243;w limituj&#261;cych ilo&#347;&#263;
pakiet&#243;w. Solaris zwykle odpowiada na skanowanie UDP poprzez wysy&#322;anie tylko
jednego pakietu ICMP na sekund&#281;, wi&#281;c wysy&#322;anie zapyta&#324; szybciej jest zupe&#322;nie
nie potrzebne. Wykorzystanie opcji <option>--scan-delay 1s</option> pozwala na
wymuszenie odpowiedniej pr&#281;dko&#347;ci skanowania. Normalnie Nmap stara si&#281; 
wykry&#263; jaka powinna by&#263; optymalna pr&#281;dko&#347;&#263; skanowania dla ka&#380;dego hosta, jednak
r&#281;czne dodanie takiej opcji nie zaszkodzi, o ile znana jest optymalna pr&#281;dko&#347;&#263;.</para>

<para>Kiedy Nmap zwi&#281;ksza czas op&#243;&#378;nienia, dostosowuj&#261;c go do
limitu ilo&#347;ci otrzymywanych odpowiedzi, czas skanowania dramatycznie ro&#347;nie.
Opcja <option>--max_scan-delay</option> pozwala na ustawienie maksymalnego
limitu do kt&#243;rego mo&#380;e by&#263; automatycznie zwi&#281;kszane op&#243;&#378;nienie. Ustawienie
tej warto&#347;ci zbyt nisko mo&#380;e spowodowa&#263; niepotrzebne retransmisje i 
pomini&#281;cie niekt&#243;rych port&#243;w w przypadku host&#243;w &#347;ci&#347;le limituj&#261;cych ilo&#347;&#263;
pakiet&#243;w.</para>

<para>Inn&#261; mo&#380;liwo&#347;ci&#261; wykorzystanie opcji <option>--scan-delay</option>
jest omijanie system&#243;w detekcji intruz&#243;w (IDS/IPS).</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-T
          &lt;Paranoid|Sneaky|Polite|Normal|Aggressive|Insane&gt;</option>
          (Ustawnienie szablonu zale&#380;no&#347;ci czasowych skanowania)
        </term>
        <listitem>

<para>Opisane wcze&#347;niej opcje do zmiany zale&#380;no&#347;ci czasowych pozwalaj&#261; na
efektywne i precyzyjne sterowanie skanowaniem, jednak wiele os&#243;b uzna je za 
niepotrzebnie skomplikowane. Dodatkowo w wielu przypadkach dobranie 
odpowiedniej kombinacji parametr&#243;w mo&#380;e zaj&#261;&#263; wi&#281;cej czasu, ni&#380; samo
skanowanie. Z tego powodu Nmap oferuje prostrze rozwi&#261;zanie w postaci
sze&#347;ciu szablon&#243;w. Ich wyb&#243;r jest mo&#380;liwy poprzez wykorzystanie opcji
<option>-T</option> z parametrem oznaczaj&#261;cym numer lub nazw&#281; szablonu.
Dost&#281;pne szablony to paranoid (0, paranoidalny), sneaky (1, podst&#281;pny),
polite (2, grzeczny), normal (3, normalny), aggressive (4, agresywny) i 
insane (5, szalony). Pierwsze dwa wykorzystywane s&#261; do omijania system&#243;w
IDS. Szablon polite spowalnia skanowanie powoduj&#261;c mniejsze obci&#261;&#380;enie &#322;&#261;cza
i zmniejszaj&#261;ce wykorzystanie zasob&#243;w w badanym systemie. Domy&#347;lnie u&#380;ywany
jest normal, wi&#281;c podawanie <option>-T3</option> nic nie zmieni. Szablon 
agresywny przyspiesza skanowanie przy za&#322;o&#380;eniu &#380;e korzystamy z szybkiej i
nie przeci&#261;&#380;onej sieci. Insane zak&#322;ada wykorzystanie ponad przeci&#281;tnie szybkiej
sieci lub je&#347;li chcemy uzyska&#263; du&#380;&#261; szybko&#347;&#263; kosztem mo&#380;liwej utraty 
dok&#322;adno&#347;ci.</para>

<para>Szablony pozwalaj&#261; poinformowa&#263; Nmapa jak du&#380;ej agresywno&#347;ci od niego
oczekujemy przy jednoczesnym pozwoleniu mu na automatyczne dobieranie 
pozosta&#322;ych parametr&#243;w czasowych. Wprowadzane te&#380; s&#261; inne drobne modyfikacje,
do kt&#243;rych nie istniej&#261; odzielne opcje. Na przyk&#322;ad, <option>-T4</option> 
zabrania wzrostu dynamicznego op&#243;&#378;nienia skanowania powy&#380;ej 10ms dla port&#243;w 
TCP, a w przypadku <option>-T5</option> powy&#380;ej 5ms. Szablony mog&#261; by&#263; u&#380;ywane 
w po&#322;&#261;czeniu z innymi opcjami do ustawiania zale&#380;no&#347;ci czasowych o ile zostan&#261; 
umieszczone przed pozosta&#322;ymi opcjami w linii polece&#324; 
(inaczej domy&#347;lne ustawienia z szablonu zast&#261;pi&#261; ustawione innymi opcjami).
Wi&#281;kszo&#347;&#263; dzisiejszych sieci mo&#380;e by&#263; z powodzeniem skanowana z wykorzystaniem
opcji <option>-T4</option>.</para>

<para>Je&#347;li u&#380;ywasz &#322;&#261;cza szerokopasmowego lub sieci ethernet, rekomendowane 
jest sta&#322;e u&#380;ywanie szablonu <option>-T4</option>. Wiele os&#243;b lubi 
<option>-T5</option>, lecz jest ono jak dla mnie troch&#281; za agresywne. Ludzie 
czasami u&#380;ywaj&#261; <option>-T2</option> poniewa&#380; my&#347;l&#261;, &#380;e zminiejszaj&#261; szanse 
na zawieszenie serwera lub uwa&#380;aj&#261; si&#281; za bardziej kulturalnych z za&#322;o&#380;enia, 
cz&#281;sto nie zdaj&#261;c sobie sprawy z tego, jak wolne jest <option>-T Polite</option> 
- ich skanowania mo&#380;e trwa&#263; dziesi&#281;&#263; razy d&#322;u&#380;ej. Zawieszanie host&#243;w i problemy 
z pasmem s&#261; rzadko spotykane przy domy&#347;lym <option>-T3</option>, i ta opcja jest
polecana dla ostro&#380;nych skanuj&#261;cych. Nie w&#322;&#261;czanie detekcji wersji jest daleko 
bardziej efektywnym sposobem na unikanie problem&#243;w.</para>

<para>Podczas gdy opcje <option>-T0</option> i <option>-T1</option> mog&#261; by&#263; 
u&#380;yteczne przy unikaniu wykrycia przez systemy IDS, s&#261; niesamowicie powolne
przy skanowaniu setek adres&#243;w lub port&#243;w. Przy tak d&#322;ugich skanowaniach mo&#380;esz
raczej chcie&#263; ustawi&#263; r&#281;cznie poszczeg&#243;lne zale&#380;no&#347;ci czasowe, ni&#380; polega&#263; na
predefiniowanych warto&#347;ciach z <option>-T0</option> i <option>-T1</option>.
</para>

<para>G&#322;&#243;wnym efektem dzia&#322;ania <option>T0</option> jest ograniczenie ilo&#347;ci
r&#243;wnolegle przeprowadzanych test&#243;w do jednego i wprowadzenie odst&#281;pu pomi&#281;dzy 
kolejnymi testami o d&#322;ugo&#347;ci 5 minut. Opcje <option>T1</option> i
<option>T2</option> s&#261; podobne, ale czakaj&#261; ju&#380; tylko odpowiednio 15 i 0.4 
sekundy pomi&#281;dzy testami. <option>T3</option> jest domy&#347;lnym ustawieniem Nmapa 
w&#322;&#261;czaj&#261;c w to zr&#243;wnoleglanie test&#243;w. <option>T4</option> jest odpowiednikiem 
podania opcji <option>--max-rtt-timeout 1250 --initial-rtt-timeout 500 
--max-retries 6</option> i ustawienia maksymalnego op&#243;&#378;nienia przy skanowaniu 
TCP na 10 milisekund. Opcja <option>T5</option> jest alternatyw&#261; dla 
<option>--max-rtt-timeout 300 --min_rtt_timeout 50 --initial-rtt-timeout 250 
--max-retries 2 --host-timeout 900000</option> oraz ustawienia maksymalnego 
czasu op&#243;&#378;nienia dla skanowania TCP na 5ms.</para>

        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="man-bypass-firewalls-ids">
    <title>Firewall/IDS i podszywanie si&#281;</title>

<para>Wielu pionier&#243;w ineternetu wykorzystywa&#322;o globaln&#261; otwart&#261; sie&#263; opart&#261;
o uniwersaln&#261; przestrze&#324; adresow&#261; pozwalaj&#261;c&#261; na tworzenie wirtualnych
po&#322;&#261;cze&#324; pomi&#281;dzy dwoma dowolnymi w&#281;z&#322;ami. Pozwala&#322;o to hostom na r&#243;wnoprawn&#261;
komunikacj&#281; przy kt&#243;rej ka&#380;dy m&#243;g&#322; serwowa&#263; i pobiera&#263; dane od drugiego.
Ludzie mogli uzyska&#263; dost&#281;p do wszystkich swoich system&#243;w z dowolnego miejsca
w sieci. Wizja nieograniczonej &#322;&#261;czno&#347;ci zosta&#322;a ograniczona przez wyczerpuj&#261;ce
si&#281; zapasy wolnych adres&#243;w IP i wzgl&#281;dy bezpiecze&#324;stwa. We wczesnych latach
90-tych organizacje zacz&#281;&#322;y masowo wprowadza&#263; systemy zaporowe dla ograniczenia
mo&#380;liwo&#347;ci komunikacji.  Du&#380;e sieci zosta&#322;y otoczone kordonem zabezpiecze&#324; w 
postaci proxy aplikacyjnych, translacji adres&#243;w i filtrowania pakiet&#243;w.
Niczym nie ograniczany przep&#322;yw informacji ust&#261;pi&#322; &#347;cis&#322;ym regulacjom 
dotycz&#261;cym dozwolonych dr&#243;g komunikacji i tre&#347;ci nimi przesy&#322;anych.</para>

<para>Zabezpieczenia sieciowe takie jak systemy zaporowe mog&#261; bardzo utrudni&#263;
uzyskiwanie informacji o sieci i jej architekturze. 
Nmap posiada wiele funkcji pozwalaj&#261;cych zrozumie&#263; dzia&#322;anie z&#322;o&#380;onych sieci i
na weryfikacje dzia&#322;ania filtr&#243;w pakiet&#243;w i ich zgodno&#347;ci z za&#322;o&#380;eniami.
Pozwala nawet na omijanie &#378;le zaimplementowanych zabezpiecze&#324;. Jednym z 
najlepszych sposob&#243;w na poznanie bezpiecze&#324;stwa swojej sieci jest pr&#243;ba jego
prze&#322;amania. Zacznij my&#347;le&#263; jak atakuj&#261;cy, kt&#243;ry stosuje techniki z tej cz&#281;&#347;ci
dokumentacji przeciwko Twojej sieci. Uruchom skanowania FTP bounce, Idle, dodaj 
fragmentacj&#281; pakiet&#243;w lub spr&#243;buj uruchomi&#263; tunel omijaj&#261;cy lokalne proxy.</para>

<para>W po&#322;&#261;czeniu z ograniczeniami aktywno&#347;ci sieciowej, firmy coraz cz&#281;&#347;ciej
rozpoczynaj&#261; monitorowanie ruchu sieciowego za pomoc&#261; system&#243;w detekcji intruz&#243;w 
(IDS). Wszystkie popularne systemy IDS maj&#261; do&#322;&#261;czone regu&#322;y wykrywaj&#261;ce 
skanowania Nmapa, poniewa&#380; skanowania takie czasami poprzedzaj&#261; ataki. Wiele z tych
system&#243;w ostatnio przeistoczy&#322;o si&#281; w systemy <emphasis>prewencji</emphasis> 
(IPS), kt&#243;re aktywnie przeciwstawiaj&#261; si&#281; niepo&#380;&#261;danemu ruchowi. Niestety, dla
administrator&#243;w sieci i producent&#243;w system&#243;w IDS, wiarygodne wykrywanie z&#322;ych
intencji poprzez analiz&#281; pakiet&#243;w jest ci&#281;&#380;kim orzechem do zgryzienia.
Cierpliwi atakuj&#261;cy, posiadaj&#261;cy odpowiednie umiej&#281;tno&#347;ci podparte 
mo&#380;liwo&#347;ciami Nmapa zwykle mog&#261; omin&#261;&#263; systemy detekcji intruz&#243;w i ich 
dzia&#322;ania nie zostan&#261; wykryte. W tym samym czasie administratorzy musz&#261; si&#281;
zmaga&#263; z ogromn&#261; ilo&#347;ci&#261; fa&#322;szywych alarm&#243;w dotycz&#261;cych niepoprawnie
zaklasyfikowanej zupe&#322;nie niewinnej komunikacji.</para>

<para>Co jaki&#347; czas kto&#347; sugeruje, &#380;e Nmap nie powinien oferowa&#263; mo&#380;liwo&#347;ci
omijania system&#243;w zaporowych czy system&#243;w IDS. Argumentuj&#261; to mo&#380;liwo&#347;ci&#261;
wykorzystania tych funkcji tak&#380;e przez atakuj&#261;cych, a nie tylko przez
administrator&#243;w podnosz&#261;cych bezpiecze&#324;stwo swoich sieci. Problemem jest
sama logika, poniewa&#380; atakuj&#261;cy i tak b&#281;d&#261; wykorzystywali tego typu metody
u&#380;ywaj&#261;c innych narz&#281;dzi lub samemu wprowadzaj&#261;c odpowiedni&#261; 
funkcjonalno&#347;&#263; do kodu Nmapa. R&#243;wnocze&#347;nie administratorzy b&#281;d&#261; mieli
utrudniony dost&#281;p do odpowiednich narz&#281;dzi i ich praca b&#281;dzie trudniejsza.
Uruchomienie nowoczesnego, bezpiecznego serwera FTP jest du&#380;o skuteczniejsz&#261;
metod&#261; ochrony ni&#380; ograniczanie dost&#281;pno&#347;ci do narz&#281;dzi pozwalaj&#261;cych na
przeprowadzanie atak&#243;w FTP bounce.</para>

<para>Nie ma magicznej kuli (lub opcji Nmapa) do prze&#322;amywania i obchodzenia
system&#243;w zaporowych i IDS. Wymaga to umiej&#281;tno&#347;ci i do&#347;wiadczenia. Dok&#322;adne
instrukcje wykraczaj&#261; poza zakres tej dokumentacji, kt&#243;ra jest jedynie list&#261;
dost&#281;pnych opcji wraz z opisami jak one dzia&#322;aj&#261;.</para>

<variablelist>
      <varlistentry>
        <term>
          <option>-f</option> (fragmentacja pakiet&#243;w);
          <option>--mtu</option> (U&#380;ywanie wybranego MTU)
        </term>

        <listitem>
          <para>Opcja <option>-f</option> powoduje wykorzystywanie przy 
          skanowaniu (w&#322;&#261;czaj&#261;c w to skanowanie ping) ma&#322;ych pofragmentowanych 
          pakiet&#243;w. Idea polega na podzieleniu nag&#322;&#243;wka TCP na wiele pakiet&#243;w,
          co powoduje utrudnienia w ich przetwarzaniu przez filtry pakiet&#243;w,
          systemy detekcji intruz&#243;w oraz irytuj&#261;ce komplikacje przy ustalaniu 
          co si&#281; dzieje. Ale uwaga! Wiele program&#243;w ma problemy przy obs&#322;udze
          tego typu pakiet&#243;w. Przestarza&#322;y sniffer Sniffit wykonuje 
          nieprawid&#322;ow&#261; operacje i zostaje zamkni&#281;ty zaraz po odebraniu ju&#380; 
          pierwszego z takich pakiet&#243;w. Dodanie tej opcji spowoduje 
          automatyczne dzielenie wszystkich pakiet&#243;w wysy&#322;anych przez Nmapa
          na mniejsze o rozmiarze maksymalnie 8 bajt&#243;w. Przyk&#322;adowo 20 bajtowy
          nag&#322;&#243;wek TCP zostanie podzielony na 3 pakiety: najpierw dwa po 8 
          bajt&#243;w i ostatni 4 bajty. Oczywi&#347;cie ka&#380;dy fragment dostaje w&#322;asny
          nag&#322;&#243;wek IP. Dodanie drugiej opcji <option>-f</option> powi&#281;ksza
          wykorzystywany rozmiar fragment&#243;w z 8 do 16 (redukuj&#261;c ilo&#347;&#263; 
          fragment&#243;w). Mo&#380;liwe jest r&#243;wnie&#380; podanie w&#322;asnego rozmiaru za
          pomoc&#261; opcji <option>--mtu</option>. Nie u&#380;ywaj parametru 
          <option>-f</option>, je&#347;li u&#380;ywasz <option>--mtu</option>. Podawany
          rozmiar musi by&#263; wielokrotno&#347;ci&#261; 8. W niekt&#243;rych systemach filtry
          pakiet&#243;w nie otrzymuj&#261; bezpo&#347;rednio pakiet&#243;w, tylko s&#261; one wst&#281;pnie 
          kolejkowane, tak jak w Linuxie przy ustawieniu opcji 
          CONFIG_IP_ALWAYS_DEFRAG w kernelu, jednak w wielu przypadkach takie
          opcje nie s&#261; w&#322;&#261;czane ze wzgl&#281;d&#243;w wydajno&#347;ciowych. Opcja taka nie
          jest r&#243;wnie&#380; w&#322;&#261;czana je&#347;li zachodzi mo&#380;liwo&#347;&#263; routowania 
          poszczeg&#243;lnych pakiet&#243;w r&#243;&#380;nymi &#347;cie&#380;kami. Niekt&#243;re systemy 
          operacyjne potrafi&#261; defragmentowa&#263; pakiety wysy&#322;ane przez kernel,
          Linux z iptables i modu&#322;em &#347;ledzenia po&#322;&#261;cze&#324; jest jednym z 
          przyk&#322;ad&#243;w. Uruchamiaj&#261;c skanowanie mo&#380;na pods&#322;ucha&#263; za pomoc&#261;
          sniffera takiego jak Ethereal, czy wychodz&#261;ce pakiety s&#261; rzeczywi&#347;cie
          pofragmentowane. Je&#347;li system powoduje tego typu problemy, mo&#380;na
          wypr&#243;bowa&#263; opcje <option>--send-eth</option>, kt&#243;ra pomija stos
          TCP/IP i wysy&#322;a bezpo&#347;renio ramki ethernetowe.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-D &lt;decoy1 [,decoy2][,ME],...&gt;</option>
          (Ukrywaj skanowanie za pomoc&#261; innych host&#243;w)
        </term>
        <listitem>
          <para>Powoduje skanowanie, wykrywane jako przychodz&#261;ce z kilku miejsc
          r&#243;wnocze&#347;nie. System IDS mo&#380;e wykry&#263; 5-10 r&#243;&#380;nych skanowa&#324; z r&#243;&#380;nych
          adres&#243;w, jednak nie b&#281;dzie w stanie oceni&#263; kt&#243;ry z nich jest 
          prawdziwym &#378;r&#243;d&#322;em pochodzenia, a kt&#243;re tylko niewinnymi zas&#322;onami.
          Chocia&#380; metoda ta mo&#380;e zosta&#263; rozpoznana poprzez &#347;ledzenie &#347;cie&#380;ki
          pakiet&#243;w na routerach i innych aktywnych mechanizm&#243;w, og&#243;lnie jest
          efektywn&#261; technik&#261; na ukrywanie swojego adresu IP.</para>

          <para>Podwaj&#261;c list&#281; poszczeg&#243;lnych host&#243;w-zas&#322;on, trzeba je 
          oddzieli&#263; przecinkami, mo&#380;na r&#243;wnie&#380; na tej li&#347;cie umie&#347;cic 
          <literal moreinfo="none">ME</literal> oznaczaj&#261;ce pozycj&#281; w&#322;asnego
          adresu IP na li&#347;cie. W przypadku wykorzystania przynajmniej 6-tej 
          pozycji na li&#347;cie dla w&#322;asnego IP, wiele popularnych system&#243;w 
          wykrywaj&#261;cych skanowania (na przyk&#322;ad scanlogd firmy Solar Designer)
          nawet nie poka&#380;e prawdziwego &#378;r&#243;d&#322;a pochodzenia pakiet&#243;w na li&#347;cie 
          atak&#243;w. Je&#347;li <literal moreinfo="none">ME</literal> nie zostanie
          dodane, Nmap umie&#347;ci je losowo na li&#347;cie.</para>
          
          <para>Nale&#380;y zwr&#243;ci&#263; uwag&#281;, ze hosty-przykrywki powinny by&#263; dost&#281;pne,
          inaczej b&#281;dzie mo&#380;na &#322;atwo wykry&#263; host skanuj&#261;cy i &#380;e mo&#380;na niechc&#261;cy
          dokona&#263; ataku SYN flood na hosty skanowane. Bezpieczniej jest u&#380;ywa&#263;
          adres&#243;w IP zamiast nazw system&#243;w-przykrywek, bo nie zostawi to 
          informacji w logach ich serwera nazw.</para>

          <para>Przykrywki s&#261; u&#380;ywane zar&#243;wno przy pocz&#261;tkowym skanowaniu ping
          (z wykorzystaniem ICMP, SYN ACK itp), podczas skanowania port&#243;w jak i
          przy wykrywaniu systemu operacyjnego. Technika ta nie dzia&#322;a podczas
          wykrywania wersji i skanowania metod&#261; connect().</para>

          <para>U&#380;ywanie zbyt wielu adres&#243;w host&#243;w-przykrywek znacznie spowalnia
          skanowanie i mo&#380;e nawet spowodowa&#263; zmniejszenie dok&#322;adno&#347;ci. Dodatkowo
          niekt&#243;rzy dostawcy us&#322;ug odfiltrowuj&#261; pakiety podszywaj&#261;ce si&#281; pod
          adresy z innych sieci, jednak wielu nie robi tego wcale.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-S &lt;adres_ip&gt;</option> (Ustawienie adresu nadawcy)
        </term>
        <listitem>
          <para>W niekt&#243;rych przypadkach Nmap nie potrafi ustali&#263; w&#322;a&#347;ciwego
          adresu nadawcy (i wy&#347;wietli stosowny komunikat). W takim przypadku
          nale&#380;y za pomoc&#261; opcji <option>-S</option> poda&#263; adres lokalnego 
          interfejsu przez kt&#243;ry maj&#261; by&#263; wysy&#322;ane pakiety.</para>

          <para>Inn&#261; mo&#380;liwo&#347;ci&#261; tej opcji jest podmiana adresu nadawcy tak,
          by cel skanowania uwa&#380;a&#322;, &#380;e skanuje go <emphasis>kto&#347; inny</emphasis>.
          Wyobra&#378; sobie, ze firm&#281; nagle zacznie skanowa&#263; konkurencja! W
          przypadku takiego u&#380;ycia, zwykle b&#281;dzie wymagana opcja 
          <option>-e</option>, a zalecana r&#243;wnie&#380; <option>-P0</option>.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-e &lt;interfejs&gt;</option> (U&#380;yj wybranego interfejsu)
        </term>
        <listitem>
          <para>Informuje Nmapa przez kt&#243;ry interfejs ma wysy&#322;a&#263; i odbiera&#263;
          pakiety. Nmap powinien wykry&#263; go automatycznie, ale je&#347;li mu si&#281;
          nie uda, mo&#380;na to zrobi&#263; r&#281;cznie.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--source-port &lt;numerportu&gt;;</option>
          <option>-g &lt;numerportu&gt;</option> (U&#380;ywaj podanego portu &#378;r&#243;d&#322;owego)
        </term>
        <listitem>

<para>Jednym z najcz&#281;&#347;ciej spotykanych problem&#243;w konfiguracyjnych jest ufanie
danym przychodz&#261;cym z okre&#347;lonego portu &#378;r&#243;d&#322;owego. &#321;atwo jest zrozumie&#263;, czemu
tak si&#281; dzieje. Administrator instaluje nowiusie&#324;ki system zaporowy, kt&#243;rego 
jedyn&#261; wad&#261; s&#261; zg&#322;oszenia od niepocieszonych u&#380;ytkownik&#243;w, kt&#243;rym nagle 
przesta&#322;y dzia&#322;a&#263; aplikacje. Przyk&#322;adem mo&#380;e by&#263; DNS, poniewa&#380; odpowiedzi na
zapytania z zewn&#281;trznych serwer&#243;w przesta&#322;y dochodzi&#263; do sieci. Innym 
przyk&#322;adem jest FTP, przy stosowaniu aktywnych po&#322;&#261;cze&#324; zewn&#281;trzne serwery
pr&#243;buj&#261; utworzy&#263; po&#322;&#261;czenia powrotne do klienta &#380;&#261;daj&#261;cego przes&#322;ania pliku.
</para>

<para>Bezpieczne rozwi&#261;zanie dla tych problem&#243;w istnieje, cz&#281;sto w formie
aplikacyjnych serwer&#243;w proxy lub analizy protoko&#322;u przez systemy zaporowe.
Niestety istniej&#261; r&#243;wnie&#380; inne &#322;atwiejsze, ale i mniej bezpieczne 
rozwi&#261;zania. Wielu administrator&#243;w wpada w pu&#322;apk&#281; zak&#322;adaj&#261;c, &#380;e dane
przychodz&#261;ce z portu 53 s&#261; zawsze odpowiedziami serwera DNS, a z 20 aktywnymi
po&#322;&#261;czeniami FTP i zezwalaj&#261;c na przechodzenie takiego ruchu przez system 
zaporowy. Cz&#281;sto zak&#322;adaj&#261;, &#380;e &#380;aden atakuj&#261;cy nie spr&#243;buje wykorzysta&#263;
takiej luki. Zda&#380;a si&#281; r&#243;wnie&#380;, &#380;e problem taki zostaje wprowadzony do
konfiguracji jako tymczasowe rozwi&#261;zanie, jednak zapominaj&#261; o jego zmianie
na bardziej bezpieczne.</para>

<para>Przepracowani administratorzy nie s&#261; jedynymi, kt&#243;rzy wpadaj&#261; w tak&#261;
pu&#322;apk&#281;. Wiele komercyjnych produkt&#243;w jest dostarczanych z podobnymi 
problemami. Zdarzy&#322;o si&#281; to nawet firmie Microsoft, kt&#243;rej filtry IPsec
dostarczone z Windows 2000 i XP zawieraj&#261; regu&#322;&#281; wpuszczaj&#261;c&#261; ca&#322;y ruch
TCP i UDP pochodz&#261;cy z portu 88 (Kerberos). Innym dobrze znanym przyk&#322;adem jest
Zone Alarm personal firewall, kt&#243;ry do wersji 2.1.25 w&#322;&#261;cznie nie filtrowa&#322;
pakiet&#243;w UDP z port&#243;w 53 (DNS) i 67 (DHCP).</para>

<para>Nmap oferuje dwie ekwiwalentne opcje <option>-g</option> i
<option>--source-port</option> pozwalaj&#261;ce na wykorzystanie opisanej wy&#380;ej 
funkcjonalno&#347;ci poprzez podanie numeru portu z kt&#243;rego wysy&#322;a dane, 
o ile jest to tylko mo&#380;liwe. Nmap musi u&#380;ywa&#263; r&#243;&#380;nych numer&#243;w port&#243;w dla
poprawnego dzia&#322;ania niekt&#243;rych test&#243;w wykrywaj&#261;cych system operacyjny,
zapytania DNS r&#243;wnie&#380; ignoruj&#261; opcj&#281; <option>--source-port</option>, poniewa&#380;
Nmap wykorzystuje do tego biblioteki systemowe. Wi&#281;kszo&#347;&#263; typ&#243;w skanowania
TCP, w&#322;&#261;czaj&#261;c skanowanie SYN obs&#322;uguje t&#281; opcj&#281; we wszystkich przypadkach,
podobnie jak i UDP.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--data-length &lt;rozmiar&gt;</option> (Dodawaj losowe dane
          do wysy&#322;anych pakiet&#243;w)
        </term>
        <listitem>
          <para>Domy&#347;lnie Nmap wysy&#322;a pakiety o minimalnej wielko&#347;ci 
          zawieraj&#261;ce jedynie sam nag&#322;&#243;wek. Pakiety TCP maj&#261; 40 bajt&#243;w, a ICMP
          tylko 28. Ta opcja pozwala do&#322;&#261;cza&#263; do wi&#281;kszo&#347;ci pakiet&#243;w losowe 
          dane o podanym rozmiarze. Pakiety u&#380;ywane do detekcji systemu
          operacyjnego (<option>-O</option>) pozostaj&#261; nie zmienione, ale przy
          wi&#281;kszo&#347;ci pakiet&#243;w ping i skanowania port&#243;w opcja ta jest 
          wykorzystywana. Powi&#281;kszanie pakiet&#243;w spowalnia proces skanowania,
          jednocze&#347;nie czyni&#261;c go mniej podejrzanym.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--ttl &lt;warto&#347;&#263;&gt;</option> (Ustaw czas &#380;ycia pakietu IP)
        </term>
        <listitem>
          <para>Ustawia czas &#380;ycia (TTL) pakiet&#243;w na podan&#261; warto&#347;&#263;.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--randomize-hosts</option> (Losowanie kolejno&#347;ci skanowania host&#243;w)
        </term>
        <listitem>
          <para>Opcja powoduje w&#322;&#261;czenie losowania kolejno&#347;ci host&#243;w w ka&#380;dej 
          grupie do 8096 host&#243;w przed ich skanowaniem. Zachowanie takie czyni
          skanowanie mniej oczywistym dla wielu system&#243;w monitoruj&#261;cych sieci,
          zw&#322;aszcza w po&#322;&#261;czeniu z opcj&#261; spowalniaj&#261;c&#261; skanowanie. Mo&#380;liwe jest
          losowanie z jeszcze wi&#281;kszych grup, poprzez zmian&#281; sta&#322;ej 
          PING_GROUP_SZ w pliku <filename moreinfo="none">nmap.h</filename> 
          i rekompilacji. Innym rozwi&#261;zaniem jest wygenerowanie listy adres&#243;w
          IP za pomoc&#261; opcji lista skanowania (<option>-sL -n -oN
          <replaceable>nazwapliku</replaceable></option>) i losowemu 
          pomieszaniu adres&#243;w na niej za pomoc&#261; skryptu Perla, oraz podaniu jej
          Nmapowi za pomoc&#261; opcji <option>-iL</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--spoof-mac &lt;adres mac, prefiks, lub nazwa producenta
          &gt;</option> (Podmieniaj adres MAC)
        </term>
        <listitem>

          <para>Podaje Nmapowi adres MAC z u&#380;yciem kt&#243;rego b&#281;d&#261; wysy&#322;ane
          wszystkie pakiety ethernet. Opcja w&#322;&#261;cza r&#243;wnie&#380; automatycznie
          <option>--send-eth</option> dla uzyskania pewno&#347;ci wysy&#322;ania
          pakiet&#243;w na poziomie ethernetu. Podany adres MAC mo&#380;e przyjmowa&#263;
          wiele postaci. Je&#347;li zostanie podany znak <quote>0</quote>,
          Nmap wybierze kompletnie losowy adres MAC na czas trwania danej 
          sesji. Podanie parzystej ilo&#347;ci cyfr heksadecymalnych 
          (mog&#261; by&#263; oddzielone dwukropkami), spowoduje wykorzystanie jej jako
          adresu MAC, przy czym je&#347;li podano mniej ni&#380; 12 cyfr szestnastkowych,
          Nmap wype&#322;ni pozosta&#322;o&#347;&#263; 6 bajt&#243;w losowymi warto&#347;ciami. Je&#347;li 
          podany ci&#261;g nie jest 0 lub liczb&#261; heksadecymaln&#261;, Nmap poszuka w
          pliku <filename moreinfo="none">nmap-mac-prefixes</filename> nazwy
          producenta zawieraj&#261;cego podany ci&#261;g (du&#380;e i ma&#322;e litery nie s&#261;
          rozr&#243;&#380;niane) i je&#347;li znajdzie, u&#380;yje identyfikatora producenta
          OUI (3 bajty) wype&#322;niaj&#261;c pozosta&#322;e 3 bajty losowo.
          Przyk&#322;ady poprawnych argument&#243;w to 
          <literal moreinfo="none">Apple</literal>, <literal moreinfo="none">0</literal>,
          <literal moreinfo="none">01:02:03:04:05:06</literal>, 
          <literal moreinfo="none">deadbeefcafe</literal>, 
          <literal moreinfo="none">0020F2</literal>, <literal moreinfo="none">Cisco</literal> itp.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--badsum</option> (Wysy&#322;anie pakiet&#243;w z nieprawid&#322;ow&#261; sum&#261; kontroln&#261; TCP/UDP)
        </term>
        <listitem>

          <para>Powoduje wstawianie do nag&#322;&#243;wk&#243;w wysy&#322;anych pakiet&#243;w
          nieprawid&#322;owych sum kontrolnych. Jako &#380;e prawie ka&#380;dy stos IP
          odrzuci tego typu pakiety, otrzymana odpowied&#378; najprawdopodobniej
          pochodzi od systemu zaporowego lub IDS, kt&#243;re nie przejmuj&#261; si&#281;
          sumami kontrolnymi. Dok&#322;adniejszy opis tej techniki znajduje si&#281;
          pod adresem <ulink url="http://nmap.org/p60-12.txt"/></para>
        </listitem>
      </varlistentry>

    </variablelist>

  </refsect1>

  <refsect1 id="man-output">
    <title>Wyj&#347;cie</title>

    <para>Ka&#380;de narz&#281;dzie jest tylko tak dobre, jak wyniki kt&#243;re si&#281; za jego
    pomoc&#261; uzyskuje. Z&#322;o&#380;one testy i algorytmy nie s&#261; nic warte, je&#347;li ich 
    wyniki nie s&#261; zaprezentowane w odpowiedniej formie. Z zwi&#261;zku z tym, &#380;e
    u&#380;ytkownicy Nmapa u&#380;ywaj&#261; go w r&#243;&#380;ny spos&#243;b, tak&#380;e w po&#322;&#261;czeniu z innymi
    narz&#281;dziami, nie ma jednego formatu, kt&#243;ry by wszystkich zadowoli&#322;. Dlatego
    te&#380; Nmap oferuje kilka format&#243;w, w&#322;&#261;czaj&#261;c w to tryb interaktywny i tryb
    XML do lepszej integracji z innymi programami.</para>

	<para>Dodatkowo poza r&#243;&#380;nymi formatami wyj&#347;ciowymi, Nmap posiada opcje
	pozwalaj&#261;ce na kontrolowanie poziomu szczeg&#243;&#322;owo&#347;ci dostarczanych informacji
	oraz komunikat&#243;w do &#347;ledzenia b&#322;&#281;d&#243;w. Wyniki mog&#261; by&#263; przekazywane do
	standardowego wyj&#347;cia jak i do plik&#243;w (w trybie zast&#281;powania lub do&#322;&#261;czania).
	Wygenerowane pliki mog&#261; r&#243;wnie&#380; by&#263; wykorzystywane do wznowienia przerwanych 
	skanowa&#324;.</para>

	<para>Nmap pozwala na uzyskanie pi&#281;ciu r&#243;&#380;nych format&#243;w raport&#243;w. Domy&#347;lny 
	to <literal moreinfo="none">format interaktywny</literal> i jest 
	wykorzystywany w po&#322;&#261;czeniu ze standardowym wyj&#347;ciem. Jest tak&#380;e format
	<literal moreinfo="none">format normalny</literal>, podobny do 
	<literal moreinfo="none">interaktywnego</literal>, jednak wy&#347;wietla mniej 
	rutynowych informacji i ostrze&#380;e&#324;, poniewa&#380; jest raczej przewidziany do 
	po&#378;niejszej	analizy, ni&#380; do interaktywnego ogl&#261;dania w trakcie skanowania.</para>

	<para>Tryb XML jest jednym z najwa&#380;niejszych, jako &#380;e mo&#380;e zosta&#263; 
	przekonwertowany na HTML lub bezporoblemowo przetworzony przez inne programy,
	takie jak graficzne interfejsy u&#380;ytkownika lub zaimportowany do bazy 
	danych.</para>

	<para>Pozosta&#322;e dwa najmniej skomplikowane to format pozwalaj&#261;cy na &#322;atwe
	przetwarzanie za pomoc&#261; wyra&#380;e&#324; regularnych (grep), kt&#243;ry zawiera wi&#281;kszo&#347;&#263;
	informacji o ho&#347;cie w jednej linii, oraz format 
	<literal moreinfo="none">sCRiPt KiDDi3 0utPUt</literal>.</para>

	<para>Podczas gdy format interaktywny jest domy&#347;lny i nie posiada dodatkowych
	opcji, pozosta&#322;e cztery formaty u&#380;ywaj&#261; tej samej sk&#322;adni w postaci jednego
	argumentu, b&#281;d&#261;cego nazw&#261; pliku do kt&#243;rego maj&#261; zosta&#263; zapisane wyniki.
	Mo&#380;liwe jest podawanie wielu format&#243;w jednocze&#347;nie, jednak ka&#380;dy z nich mo&#380;e
	by&#263; podany tylko raz. Na przyk&#322;ad, je&#347;li chcesz zapisa&#263; format normalny do
	p&#243;&#378;niejszego przegladania i r&#243;wnocze&#347;nie XML do przetwarzania przez inne
	programy, u&#380;ywamy sk&#322;adni <option>-oX myscan.xml -oN myscan.nmap</option>.
	W przyk&#322;adach z tej dokumentacji dla u&#322;atwienia u&#380;ywamy prostych nazw, takich 
	jak <literal moreinfo="none">myscan.xml</literal>, jednak w codzinnym u&#380;yciu
	zalecane jest stosowanie nazw bardziej opisowych. Nazwy te mog&#261; by&#263; dowolnie
	wybierane, zgodnie z w&#322;asnymi preferencjami, osobi&#347;cie preferuj&#281; d&#322;ugie nazwy
	zawieraj&#261;ce dat&#281; skanowania i s&#322;owo lub dwa opisuj&#261;ce skanowanie, umieszczone
	w katalogu zawieraj&#261;cym nazw&#281; firmy skanowaniej.</para>

	<para>Podczas zapisywania wynik&#243;w do pliku Nmap nadal wy&#347;wietla interaktywn&#261;
	form&#281; raportu na standardowe wyj&#347;cie. Przyk&#322;adowo, komenda
	<command moreinfo="none">nmap -oX myscan.xml cel</command> zapisuje wyniki w 
	formacie XML do pliku <filename moreinfo="none">myscan.xml</filename> 
	r&#243;wnocze&#347;nie wy&#347;wietlaj&#261;c je w trybie interaktywnym tak, jakby opcja 
	<option>-oX</option> nie by&#322;a podana. Mo&#380;liwa jest zmiana tego zachowania 
	poprzez podanie znaku my&#347;lnika (-) zamiast nazwy pliku przy wybranym
	formacie, co spowoduje wy&#347;wietlanie go zamiast formy interaktywnej. Tak wi&#281;c
	komenda <command moreinfo="none">nmap -oX - cel</command> spowoduje 
	wy&#347;wietlenie tylko formatu XML na standardowym wyj&#347;ciu stdout. Komunikaty
	o powa&#380;nych b&#322;&#281;dach sa nadal wy&#347;wietlane za pomoc&#261; standardowego wyj&#347;cia
	b&#322;&#281;d&#243;w stderr.</para>

	<para>Inaczej ni&#380; przy innych opcjach, spacja pomi&#281;dzy opcj&#261; (tak&#261; jak 
	<option>-oX</option>), a nazw&#261; pliku lub my&#347;lnika nie jest wymagana.
	Je&#347;li spacja zostanie pomini&#281;ta przy opcjach takich jak 
	<option>-oG-</option> lub <option>-oXscan.xml</option>, z powod&#243;w 
	kompatybilno&#347;ci wstecznej Nmap zapisze wyniki w formacie normalnym w plikach
	odpowiednio <filename moreinfo="none">G-</filename> i 
	<filename moreinfo="none">Xscan.xml</filename>.</para>

	<para>Nmap posiada r&#243;wnie&#380; opcje pozwalaj&#261;ce na ustalenie poziomu 
	szczeg&#243;&#322;owo&#347;ci podawanych informacji jak r&#243;wnie&#380; pozwalaj&#261;ce na
	do&#322;&#261;czanie wynik&#243;w do ju&#380; istniej&#261;cych plik&#243;w. Opcje te zosta&#322;y opisane
	poni&#380;ej.</para>

<variablelist><title>Formaty wyj&#347;ciowe Nmapa</title>
      <varlistentry>
        <term>
        <option>-oN &lt;nazwapliku&gt;</option> (Format normalny)</term>
        <listitem>
          <para>Powoduje zapis w <literal moreinfo="none">formacie normalnym</literal>
          do wskazanego pliku. Jak napisano wy&#380;ej, format ten r&#243;&#380;ni si&#281; nieco od
          <literal moreinfo="none">formatu interaktywnego</literal>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-oX &lt;nazwapliku&gt;</option> (Format XML)</term>
        <listitem>

          <para>Powoduje zapis w <literal moreinfo="none">formacie XML</literal>
          do wskazanego pliku. Nmap do&#322;&#261;cza definicje formatu dokumentu (DTD),
          kt&#243;ry pozwala innym programom na weryfikacj&#281; zawarto&#347;ci tego pliku.
          Funkcja ta jest g&#322;&#243;wnie przeznaczona do wykorzystania przez 
          oprogramowanie dodatkowe, jednak mo&#380;e pom&#243;c w r&#281;cznej analizie
          zawartych danych. DTD opisuje jakie elementy XML mog&#261; by&#263; legalnie
          uzywane w pliku i cz&#281;sto podaje jakie warto&#347;ci mog&#261; przyjmowa&#263;
          poszczeg&#243;lne znaczniki. Zawsze aktualna DTD wersja jest dost&#281;pna pod
          adresem <ulink url="http://www.insecure.org/nmap/data/nmap.dtd"/>.</para>

          <para>XML jest stabilnym formatem, kt&#243;ry mo&#380;e by&#263; &#322;atwo przetwarzany
          przez inne programy. Darmowe biblioteki do przetwarzania XML s&#261; 
          dost&#281;pne dla wi&#281;kszo&#347;ci j&#281;zyk&#243;w programowania, takich jak C/C++, Perl,
          Python czy Java. Napisano nawet wiele procedur dostosowanych 
          specjalnie do potrzeb Nmapa. Przyk&#322;adami s&#261; 
          <ulink url="http://sourceforge.net/projects/nmap-scanner/">Nmap::Scanner</ulink>
          i <ulink url="http://www.nmapparser.com">Nmap::Parser</ulink> dla 
          Perla (CPAN). W wiekszo&#347;ci du&#380;ych aplikacji korzystaj&#261;cych z
          Nmapa preferowany jest w&#322;a&#347;nie format XML.</para>

          <para>W formacie XML jest r&#243;wnie&#380; opisany styl XSL, kt&#243;ry mo&#380;e zosta&#263;
          wykorzystany do konwersji do HTML. Najprostrzym sposobem jest po
          prostu wczytanie pliku XML do przegl&#261;darki internetowej, takiej jak
          Firefox czy IE. Domy&#347;lnie zadzia&#322;a to tylko na komputerze na kt&#243;rym
          by&#322; uruchamiany Nmap (lub skonfigurowanym podobnie), z powodu
          umieszczenia &#347;cie&#380;ki do pliku <filename moreinfo="none">nmap.xsl</filename>
          w&#322;a&#347;ciwej dla danego systemu. Za pomoc&#261; opcji <option>--webxml</option>
          lub <option>--stylesheet</option> mo&#380;na utworzy&#263; przeno&#347;ny raport
          XML, mo&#380;liwy do obejrzenia w formacie HTML na ka&#380;dym komputerze
          pod&#322;&#261;czonym do Internetu.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-oS &lt;nazwapliku&gt;</option> (Format ScRipT KIdd|3)</term>
        <listitem>
   <para>Format script kiddie jest podobny do interaktywnego, jednak jest
   dodatkowo przetworzony na potrzeby l33t HaXXorZ, kt&#243;rzy nie byli zadowoleni
   z domy&#347;lnego, uporz&#261;dkowanego formatu Nmapa. Osoby bez poczucia humoru
   powinny wiedzie&#263; przed zarzucaniem mi <quote>pomagania script kiddies
   </quote>, &#380;e opcja ta jest tylko &#380;artem, a nie pomoc&#261;.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-oG &lt;nazwapliku&gt;</option> (Format "grepowalny")</term>
        <listitem>

	<para>Ten format zosta&#322; opisany jako ostatni, jako &#380;e jest ju&#380; przestarza&#322;y.
	Format XML jest du&#380;o lepszy i jest prawie tak samo wygodny dla zaawansowanych
	u&#380;ytkownik&#243;w. XML jest standardem, do kt&#243;rego napisano dziesi&#261;tki bibliotek,
	podczas gdy format grepowalny jest moim osobistym wymys&#322;em. XML pozwala
	r&#243;wnie&#380; na &#322;atwe rozszerzanie o nowe funkcje Nmapa w miar&#281; ich dodawania,
	podczas gdy w formacie grepowalnym musz&#261; one by&#263; pomijane z powodu braku miejsca.
	</para>

	<para>Niezale&#380;nie od tego, format ten jest nadal ca&#322;kiem popularny. Jest
	prostym formatem opisuj&#261;cym ka&#380;dy host w oddzielnej linii i umo&#380;liwiaj&#261;cy
	bardzo proste wyszukiwanie i przetwarzanie za pomoc&#261; standardowych narz&#281;dzi
	system&#243;w UNIX takich jak grep, awk, cut, sed, diff i Perl. Format ten jest 
	wygodny do szybkiego odnajdywania potrzebnych danych, na przyk&#322;ad host&#243;w
	z otwartym portem SSH lub u&#380;ywaj&#261;cych systemu Solaris i jest to mo&#380;liwe
	za pomoc&#261; wycinania interesuj&#261;cych informacji za pomoc&#261; prostych polece&#324; 
	awk czy cut.</para>

	<para>Format grepowalny sk&#322;ada sie z linii komentarzy (rozpoczynaj&#261;cych si&#281;
	od znaku #) i linii wynik&#243;w. Linia wynik&#243;w sk&#322;ada si&#281; z sze&#347;ciu p&#243;l, 
	oddzielonych znakami tabulacji i przecinkami. Polami tymi s&#261; 
	<literal moreinfo="none">Host</literal>, <literal moreinfo="none">Ports</literal>,
	<literal moreinfo="none">Protocols</literal>, <literal moreinfo="none">Ignored State</literal>,
	<literal moreinfo="none">OS</literal>, <literal moreinfo="none">Seq Index</literal>,
	<literal moreinfo="none">IPID</literal> i <literal moreinfo="none">Status</literal>.</para>

	<para>Najwa&#380;niejszymi z tych p&#243;l s&#261; najcz&#281;&#347;ciej pola 
	<literal moreinfo="none">Ports</literal>, kt&#243;re zawieraj&#261; informacje o 
	interesuj&#261;cych portach, w postaci listy oddzielonej przecinkami. Ka&#380;da pozycja
	na li&#347;cie reprezentuje jeden otwarty port i opisuje go siedmioma, oddzielonymi
	znakami (/) subpolami: <literal moreinfo="none">Port number</literal>, 
	<literal moreinfo="none">State</literal>, <literal moreinfo="none">Protocol</literal>,
	<literal moreinfo="none">Owner</literal>, <literal moreinfo="none">Service</literal>, 
	<literal moreinfo="none">SunRPC info</literal> i <literal moreinfo="none">Version info</literal>.</para>

	<para>Tak jak i w przypadku formaty XML, dok&#322;adny opis formatu grepowalnego
	przekracza zakres tej dokumentacji i jest dost&#281;pny pod adresem
	<ulink url="http://www.unspecific.com/nmap-oG-output"/>.</para>
        </listitem>
      </varlistentry>

     <varlistentry>
        <term>
        <option>-oA &lt;nazwa&gt;</option> (Wyj&#347;cie we wszystkich formatach)</term>
       <listitem><para>
           Dla wygody mo&#380;na poda&#263; opcj&#281; <option>-oA<replaceable>nazwa</replaceable></option>
           do zapisywania wynik&#243;w w formacie normalnym, XML i grepowalnym 
           r&#243;wnocze&#347;nie. Wyniki zostan&#261; zapisane odpowiednio w plikach o 
           nazwach <replaceable>nazwa</replaceable>.nmap,
           <replaceable>nazwa</replaceable>.xml i 
           <replaceable>nazwa</replaceable>.gnmap. Tak jak i w przypadku innych
           program&#243;w, nazwa mo&#380;e zosta&#263; poprzedzona scie&#380;k&#261;, na przyk&#322;ad
           <filename moreinfo="none">~/nmaplogs/foocorp/</filename> w systemach
           UNIX lub <filename moreinfo="none">c:\hacking\sco</filename> pod Windows.</para>
        </listitem>
      </varlistentry>

   </variablelist>

    <variablelist><title>Poziom szczeg&#243;&#322;owo&#347;ci i opcje diagnozowania b&#322;&#281;d&#243;w</title>
      <varlistentry>
        <term>
          <option>-v</option> (Podwy&#380;szenie poziomu raportowania)
        </term>
        <listitem>
          <para>Podwy&#380;szenie poziomu raportowania powoduje wy&#347;wietlanie przez
          Nmapa wi&#281;kszej ilo&#347;ci informacji na temat post&#281;p&#243;w skanowania. 
          Otwarte porty s&#261; pokazywane zaraz po ich wykryciu, podawany jest 
          tak&#380;e przewidywany czas zako&#324;czenia skanowania w przypadku kiedy Nmap
          zak&#322;ada, &#380;e test potrwa d&#322;u&#380;ej ni&#380; kilka minut. Dwukrotne u&#380;ycie tej 
          opcji powoduje dalsze powi&#281;kszenie poziomu szczeg&#243;&#322;owo&#347;ci, trzykrotne
          i dalsze nie daj&#261; ju&#380; &#380;adnego efektu.</para>

          <para>Wi&#281;kszo&#347;&#263; zmian dotyczy trybu interaktywnego, niekt&#243;re odnosz&#261;
          si&#281; tak&#380;e do trybu normalnego i script kiddie. Pozosta&#322;e formaty s&#261;
          przystosowane do przetwarzania przez maszyny, wi&#281;c Nmap mo&#380;e zawsze 
          podawa&#263; szczeg&#243;&#322;owe informacje bez zmniejszania czytelno&#347;ci dla
          cz&#322;owieka. S&#261; jednak i drobne r&#243;&#380;nice w innych formatach, na przyk&#322;ad
          w formacie grepowalnym linia komentarza zawieraj&#261;ca list&#281; skanowanych 
          host&#243;w jest dodawana tylko w trybie podwy&#380;szonej szczeg&#243;&#322;owo&#347;ci, ze 
          wzgl&#281;du na swoj&#261; dosy&#263; znaczn&#261; d&#322;ugo&#347;&#263;.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-d [poziom]</option> (Ustawianie poziomu &#347;ledzenia b&#322;&#281;d&#243;w)
        </term>
        <listitem>

		<para>Je&#347;li dost&#281;pne poziomy szczeg&#243;&#322;owo&#347;ci nie dostarczaj&#261; wystarczaj&#261;cej
		ilo&#347;ci informacji, opcje &#347;ledzenia b&#322;&#281;d&#243;w mog&#261; Ci&#281; wrecz nimi zasypa&#263;!
		Podobnie jak w przypadku wykorzystania opcji podwy&#380;szania szczeg&#243;&#322;owo&#347;ci
		(<option>-v</option>), opcja w&#322;&#261;czaj&#261;ca umowanie nazwane &#347;ledzenie b&#322;&#281;d&#243;w,
		w&#322;&#261;czana jest za pomoc&#261; parametru (<option>-d</option>) i mo&#380;liwe jest jej
		wielokrotne dodawanie powi&#281;kszaj&#261;ce skutek. Alternatywnie mo&#380;na poda&#263; poziom
		jako argument do opcji <option>-d</option>. Na przyk&#322;ad
		<option>-d9</option> ustawia poziom na dziewi&#281;&#263;. Jest to najwy&#380;szy mo&#380;liwy
		poziom produkuj&#261;cy setki linii, o ile nie jest to proste skanowanie kilku
		port&#243;w i host&#243;w.</para>

		<para>Format ten jest u&#380;yteczny je&#347;li podejrzewamy istnienie b&#322;&#281;du w Nmapie
		lub je&#347;li po prostu chcemy wiedzie&#263; co Nmap robi i czemu. Jako &#380;e opcja
		ta jest przeznaczona g&#322;&#243;wnie dla autor&#243;w, wy&#347;wietlane linie nie zawsze
		s&#261; do ko&#324;ca zrozumia&#322;e. Mo&#380;na otrzyma&#263; na przyk&#322;ad co&#347; w stylu:
		<computeroutput moreinfo="none">Timeout vals: srtt: -1 rttvar: -1 to: 
		1000000 delta 14987 ==&gt; srtt: 14987 rttvar: 14987 to: 100000</computeroutput>.
		Je&#347;li nie rozumiesz takiego zapisu, mo&#380;esz go po prostu zignorowa&#263;, poszuka&#263;
		w kodzie &#378;r&#243;d&#322;owym lub poprosi&#263; o pomoc na li&#347;cie dyskusyjnej tw&#243;rc&#243;w Nmapa
		(nmap-dev). Niekt&#243;re linie s&#261; dosy&#263; czytelne, ale staj&#261; si&#281; coraz bardziej
		skomplikowane wraz ze wzrostem poziomu &#347;ledzenia b&#322;&#281;d&#243;w.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--packet-trace</option> (&#346;ledzenie wysy&#322;anych i odbieranych pakiet&#243;w)
        </term>
        <listitem>
          <para>Powoduje wy&#347;wietlanie przez Nmapa kr&#243;tkiej informacji na temat 
          ka&#380;dego wysy&#322;anego i odbieranego pakietu. Opcja ta jest cz&#281;sto 
          u&#380;ywana podczas &#347;ledzenia b&#322;&#281;d&#243;w, ale zawiera r&#243;wnie&#380; warto&#347;ciowe 
          informacje dla nowych u&#380;ytkownik&#243;w, pozwalaj&#261;ce zrozumie&#263; co Nmap
          robi. Unikni&#281;cie wy&#347;wietlania tysi&#281;cy linii mo&#380;liwe jest poprzez 
          ograniczenie ilo&#347;ci port&#243;w do skanowania, na przyk&#322;ad za pomoc&#261;
          <option>-p20-30</option>. Je&#347;li chcesz zobaczy&#263; tylko to, co dzieje
          si&#281; w trakcie wykrywania wersji, u&#380;yj raczej opcji 
          <option>--version-trace</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--iflist</option> (Pokazuj interfejsy i tablic&#281; routingu)
        </term>
        <listitem>
          <para>Wy&#347;wietla list&#281; interfejs&#243;w i tablice routingu wykryte przez
          Nmapa. Opcja jest przydatna przy &#347;ledzeniu b&#322;&#281;d&#243;w w routingu lub
          niepoprawnym wykrywaniu typ&#243;w interfejs&#243;w (na przyk&#322;ad je&#347;li Nmap
          traktuje po&#322;&#261;czenie PPP jako ethernet).</para>
        </listitem>
      </varlistentry>

   </variablelist>

   <variablelist><title>Pozosta&#322;e opcje</title>

      <varlistentry>
        <term>
          <option>--append-output</option> (Do&#322;&#261;czaj wyniki do pliku)
        </term>
        <listitem>
           <para>Je&#347;li zostanie podana nazwa pliku jako argument do opcji
           takiej jak <option>-oX</option> czy <option>-oN</option>,
           domy&#347;lnie poprzednia zawarto&#347;&#263; pliku zostanie usun&#281;ta i zast&#261;piona
           now&#261;. Je&#347;li zachodzi potrzeba zachowania poprzedniej zawarto&#347;ci 
           pliku i do&#322;&#261;czenie nowych wynik&#243;w, nale&#380;y doda&#263; opcj&#281;
           <option>--append-output</option>. Potraktowane tak zostan&#261; wszystkie
           podane pliki. Opcja nie dzia&#322;a zbyt dobrze z formatem XML, jako &#380;e
           wynikowy plik nie mo&#380;e by&#263; po&#380;niej bezb&#322;&#281;dnie przetworzony bez r&#281;cznych 
           poprawek.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--resume &lt;nazwapliku&gt;</option> (Wznowienie przerwanego skanowania)
        </term>
        <listitem>

          <para>Niekt&#243;re skanowania Nmapa mog&#261; trwa&#263; bardzo d&#322;ugo, nawet kilka
          dni. Problem pojawia si&#281; wtedy, kiedy nie jest mo&#380;liwe ci&#261;g&#322;e
          prowadzenie skanowania, na przyk&#322;ad z powodu potrzeby dzia&#322;ania tylko
          w godzinach pracy, problem&#243;w z dost&#281;pno&#347;ci&#261; sieci, (nie)przypadkowym 
          restartem komputera na kt&#243;rym dzia&#322;a Nmap lub wykonaniem przez niego 
          nieprawid&#322;owej operacji. U&#380;ytkownik mo&#380;e r&#243;wnie&#380; przerwa&#263; w ka&#380;dej 
          chwili skanowanie za pomoc&#261; kombinacji 
          <keycap moreinfo="none">ctrl-C</keycap>. W takich przypadkach ponowne
          rozpoczynanie test&#243;w od pocz&#261;tku mo&#380;e nie by&#263; po&#380;&#261;dane. Na szcz&#281;&#347;cie,
          je&#347;li pozosta&#322;y wyniki przerwanych test&#243;w w formacie normalnym
          (<option>-oN</option>) lub grepowalnym (<option>-oG</option>), 
          mo&#380;liwe jest ich wznowienie od momentu przerwania. S&#322;u&#380;y do tego
          opcja <option>--resume</option> dla kt&#243;rej argumentem musi byc
          nazwa pliku w formacie normalnym lub grepowalnym. W tym przypadku nie
          jest mo&#380;liwe podawanie &#380;adnych innych opcji, jako &#380;e Nmap przetworzy
          podany plik i odtworzy wcze&#347;niej podane opcje. Po prostu uruchom
          <command moreinfo="none">nmap --resume
          <replaceable>nazwapliku</replaceable></command>, a Nmap do&#322;&#261;czy do
          wskazanego pliku nowe wyniki. Opcja ta nie obs&#322;uguje formatu XML,
          jako &#380;e &#322;&#261;czenie dw&#243;ch oddzielnych wynik&#243;&#281; skanowa&#324; w jeden plik 
          jest dosy&#263; trudne.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--stylesheet &lt;&#347;cie&#380;ka lub URL&gt;</option> (Styl XSL do 
          transformacji formatu XML)
        </term>
        <listitem>
          <para>Nmap posiada domy&#347;lny styl XSL do przegl&#261;dania lub konwersji do
          formatu XML w pliku <filename moreinfo="none">nmap.xsl</filename>.
          Plik wyj&#347;ciowy XML zawiera dyrektyw&#281; 
          <literal moreinfo="none">xml-stylesheet</literal> wskazuj&#261;c&#261; na
          <filename moreinfo="none">nmap.xml</filename>, ze &#347;cie&#380;k&#261; do domy&#347;lej
          lokalizacji tego pliku (lub bierz&#261;cego katalogu pod Windows). Dzi&#281;ki
          temu wystarczy po prostu za&#322;adowa&#263; plik XML Nmapa do przegl&#261;darki,
          kt&#243;ra sama odczyta sobie plik 
          <filename moreinfo="none">nmap.xsl</filename> i u&#380;yje go do 
          prawid&#322;owego wy&#347;wietlenia wynik&#243;w. Mo&#380;liwe jest r&#243;wnie&#380; u&#380;ycie innego
          stylu poprzez podanie nazwy pliku jako argumentu dla opcji
          <option>--stylesheet</option>. W tym przypadku konieczne jest podanie 
          pe&#322;nej &#347;cie&#380;ki lub adresu URL. Typowe wywo&#322;anie ma posta&#263;
          <option>--stylesheet
          http://www.insecure.org/nmap/data/nmap.xsl</option>.
          Dyrektywa ta nakazuje pobranie najnowszej wersji pliku ze stylem ze
          strony Insecure.Org. Opcja <option>--webxml</option> robi dok&#322;adnie
          to samo, b&#281;d&#261;c &#322;atwiejsz&#261; do wpisania i zapami&#281;tania. U&#380;ywanie pliku
          XSL ze strony Insecure.Org u&#322;atwia przegl&#261;danie wynik&#243;w na systemie
          nie posiadaj&#261;cym zainstalowanego Nmapa (czyli nie posiadaj&#261;cym pliku
          <filename moreinfo="none">nmap.xsl</filename>). Podawanie adresu URL
          jest wygodniejsze, jednak domy&#347;lnie u&#380;ywany jest plik lokalny ze 
          wzgl&#281;du za zachowanie poufno&#347;ci u&#380;ytkownika.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--webxml</option> (U&#380;yj stylu ze strony Insecure.Org)
        </term>
        <listitem>
          <para>Opcja jest wygodniejszym zapisem analogicznego 
          <option>--stylesheet http://www.insecure.org/nmap/data/nmap.xsl</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--no_stylesheet</option> (Nie u&#380;ywaj deklaracji stylu XSL w formacie XML)
        </term>
        <listitem>
          <para>Dodanie tej opcji powoduje wy&#322;&#261;czenie do&#322;&#261;czania stylu XSL
          do pliku z wynikami w formacie XML. Zostaje pomini&#281;ta dyrektywa
          <literal moreinfo="none">xml-stylesheet</literal>.</para>
        </listitem>
      </varlistentry>


    </variablelist>
  </refsect1>

  <refsect1 id="man-misc-options">
    <title>R&#243;&#380;ne opcje</title>
    <para>Sekcja ta opisuje istotne (i nie istotne) opcje, kt&#243;re nie pasowa&#322;y 
    gdzie indziej.</para>

    <variablelist>
      <varlistentry>
        <term>
          <option>-6</option> (W&#322;&#261;czenie skanowania IPv6)
        </term>
        <listitem>

          <para>Od roku 2002 Nmap obs&#322;uguje IPv6, w zakresie jego 
          najpopularniejszych funkcji. W szczeg&#243;lno&#347;ci dost&#281;pne jest skanowanie
          ping (tylko TCP), connect() i wykrywanie wersji. Sk&#322;adnia opcji
          jest taka sama jak zwykle, wystarczy tylko doda&#263; opcj&#281; 
          <option>-6</option>. Oczywi&#347;cie w przypadku podawania adres&#243;w zamiast
          nazw, niezb&#281;dne jest podawanie ich zgodnie ze sk&#322;adni&#261; IPv6. 
          Jako &#380;e adres mo&#380;e wygl&#261;da&#263; podobnie do 
          <literal moreinfo="none">3ffe:7501:4819:2000:210:f3ff:fe03:14d0</literal>,
          zalecane jest u&#380;ywanie nazw host&#243;w. Wyniki poza samym adresem 
          wygl&#261;daj&#261; tak samo jak i przy innych opcjach.</para>

          <para>Adresacja IPv6 nie zaw&#322;adn&#281;&#322;a jeszcze &#347;wiatem, jednak jest 
          cz&#281;sto wykorzystywana w niekt&#243;rych krajach (zwykle azjatyckich) i
          wi&#281;kszo&#347;&#263; obecnych system&#243;w j&#261; obs&#322;uguje. Oczywi&#347;cie do u&#380;ywania
          IPv6 musi by&#263; on prawid&#322;owo skonfigurowany i dost&#281;pny zar&#243;wno na
          ho&#347;cie skanowanym, jak i skanuj&#261;cym. Je&#347;li dostawca us&#322;ug nie
          umo&#380;liwia uzyskania adres&#243;w IP (najcz&#281;&#347;ciej tak w&#322;a&#347;nie jest),
          jest du&#380;o dostawc&#243;w darmowych tuneli, kt&#243;re dzia&#322;aj&#261; poprawnie z
          Nmapem. Jednymi z lepszych s&#261; dostarczane przez BT Exact i
          Hurricane Electric na <ulink url="http://ipv6tb.he.net/"/>. Tunele
          6to4 s&#261; innym popularnym i darmowym rozwi&#261;zaniem.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-A</option> (Agresywne opcje skanowania)
        </term>
        <listitem>
          <para>W&#322;&#261;cza dodatkowe zaawansowane i agresywne opcje skanowania.
          Aktualnie s&#261; nimi wykrywanie systemu operacyjnego (<option>-O</option>)
          i wykrywanie wersji (<option>-sV</option>). Wi&#281;cej opcji by&#263; mo&#380;e
          zostanie dodane w przysz&#322;o&#347;ci. G&#322;&#243;wnym celem jest proste w&#322;&#261;czenie
          najbardziej popularnych opcji skanowania bez konieczno&#347;ci 
          zapami&#281;tywania wielu parametr&#243;w. W&#322;&#261;czane s&#261; tylko opcje w&#322;&#261;czaj&#261;ce
          okre&#347;lon&#261; funkcjonalno&#347;&#263;, nie za&#347; te dotycz&#261;ce zale&#380;no&#347;ci czasowych
          (takie jak <option>-T4</option>) czy poziomu szczeg&#243;&#322;owo&#347;ci 
          (<option>-v</option>), kt&#243;re mo&#380;na doda&#263; niezale&#380;nie.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--datadir &lt;nazwakatalogu&gt;</option> (Okre&#347;lenie lokalizacji plik&#243;w z danymi)
        </term>
        <listitem>
          <para>Podczas pracy Nmap pobiera dodatkowe informacje z plik&#243;w
          <filename moreinfo="none">nmap-service-probes</filename>,
          <filename moreinfo="none">nmap-services</filename>,
          <filename moreinfo="none">nmap-protocols</filename>,
          <filename moreinfo="none">nmap-rpc</filename>,
          <filename moreinfo="none">nmap-mac-prefixes</filename> i
          <filename moreinfo="none">nmap-os-fingerprints</filename>.
          Nmap rozpoczyna poszukiwania tych plik&#243;w od katalogu podanego jako
          parametr dla opcji <option>--datadir</option>, je&#347;li zosta&#322;a dodana.
          Je&#347;li nie znajdzie plik&#243;w w podanej lokalizacji, poszukuje ich w 
          katalogu okre&#347;lonych w zmiennej &#347;rodowiskowej NMAPDIR, a nast&#281;pnie w
          katalogu <filename moreinfo="none">~/.nmap</filename> dla 
          rzeczywistego i efektywnego UID (tylko systemy POSIX) i katalogu
          z programem Nmap (tylko Win32). Je&#347;li i to nie przyniesie skutku,
          poszukiwane s&#261; w lokalizacji podanej przy kompilacji, takiej jak
          <filename moreinfo="none">/usr/local/share/nmap</filename> lub 
          <filename moreinfo="none">/usr/share/nmap</filename>. Na ko&#324;cu
          sprawdzany jest aktualny katalog.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--send-eth</option> (U&#380;ywanie niskopoziomowych ramek ethernet)
        </term>
        <listitem>
          <para>Opcja powoduje wysy&#322;anie bezpo&#347;rednio ramek niskiego poziomu
          ethernet (warstwa danych), zamiast poprzez stos IP (warstwa sieci).
          Domy&#347;lnie Nmap wybiera metod&#281;, kt&#243;ra jest og&#243;lnie lepsza dla danej
          platformy, na kt&#243;rej jest uruchomiony. Gniazda raw (warstwa IP) s&#261;
          efektywniejsze w przypadku system&#243;w UNIX, podczas gdy ramki ethernet
          s&#261; niezb&#281;dne w przypadku system&#243;w Windows, od czasu kiedy to 
          Microsoft wy&#322;&#261;czy&#322; obs&#322;ug&#281; gniazd raw. Je&#347;li nie ma innej mo&#380;liwo&#347;ci,
          Nmap w systemach UNIX wybierze metod&#281; ethernet, pomijaj&#261;c wybran&#261;
          przez u&#380;ytkownika i niedost&#281;pn&#261; opcj&#281;.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--send-ip</option> (Wysy&#322;aj pakiety raw IP)
        </term>
        <listitem>
          <para>W&#322;&#261;cza wysy&#322;anie pakiet&#243;w przez gniazda raw IP, zamiast przez
          ramki ethernet. Opcja jest przeciwie&#324;stwem opisanej wy&#380;ej opcji
          <option>--send-eth</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--privileged</option> (Zak&#322;adaj &#380;e u&#380;ytkownik ma odpowiednie uprawnienia)
        </term>
        <listitem>
          <para>Informuje Nmapa, &#380;e u&#380;ytkownik jest wystarczaj&#261;co 
          uprzywilejowany aby korzysta&#263; z wysy&#322;ania pakiet&#243;w za pomoc&#261;
          gniazd raw, pods&#322;uchiwania pakiet&#243;w i podobnych operacji zwykle
          wymagaj&#261;cych uprwawnie&#324; roota w systemach UNIX. Domy&#347;lnie Nmap
          przerywa dzia&#322;anie w momencie wykrycia pr&#243;by wykonania takich 
          operacji i funkcja geteuid() nie zwraca warto&#347;ci zero.
          Opcja <option>--privileged</option> jest u&#380;yteczna w systemach Linux 
          posiadaj&#261;cych mo&#380;liwo&#347;ci odpowiedniego przywilejowania u&#380;ytkownik&#243;w
          do przeprowadzania wymienionych operacji. Upewnij si&#281;, &#380;e opcja
          zosta&#322;a podana przed innymi opcjami wymagaj&#261;cymi podwy&#380;szonych
          uprwanie&#324; (skanowanie SYN, wykrywanie systemu operacyjnego itp).
          Zmienna NMAP_PRIVILEGED mo&#380;e zosta&#263; ustawiona jako alternatywa dla
          wykorzystania opcji <option>--privileged</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--interactive</option> (W&#322;&#261;cz tryb interaktywny)
        </term>
        <listitem>
          <para>Uruchamia Nmapa w trybie interaktywnym, kt&#243;ry oferuje lini&#281;
          polece&#324; umo&#380;lwiaj&#261;c&#261; &#322;atwe uruchamianie wilelu r&#243;wnoczesnych skanowa&#324;
          (zar&#243;wno synchronicznych jak i w tle). Jest to u&#380;yteczne dla os&#243;b, 
          kt&#243;re pracuj&#261; w &#347;rodowisku wielou&#380;ytkownikowym i jednocze&#347;nie chc&#261;
          zbada&#263; poziom bezpiecze&#324;stwa bez pokazaywania innym u&#380;ytkownikom
          systemu kt&#243;re dok&#322;adnie systemy s&#261; skanowane. U&#380;ycie opcji 
          <option>--interactive</option> w&#322;&#261;cza ten tryb, mo&#380;liwe jest w nim
          wci&#347;ni&#281;cie <keycap moreinfo="none">h</keycap> dla uzyskania pomocy.
          Opcja ta nie jest zbyt popularna, jako &#380;e uruchamianie Nmapa z linii 
          polece&#324; jest ca&#322;kiem wygodne. Nale&#380;y przy tym zwr&#243;ci&#263; uwag&#281;, &#380;e 
          w tym trybie mo&#380;liwe jest wykonywanie polece&#324; systemowych za pomoc&#261;
          operatora (!), wi&#281;c jest to jeden z powod&#243;w, dla kt&#243;rych nie powinno
          si&#281; instalowa&#263; Nmapa z ustawionym bitem setuid root.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-V</option>; <option>--version</option> (Wy&#347;wietl numer wersji)
        </term>
        <listitem>
          <para>Wy&#347;wietla tylko numer wersji Nmapa.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-h</option>; <option>--help</option> (Wy&#347;wietl pomoc)
        </term>
        <listitem>
          <para>Wy&#347;wietla kr&#243;tki ekran pomocy opisuj&#261;cy najpopularniejsze 
          opcje, podobnie jak uruchomienie Nmapa bez parametr&#243;w.</para>
        </listitem>
      </varlistentry>

    </variablelist>
  </refsect1>

  <refsect1 id="man-runtime-interaction">
    <title>Interakcja w czasie pracy</title>
 
    <para>Podczas pracy Nmapa, przechwytywane s&#261; wszystkie naci&#347;ni&#281;cia 
    klawiszy. Pozwala to na interakcj&#281; z programem bez przerywania go lub
    restartowania. Niekt&#243;re specjalne klawisze zmieniaj&#261; opcje, inne 
    wy&#347;wietlaj&#261; status skanowania. Konwencja zak&#322;ada, &#380;e 
    <emphasis>ma&#322;e litery zmniejszaj&#261;</emphasis> ilo&#347;&#263; informacji, a 
    <emphasis>du&#380;e litery powi&#281;kszaj&#261;</emphasis>. Mo&#380;na r&#243;wnie&#380; nacisn&#261;&#263;
    &#x2018;<emphasis>?</emphasis>&#x2019; dla </para>
    <variablelist>
      <varlistentry>
        <term>
          <option>v</option> / <option>V</option>
        </term>
        <listitem>
          <para>Zwi&#281;kszenia / Zmniejszenia poziomu szczeg&#243;&#322;owo&#347;ci</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <option>d</option> / <option>D</option>
        </term>
        <listitem>
          <para>Zwi&#281;kszenia / Zmniejszenia poziomu &#347;ledzenia b&#322;&#281;d&#243;w</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <option>p</option> / <option>P</option>
        </term>
        <listitem>
          <para>W&#322;&#261;czenia / Wy&#322;&#261;czenia &#347;ledzenia pakiet&#243;w</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <option>?</option>
        </term>
        <listitem>
          <para>Wy&#347;wietlenia ekranu pomocy</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          Wszystko inne
        </term>
        <listitem>
          <para>Wy&#347;wietla status w postaci:</para>
          <para>Stats: 0:00:08 elapsed; 111 hosts completed (5 up),
          5 undergoing Service Scan</para>
          <para>Service scan Timing: About 28.00% done; ETC: 16:18
          (0:00:15 remaining)</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="man-examples">
    <title>Przyk&#322;ady</title>
    <para>Poni&#380;ej przedstawiono przyk&#322;ady wykorzystania Nmapa, od prostych i
    rutynowych do troch&#281; bardziej skomplikowanych i ezoterycznych. Przyk&#322;adowe
    adresy IP i nazwy domen powinny zosta&#263; zast&#261;pione adresami/nazwami z
    <emphasis>twojej w&#322;asnej sieci</emphasis>.  Nie uwa&#380;am, &#380;e skanowanie 
    port&#243;w powinno by&#263; nielegalne, jednak niekt&#243;rzy administratorzy nie
    toleruj&#261; nie autoryzowanego skanowania ich sieci i mog&#261; zg&#322;asza&#263; swoje 
    protesty. Uzyskanie zgody jest pierwszym wyzwaniem.</para>

    <para>Do celu test&#243;w, masz zgod&#281; do skanowania hosta
    <literal moreinfo="none">scanme.nmap.org</literal>. Zgoda pozwala jedynie 
    na skanowanie za pomoc&#261; Nmapa, nie za&#347; na testowanie exploit&#243;w czy 
    przeprowadzanie atak&#243;w typu Denial of Service. Dla oszcz&#281;dno&#347;ci pasma,
    prosz&#281; nie uruchamiaj wi&#281;cej ni&#380; tuzina skanowa&#324; tego hosta dziennie.
    W przypadku nadu&#380;y&#263;, host zostanie wy&#322;&#261;czony, a Nmap b&#281;dzie zwraca&#322; 
    komunikat <computeroutput moreinfo="none">Failed to resolve given hostname/IP:
    scanme.nmap.org</computeroutput>.  pozwolenie dotyczy tak&#380;e adres&#243;w
    <literal moreinfo="none">scanme2.nmap.org</literal>,
    <literal moreinfo="none">scanme3.nmap.org</literal> i nast&#281;pnych, cho&#263; 
    hosty te jeszcze nie istniej&#261;.</para>

    <para>
      <userinput moreinfo="none">nmap -v scanme.nmap.org</userinput>
    </para>
    <para>Pozwoli na przeskanowanie wszystkich port&#243;w TCP adresu 
    <literal moreinfo="none">scanme.nmap.org</literal>. Opcja 
    <option>-v</option> podwy&#380;szy poziom szczeg&#243;&#322;owo&#347;ci zwracanych informacji.
    </para>
    <para>
      <userinput moreinfo="none">nmap -sS -O scanme.nmap.org/24</userinput>
    </para>
    <para>Uruchamia skanowanie SYN wszystkich 255 host&#243;w znajduj&#261;cych si&#281;
    w tej samej klasie <quote>C</quote>, co host scanme.nmap.org. Dodatkowo
    wykonywana jest pr&#243;ba detekcji systemu operacyjnego dla ka&#380;dego hosta,
    kt&#243;ry jest aktywny. Wymaga to uprawnie&#324; u&#380;ytkownika root, z powodu 
    wykorzystania skanowania SYN i wykrywania systemu operacyjnego.</para>
    <para>
      <userinput moreinfo="none">nmap -sV -p 22,53,110,143,4564
      198.116.0-255.1-127</userinput>
    </para>

    <para>Uruchamia enumeracj&#281; host&#243;w i skanowanie TCP pierwszej po&#322;owy
    ka&#380;ej z 255 mo&#380;liwych 8-mio bitowych podsieci klasy B 198.116.
    Wykrywane jest dzia&#322;anie us&#322;ug sshd, DNS, pop3d, imapd i portu 4564.
    Dla ka&#380;dego z tych port&#243;w, kt&#243;ry zosta&#322; wykryty jako otwarty
    przeprowadzane jest wykrywanie wersji dzia&#322;aj&#261;cej aplikacji.</para>

    <para>
    <userinput moreinfo="none">nmap -v -iR 100000 -P0 -p 80</userinput>
    </para>

    <para>Poleca Nmapowi na wybranie 100,000 losowych host&#243;w i przeskanowanie
    ich w poszukiwaniu serwer&#243;w WWW (port 80). Enumeracja host&#243;w jest wy&#322;&#261;czona
    za pomoc&#261; opcji <option>-P0</option>, poniewa&#380; wysy&#322;anie najpierw pakiet&#243;w
    w celu okre&#347;lenia czy host jest aktywny nie ma sensu, jako &#380;e i tak jest
    wykonywany test tylko na jednym porcie per host.</para>

    <para>
      <userinput moreinfo="none">nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG
      logs/pb-port80scan.gnmap 216.163.128.20/20</userinput>
    </para>
    <para>Skanuje 4096 adres&#243;w IP w poszukiwaniu serwer&#243;w WWW (bez pingowania 
    ich) i zapisuje wyniki w plikach XML i grepowalnym.</para>

  </refsect1>

  <refsect1 id="man-bugs">
    <title>B&#322;&#281;dy</title>

    <para>Jak i jego autor, Nmap nie jest doskona&#322;y. Mo&#380;esz jednak pom&#243;c
    przysy&#322;aj&#261;c raporty dotycz&#261;ce b&#322;&#281;d&#243;w lub nawet wysy&#322;aj&#261;c w&#322;asne poprawki.
    Je&#347;li Nmap nie zachowuje sie w spos&#243;b kt&#243;rego oczekujesz, zacznij od 
    aktualizacji do najnowszej wersji dost&#281;pnej pod adresem
    <ulink url="http://www.insecure.org/nmap/"/>. Je&#347;li problem nadal 
    wyst&#281;puje, wykonaj troch&#281; test&#243;w dla okre&#347;lenia czy podobny problem nie 
    zosta&#322; ju&#380; wykryty i oznaczony. Spr&#243;buj poszuka&#263; Googlem komunikatu
    b&#322;&#281;du lub poprzegl&#261;daj archiwa listy dyskusyjnej Nmap-dev pod adresem
    <ulink url="http://seclists.org/"/>. Przeczytaj r&#243;wnie&#380; ca&#322;a dokumentacj&#281;.
    Je&#347;li nic nie pomo&#380;e, wy&#347;lij raport opisuj&#261;cy b&#322;&#261;d po angielsku na adres
    <email>nmap-dev@insecure.org</email>. Prosz&#281; do&#322;&#261;cz wszystko co uda&#322;o Ci
    si&#281; ustali&#263; na temat tego problemu, jak r&#243;wnie&#380; informacj&#281; o u&#380;ywanej 
    wersji Nmapa i systemie operacyjnym na kt&#243;rym jest uruchamiany.
    Opisy problem&#243;w i pytania dotycz&#261;ce u&#380;ywania Nmapa wys&#322;ane na adres
    nmap-dev@insecure.org z wi&#281;kszym prawdopodobie&#324;stwem doczekaj&#261; sie 
    szybkiej odpowiedzi, ni&#380; wys&#322;ane bezpo&#347;rednio do Fyodora.</para>

    <para>Poprawki b&#322;&#281;dnego kodu s&#261; milej widziane, ni&#380; opisy b&#322;ed&#243;w.
    Podstawowe instrukcje tworzenia poprawek s&#261; opisane na stronie
    <ulink url="http://www.insecure.org/nmap/data/HACKING"/>. Poprawki
    mog&#261; by&#263; wysy&#322;ane na nmap-dev (rekomendowane) lub bezpo&#347;rednio do
    Fyodora.</para>
  </refsect1>

  <refsect1 id="man-author">
    <title>Autor</title>
    <para>Fyodor 
    <email>fyodor@insecure.org</email>
    (<ulink url="http://www.insecure.org"/>)
    </para>

    <para>Setki ludzi wnios&#322;y warto&#347;ciowy wk&#322;ad w rozw&#243;j Nmapa. Szczeg&#243;&#322;y s&#261; 
    zamieszczane w pliku <filename moreinfo="none">CHANGELOG</filename>, kt&#243;ry
    jest rozpowszechniany z Nmapem i jest r&#243;wnie&#380; dost&#281;pny pod adresem
    <ulink url="http://www.insecure.org/nmap/changelog.html"/>.</para>

  </refsect1>

  
  <refsect1 id="man-legal">
    <title>Uwarunkowania prawne</title>

  <refsect2 id="translation-disclaimer">
  <title>Unofficial Translation Disclaimer / O&#347;wiadczenie dotycz&#261;ce t&#322;umaczenia</title>

  <para>This is an unnofficial translation of the <ulink
  url="http://www.insecure.org/nmap/man/man-legal.html">Nmap
  license details</ulink> into polish.  It was not written by
  Insecure.Com LLC, and does not legally state the distribution terms
  for Nmap -- only the original English text does that.  However, we
  hope that this translation helps polish speakers understand the
  Nmap license better.</para>

  <para>To jest nieoficjalne t&#322;umaczenie <ulink
  url="http://www.insecure.org/nmap/man/man-legal.html">licencji Nmapa
  </ulink> na j&#281;zyk polski. Nie zosta&#322;o ono napisane przez Insecure.Com LLC,
  i przez to nie mo&#380;e by&#263; uwa&#380;ane za wi&#261;&#380;&#261;ce, tak jak jego angielska wersja,
  jednak&#380;e uwa&#380;amy, &#380;e t&#322;umaczenie to pozwoli lepiej zrozumie&#263; licencj&#281; Nmapa. 
  </para>
</refsect2>

    
<refsect2 id="nmap-copyright">
  <title>Prawa autorskie i licencjonowanie Nmap</title>

<para>Prawa autorskie (1996-2005) do programu Nmap Security Scanner posiada 
Insecure.Com LLC. Nmap jest tak&#380;e zastrze&#380;onym znakiem towarowym Insecure.Com 
LLC. Ten program jest wolnym oprogramowaniem; mo&#380;liwa jest jego redystrybucja
i/lub modyfikowanie zgodnie z zasadami licencji GNU General Public License
opublikowanej przez Free Software Foundation; Wersja 2. Gwarantuje ona prawo
do u&#380;ywania, modyfikowania i redystrybucji tego oprogramowania pod pewnymi 
warunkami. Je&#347;li technologia Nmapa jest integrowana z innymi programami, mo&#380;liwa
jest sprzeda&#380; alternatywnych licencji (kontakt <email>sales@insecure.com</email>).
Wielu producent&#243;w skaner&#243;w bezpiecze&#324;stwa licencjonuje technologie Nmapa takie
jak wykrywanie host&#243;w, skanowanie port&#243;w, wykrywanie system&#243;w operacyjnych i
wykrywanie us&#322;ug/wersji.</para>

<para>GPL nak&#322;ada isotne ograniczenia w stosunku do <quote>produkt&#243;w pochodnych
</quote>, jednak nie jest jeszcze dost&#281;pna dok&#322;adna ich definicja. 
Dla unikni&#281;cia nieporozumie&#324; zak&#322;adamy, &#380;e aplikacja jest produktem pochodnym
w przypadku gdy spe&#322;nia kt&#243;ry&#347; z warunk&#243;w:</para>

<itemizedlist>
<listitem><para>Integruje kod &#378;r&#243;d&#322;owy Nmapa</para></listitem>
<listitem><para>Odczytuje lub do&#322;&#261;cza chronione prawami autorskimi pliki Nmapa,
    takie jak <filename moreinfo="none">nmap-os-fingerprints</filename> czy
    <filename moreinfo="none">nmap-service-probes</filename>.</para></listitem>
<listitem><para>Uruchamia Nmapa i przetwarza jego wyniki (w odr&#243;&#380;nieniu od 
    aplikacji, kt&#243;re uruchamiaj&#261; Nmapa i wy&#347;wietlaj&#261; nie przetworzone raporty
    i przez to nie s&#261; produktami pochodnymi).</para></listitem>
<listitem><para>Integruj&#261;/w&#322;&#261;czaj&#261;/agreguj&#261; Nmapa w wykonywalnym instalatorze,
    tak jak stworzone za pomoc&#261; InstallShield.</para></listitem>
<listitem><para>Wykorzystuj&#261; bibliotek&#281; lub program wykonuj&#261;cy jedno z 
    powy&#380;szych.</para></listitem>
</itemizedlist>

<para>Warunki <quote>Nmapa</quote> powinny dotyczy&#263; cz&#281;&#347;ci i pochodnych 
programu Nmap. Powy&#380;sza lista ma na celu klarowne przedstawienie naszej
interpretacji program&#243;w pochodnych z przyk&#322;adami. Ograniczenia dotycz&#261; tylko
przypadk&#243;w, w kt&#243;rych Nmap jest rozpowszechniany razem z programem pochodnym.
Na przyk&#322;ad nic nie stoi na przeszkodzie napisania i sprzedawania w&#322;asnego 
interfejsu do Nmapa. Wystarczy rozprowadza&#263; go oddzielnie podaj&#261;c u&#380;ytkownikom 
adres <ulink url="http://www.insecure.org/nmap/"/> do pobierania Nmapa.</para>

<para>Nie uwa&#380;amy tego za ograniczenia dodane do GPL, ale jako klarown&#261;
interpretacj&#281; <quote>program&#243;w pochodnych</quote>, jako &#380;e dotyczy to naszego
produktu opartego na GPL. Jest to zbli&#380;one do sposobu w jaki Linus Torvalds
opublikowa&#322; swoj&#261; interpretacj&#281; dotycz&#261;c&#261; <quote>program&#243;w pochodnych</quote>,
opartych na modu&#322;ach kernela Linuxa. Nasza interpretacja odnosi si&#281; tylko do 
Nmapa - nie m&#243;wimy o &#380;adnym innym produkcie GPL.</para>

<para>Je&#347;li masz jakiekolwiek pytania dotycz&#261;ce ogranicze&#324; licencji GPL przy
zastosowaniach Nmapa w produktach nie opartych na GPL, ch&#281;tnie pomo&#380;emy.
Jak wspomniano wy&#380;ej, oferujemy tak&#380;e alternatywn&#261; licencj&#281; do integrowania
Nmapa we w&#322;asnych aplikacjach i urz&#261;dzeniach. Licencje na integracj&#281; Nmapa
zosta&#322;y sprzedane wielu producentom oprogramowania zwi&#261;zanego z bezpiecze&#324;stwem
i og&#243;lnie zawieraj&#261; do&#380;ywotni&#261; licencj&#281; oraz dostarczaj&#261; priorytetowego 
wsparcia technicznego wraz z aktualizacjami i pomagaj&#261; op&#322;aci&#263; dalszy rozw&#243;j
Nmapa. Prosz&#281; o kontakt z <email>sales@insecure.com</email> w celu uzyskania
dalszych informacji.</para>

<para>Jako specjalny wyj&#261;tek dla warunk&#243;w GPL, Insecure.Com LLC zezwala na
linkowanie kodu tego programu z dowoln&#261; wersj&#261; biblioteki OpenSSL, kt&#243;ra jest
dystrybuowana na licencji identycznej do umieszczonej w pliku Copying.OpenSSL
oraz na dystrybucj&#281; obu w postaci zlinkowanej. Musisz przestrzega&#263; licencji GPL
we wszystkich aspektach wykorzystania kodu, innym ni&#380; OpenSSL. 
Je&#347;li zmodyfikujesz wspomniany plik, mo&#380;esz rozszerzy&#263; ten wyj&#261;tek o Twoj&#261; 
wersj&#281;, ale nie jeste&#347; do tego zobligowany.</para>

<para>Je&#347;li otrzyma&#322;e&#347;(a&#347;) te pliki z pisemn&#261; licencj&#261; lub kontraktem 
zmieniaj&#261;cym powy&#380;sze zapisy, maj&#261; one pierwsze&#324;stwo nad umieszczonymi tutaj.
</para>
</refsect2>

<refsect2 id="man-copyright">
  <title>Licencja Creative Commons dla tego podr&#281;cznika Nmap</title>
  <para>Prawa (2005) do tego podr&#281;cznika Nmapa posiada Insecure.Com LLC. Jest on
  udost&#281;pniany w oparciu o wersj&#281; 2.5 licencji
  <ulink url="http://creativecommons.org/licenses/by/2.5/">Creative Commons
  Attribution License</ulink>. Pozwala ona na redystrybucj&#281; i modyfikowanie
  w potrzebnym zakresie tak d&#322;ugo, jak zostanie podane oryginalne &#378;r&#243;d&#322;o.
  Alternatywnie mo&#380;esz traktowa&#263; ten dokument jako udost&#281;pniany na takiej
  samej licencji jak Nmap (opisanej wcze&#347;niej).</para>
</refsect2>

<refsect2 id="source-contrib">
  <title>Dost&#281;pno&#347;&#263; kodu &#378;r&#243;d&#322;owego i wk&#322;ad spo&#322;eczno&#347;ci</title>

<para>Kod &#378;r&#243;d&#322;owy dla tego programowania jest dost&#281;pny, poniewa&#380; uwa&#380;amy, &#380;e
u&#380;ytkownicy maj&#261; prawo wiedzie&#263; dok&#322;adnie co program robi, zanim go uruchomi&#261;.
Pozwala to tak&#380;e na przeprowadzenie audytu kodu pod k&#261;tem bezpiecze&#324;stwa
(jak dot&#261;d nie wykryto problemu tego typu).</para>

<para>Kod &#378;r&#243;d&#322;owy pozwala r&#243;wnie&#380; na przenoszenie Nmapa na nowe platformy, na
poprawianie b&#322;&#281;d&#243;w i dodawanie nowych funkcji. Mocno zach&#281;camy do wysy&#322;ania
swoich zmian na adres <email>fyodor@insecure.org</email> w celu mo&#380;liwej
integracji z g&#322;&#243;wn&#261; dystrybucj&#261;. Wys&#322;anie tych zmian do Fyodora lub na jedn&#261;
z list dyskusyjnych dla deweloper&#243;w Insecure.Org, powoduje przekazanie praw do
nielimitowanego, nie wy&#322;&#261;cznego prawa do ponownego wykorzystania, modyfikacji
i relicencjonowania tego kodu. Nmap zawsze b&#281;dzie dost&#281;pny jako Open Source,
lecz jest to istotne z powodu dewastuj&#261;cych problem&#243;w jakie pojawia&#322;y si&#281; w
innych projektach Free Software (takich jak KDE i NASM). Okazjonalnie
licencjonujemy kod do firm trzecich, jak to wspomniano wy&#380;ej. Je&#347;li chcesz
doda&#263; specjaln&#261; licencj&#281; dla swojego wk&#322;adu, wystarczy do&#322;&#261;czy&#263; odpowiedni&#261;
informacj&#281; przy wysy&#322;aniu kodu do nas.</para>
</refsect2>

<refsect2 id="no-warranty"><title>Brak gwarancji</title>

<para>Program ten jest rozpowszechniany z nadziej&#261;, &#380;e b&#281;dzie u&#380;yteczny, jednak
BEZ &#379;ADNEJ GWARANCJI; tak&#380;e bez za&#322;o&#380;onej gwarancji PRZYDATNO&#346;CI HANDLOWEJ lub
PRZYDATNO&#346;CI DO OKRE&#346;LONYCH ZASTOSOWA&#323;. Zobacz licencj&#281; GNU General Public 
License dla dalszych szczeg&#243;&#322;&#243;w pod adresem 
<ulink url="http://www.gnu.org/copyleft/gpl.html"/>, jej polskie nieoficjalne
t&#322;umaczenie <ulink url="http://www.gnu.org.pl/text/licencja-gnu.html"/>
lub w pliku COPYING do&#322;&#261;czanym do Nmapa.</para>

<para>Nale&#380;y r&#243;wnie&#380; zwr&#243;ci&#263; uwag&#281;, &#380;e Nmap okazjonalnie potrafi spowodowa&#263;
zaprzestanie dzia&#322;ania &#378;le napisanych aplikacji, stosu TCP/IP lub nawet ca&#322;ego 
systemu operacyjnego. Jest to bardzo rzadko spotykane, ale wa&#380;ne jest, aby o tym
pami&#281;ta&#263;. <emphasis>Nmap nie powinien by&#263; nigdy uruchamiany przeciwko systemom
krytycznym</emphasis>, o ile nie jeste&#347; przygotowany(a) na ewentualn&#261; przerw&#281;
w dzia&#322;aniu. Potwierdzamy, &#380;e Nmap mo&#380;e spowodowa&#263; awari&#281; system&#243;w lub sieci
i wypieramy si&#281; jakiejkolwiek odpowiedzialno&#347;ci za uszkodzenia lub problemy
spowodowane przez jego dzia&#322;anie.</para>
</refsect2>

<refsect2 id="inappropriate-usage"><title>Nieodpowiednie u&#380;ycie</title>
<para>Z powodu istnienia niewielkiego ryzyka spowodowania awarii i poniewa&#380;
niekt&#243;re czarne kapelusze lubi&#261; u&#380;ywa&#263; Nmapa do wykonania rekonesansu przed 
atakiem systemu, administratorzy mog&#261; si&#281; denerwowa&#263; i zg&#322;asza&#263; swoje protesty
z powodu skanowania ich system&#243;w. Z tego powodu, najcz&#281;&#347;ciej zalecane jest
uzyskanie odpowiedniej zgody przed wykonaniem nawet delikatnego skanowania 
sieci.</para>

<para>Z powod&#243;w bezpiecze&#324;stwa, Nmap nie powinien by&#263; nigdy instalowany ze
specjalnymi uprawnieniami (np. suid root).</para>
</refsect2>

<refsect2 id="third-party-soft"><title>Oprogramowanie firm trzecich</title>
<para>Ten produkt zawiera oprogramowanie stworzone przez 
<ulink url="http://www.apache.org">Apache Software Foundation</ulink>. 
Zmodyfikowana wersja biblioteki <ulink url="http://www.tcpdump.org">Libpcap
portable packet capture library</ulink> jest do&#322;&#261;czana do dystrybucji Nmapa.
Wersja Nmapa dla systemu Windows wykorzystuje opart&#261; na libpcap bibliotek&#281;
<ulink url="http://www.winpcap.org">WinPcap</ulink> (zamiast libpcap). Obs&#322;ug&#281;
wyra&#380;e&#324; regularnych zapewnia biblioteka 
<ulink url="http://www.pcre.org">PCRE</ulink>, kt&#243;ra jest oprogramowaniem
open source, napisanym przez Philip Hazel. Niekt&#243;re funkcje dotycz&#261;ce niskiego
poziomu sieci wykorzystuj&#261; bibliotek&#281; 
<ulink url="http://libdnet.sourceforge.net">Libdnet</ulink>, napisan&#261; przez Dug 
Songa. Zmodyfikowana jej wersja jest do&#322;&#261;czana do dystrybucji Nmapa. Nmap mo&#380;e
by&#263; opcjonalnie linkowany z bibliotek&#261; kryptograficzn&#261; 
<ulink url="http://www.openssl.org">OpenSSL</ulink>, u&#380;ywan&#261; do detekcji wersji
SSL. Wszystkie opisane w tym paragrafie programy firm trzecich s&#261; 
rozpowszechniane na licencji BSD.</para>
</refsect2>

<refsect2 id="us-export"><title>Klasyfikacja eksportowa Stan&#243;w Zjednoczonych 
Ameryki P&#243;&#322;nocnej</title>
<para>US Export Control: Insecure.Com LLC wierzy, &#380;e Nmap kwalifikuje si&#281; pod
oznaczenie US ECCN (export control classification number) 5D992. Kategoria ta 
jest opisana jako <quote>Oprogramowanie dotycz&#261;ce bezpiecze&#324;stwa informacji
nie obj&#281;te 5D002</quote>. Jedynym ograniczeniem tej kategorii jest AT 
(anty-terroryzm), kt&#243;ra odnosi si&#281; do wi&#281;kszo&#347;ci d&#243;br i zabrania eksportu do
niekt&#243;rych awanturniczych kraj&#243;w takich jak Iran czy P&#243;&#322;nocna Korea. Z tego
powodu Nmap nie wymaga &#380;adnej specjalnej licencji, zgody lub innych autoryzacji
rz&#261;du USA.</para>
</refsect2>

  </refsect1>
</refentry>

</article>
