1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-09 22:21:29 +00:00
Files
nmap/docs/man-xlate/nmap-man-id.xml
2023-03-31 22:13:47 +00:00

4174 lines
236 KiB
XML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: nmap-man.xml 12855 2009-04-02 03:24:21Z fyodor $ -->
<article id="man" lang="id">
<artheader>
<title>Panduan Refensi Nmap (Man Page, bahasa Indonesia)</title>
</artheader>
<indexterm significance="normal"><primary>man page</primary><see>reference guide</see></indexterm>
<indexterm class="startofrange" id="man-nmap1-indexterm" significance="normal"><primary>reference guide (man page)</primary></indexterm>
<refentry id="man-nmap1">
<refmeta>
<refentrytitle>nmap</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class="source">Nmap</refmiscinfo>
<refmiscinfo class="manual">Panduan Referensi Nmap</refmiscinfo>
</refmeta>
<refnamediv id="man-name">
<refname>nmap</refname>
<refpurpose>Tool eksplorasi jaringan dan keamanan / scanner port</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv id="man-synopsis">
<cmdsynopsis sepchar=" ">
<command moreinfo="none">nmap</command>
<arg choice="opt" rep="repeat">
<replaceable>Jenis Scan</replaceable>
</arg>
<arg choice="opt" rep="norepeat">
<replaceable>Opsi</replaceable>
</arg>
<arg choice="req" rep="norepeat">
<replaceable>spesifikasi target</replaceable>
</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="man-description">
<title>Deskripsi</title>
<indexterm significance="normal"><primary>Nmap</primary><secondary>description of</secondary></indexterm>
<web>
<note><para>
Dokumen ini menjelaskan versi Nmap 4.85BETA7. Dokumentasi terbaru tersedia
dalam bahasa Inggris di
<ulink url="https://nmap.org/book/man.html" />.</para></note>
</web>
<para>Nmap (<quote>Network Mapper</quote>) merupakan sebuah tool open source untuk
eksplorasi dan audit keamanan jaringan. Ia dirancang untuk memeriksa jaringan
besar secara cepat, meskipun ia dapat pula bekerja terhadap host tunggal.
Nmap menggunakan paket IP raw dalam cara yang canggih untuk menentukan host mana saja
yang tersedia pada jaringan, layanan (nama aplikasi dan versi) apa yang diberikan,
sistem operasi (dan versinya) apa yang digunakan, apa jenis firewall/filter paket
yang digunakan, dan sejumlah karakteristik lainnya. Meskipun Nmap umumnya digunakan
untuk audit keamanan, namun banyak administrator sistem dan jaringan menganggapnya berguna
untuk tugas rutin seperti inventori jaringan, mengelola jadwal upgrade layanan, dan melakukan
monitoring uptime host atau layanan.</para>
<para>Output Nmap adalah sebuah daftar target yang diperiksa, dengan
informasi tambahannya tergantung pada opsi yang digunakan.
Hal kunci di antara informasi itu adalah <quote>tabel port menarik</quote>.<indexterm significance="normal"><primary>ports</primary><secondary sortas="interesting">“interesting”</secondary></indexterm>
Tabel tersebut berisi daftar angka port dan protokol, nama layanan, dan status. Statusnya adalah
<literal moreinfo="none">terbuka (open)</literal>, <literal moreinfo="none">difilter (filtered)</literal>,
<literal moreinfo="none">tertutup (closed)</literal>, atau <literal moreinfo="none">tidak difilter (unfiltered)</literal>.
<literal moreinfo="none">Terbuka</literal><indexterm significance="normal"><primary><literal moreinfo="none">open</literal> port state</primary></indexterm>
berarti bahwa aplikasi pada mesin target sedang mendengarkan (listening) untuk
koneksi/paket pada port tersebut.
<literal moreinfo="none">Difilter</literal><indexterm significance="normal"><primary><literal moreinfo="none">filtered</literal> port state</primary></indexterm>
berarti bahwa sebuah firewall, filter, atau penghalang jaringan lainnya
memblokir port sehingga Nmap tidak dapat mengetahui apakah ia
<literal moreinfo="none">terbuka</literal> atau <literal moreinfo="none">tertutup</literal>.
<literal moreinfo="none">Tertutup</literal><indexterm significance="normal"><primary><literal moreinfo="none">closed</literal> port state</primary></indexterm>
port tidak memiliki aplikasi yang sedang mendengarkan,
meskipun mereka dapat terbuka kapanpun.
Port digolongkan sebagai
<literal moreinfo="none">tidak difilter</literal><indexterm significance="normal"><primary><literal moreinfo="none">unfiltered</literal> port state</primary></indexterm>
ketika mereka menanggapi probe Nmap, namun Nmap tidak dapat menentukan
apakah mereka terbuka atau tertutup.
Nmap melaporkan kombinasi status
<literal moreinfo="none">open|filtered</literal><indexterm significance="normal"><primary><literal moreinfo="none">open|filtered</literal> port state</primary></indexterm>
dan <literal moreinfo="none">closed|filtered</literal><indexterm significance="normal"><primary><literal moreinfo="none">closed|filtered</literal> port state</primary></indexterm>
ketika ia tidak dapat menentukan status manakah yang
menggambarkan sebuah port. Tabel port mungkin juga menyertakan
detil versi software ketika diminta melakukan pemeriksaan versi.
Ketika sebuah pemeriksaan protokol IP diminta
(<option>-sO</option>), Nmap memberikan informasi pada protokol IP
yang didukung alih-alih port-port yang mendengarkan.</para>
<para>Selain tabel port yang menarik, Nmap dapat pula memberikan
informasi lebih lanjut tentang target, termasuk nama reverse DNS,
prakiraan sistem operasi, jenis device, dan alamat MAC.</para>
<para>Pemeriksaan Nmap yang umum ditunjukkan dalam <xref linkend="man-ex-repscan" xrefstyle="select: label nopage"/>. Argumen yang digunakan
pada contoh ini hanyalah <option>-A</option>, untuk memeriksa sistem operasi dan versi,
pemeriksaan skrip, dan traceroute; <option>-T4</option> untuk eksekusi yang lebih cepat;
dan dua buah nama host target.</para>
<example id="man-ex-repscan"><title>Sebuah gambaran pemeriksaan Nmap</title>
<indexterm significance="normal"><primary><option>-A</option></primary><secondary>example of</secondary></indexterm>
<screen format="linespecific">
# nmap -A -T4 scanme.nmap.org
Starting Nmap ( https://nmap.org )
Interesting ports on scanme.nmap.org (64.13.134.52):
Not shown: 994 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3 (protocol 2.0)
25/tcp closed smtp
53/tcp open domain ISC BIND 9.3.4
70/tcp closed gopher
80/tcp open http Apache httpd 2.2.2 ((Fedora))
|_ HTML title: Go ahead and ScanMe!
113/tcp closed auth
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.20-1 (Fedora Core 5)
TRACEROUTE (using port 80/tcp)
HOP RTT ADDRESS
[Cut first seven hops for brevity]
8 10.59 so-4-2-0.mpr3.pao1.us.above.net (64.125.28.142)
9 11.00 metro0.sv.svcolo.com (208.185.168.173)
10 9.93 scanme.nmap.org (64.13.134.52)
Nmap done: 1 IP address (1 host up) scanned in 17.00 seconds
</screen>
</example>
<para>Versi terbaru Nmap dapat diperoleh dari <ulink url="https://nmap.org"/>. Versi terbaru man page
tersedia di <ulink url="https://nmap.org/book/man.html"/>.</para>
</refsect1>
<refsect1 id="man-translation">
<title>Catatan Terjemahan</title>
<para>Edisi bahasa Indonesia Nmap Reference Guide ini
diterjemahkan dari versi [12855] <ulink
url="https://nmap.org/book/man.html">versi Inggris</ulink>
oleh Tedi Heriyanto. Meskipun kami berharap bahwa hal ini akan
membuat Nmap lebih dapat diakses oleh para pengguna bahasa Indonesia di seluruh dunia,
namun kami tidak dapat menjamin bahwa terjemahanan ini lengkap atau
up-to-date seperti versi bahasa Inggris resminya. Pekerjaan ini dapat
dimodifikasi dan didistribusikan kembali berdasarkan syarat-syarat <ulink
url="http://creativecommons.org/licenses/by/2.5/">Creative
Commons Attribution License</ulink>.</para>
</refsect1>
<refsect1 id="man-briefoptions">
<title>Ringkasan Opsi</title>
<para>Ringkasan opsi ini ditampilkan ketika Nmap dijalankan
tanpa argumen, dan versi terakhir selalu tersedia di
<ulink url="https://nmap.org/data/nmap.usage.txt"/>.
Ia membantu mengingat opsi-opsi umum, namun ia bukanlah
pengganti dokumentasi lengkap dalam halaman-halaman berikut manual ini.
Bahkan beberapa opsi tersembunyi tidak disertakan di sini.</para>
<!-- sortas="#" puts it before the entries that start with '-' in the options
section. -->
<indexterm class="startofrange" id="nmap-usage-indexterm" significance="normal"><primary sortas="#">summary of options</primary></indexterm>
<indexterm class="startofrange" id="nmap-usage-nmap-indexterm" significance="normal"><primary>command-line options</primary><secondary>of Nmap</secondary></indexterm>
<?dbfo-need height="1in"?>
<literallayout format="linespecific" class="normal">Nmap 4.85BETA7 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL &lt;inputfilename&gt;: Input from list of hosts/networks
-iR &lt;num hosts&gt;: Choose random targets
--exclude &lt;host1[,host2][,host3],...&gt;: Exclude hosts/networks
--excludefile &lt;exclude_file&gt;: Exclude list from file
HOST DISCOVERY:
-sL: List Scan - simply list targets to scan
-sP: Ping Scan - go no further than determining if host is online
-PN: Treat all hosts as online -- skip host discovery
-PS/PA/PU[portlist]: TCP SYN/ACK or UDP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
--dns-servers &lt;serv1[,serv2],...&gt;: Specify custom DNS servers
--system-dns: Use OS's DNS resolver
--traceroute: Trace hop path to each host
SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags &lt;flags&gt;: Customize TCP scan flags
-sI &lt;zombie host[:probeport]&gt;: Idle scan
-sO: IP protocol scan
-b &lt;FTP relay host&gt;: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
-p &lt;port ranges&gt;: Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F: Fast mode - Scan fewer ports than the default scan
-r: Scan ports sequentially - don't randomize
--top-ports &lt;number&gt;: Scan &lt;number&gt; most common ports
--port-ratio &lt;ratio&gt;: Scan ports more common than &lt;ratio&gt;
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info
--version-intensity &lt;level&gt;: Set from 0 (light) to 9 (try all probes)
--version-light: Limit to most likely probes (intensity 2)
--version-all: Try every single probe (intensity 9)
--version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:
-sC: equivalent to --script=default
--script=&lt;Lua scripts&gt;: &lt;Lua scripts&gt; is a comma separated list of
directories, script-files or script-categories
--script-args=&lt;n1=v1,[n2=v2,...]&gt;: provide arguments to scripts
--script-trace: Show all data sent and received
--script-updatedb: Update the script database.
OS DETECTION:
-O: Enable OS detection
--osscan-limit: Limit OS detection to promising targets
--osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:
Options which take &lt;time&gt; are in milliseconds, unless you append 's'
(seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
-T&lt;0-5&gt;: Set timing template (higher is faster)
--min-hostgroup/max-hostgroup &lt;size&gt;: Parallel host scan group sizes
--min-parallelism/max-parallelism &lt;numprobes&gt;: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout &lt;time&gt;: Specifies
probe round trip time.
--max-retries &lt;tries&gt;: Caps number of port scan probe retransmissions.
--host-timeout &lt;time&gt;: Give up on target after this long
--scan-delay/--max-scan-delay &lt;time&gt;: Adjust delay between probes
--min-rate &lt;number&gt;: Send packets no slower than &lt;number&gt; per second
--max-rate &lt;number&gt;: Send packets no faster than &lt;number&gt; per second
FIREWALL/IDS EVASION AND SPOOFING:
-f; --mtu &lt;val&gt;: fragment packets (optionally w/given MTU)
-D &lt;decoy1,decoy2[,ME],...&gt;: Cloak a scan with decoys
-S &lt;IP_Address&gt;: Spoof source address
-e &lt;iface&gt;: Use specified interface
-g/--source-port &lt;portnum&gt;: Use given port number
--data-length &lt;num&gt;: Append random data to sent packets
--ip-options &lt;options&gt;: Send packets with specified ip options
--ttl &lt;val&gt;: Set IP time-to-live field
--spoof-mac &lt;mac address/prefix/vendor name&gt;: Spoof your MAC address
--badsum: Send packets with a bogus TCP/UDP checksum
OUTPUT:
-oN/-oX/-oS/-oG &lt;file&gt;: Output scan in normal, XML, s|&lt;rIpt kIddi3,
and Grepable format, respectively, to the given filename.
-oA &lt;basename&gt;: Output in the three major formats at once
-v: Increase verbosity level (use twice or more for greater effect)
-d[level]: Set or increase debugging level (Up to 9 is meaningful)
--reason: Display the reason a port is in a particular state
--open: Only show open (or possibly open) ports
--packet-trace: Show all packets sent and received
--iflist: Print host interfaces and routes (for debugging)
--log-errors: Log errors/warnings to the normal-format output file
--append-output: Append to rather than clobber specified output files
--resume &lt;filename&gt;: Resume an aborted scan
--stylesheet &lt;path/URL&gt;: XSL stylesheet to transform XML output to HTML
--webxml: Reference stylesheet from Nmap.Org for more portable XML
--no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:
-6: Enable IPv6 scanning
-A: Enables OS detection and Version detection, Script scanning and Traceroute
--datadir &lt;dirname&gt;: Specify custom Nmap data file location
--send-eth/--send-ip: Send using raw ethernet frames or IP packets
--privileged: Assume that the user is fully privileged
--unprivileged: Assume the user lacks raw socket privileges
-V: Print version number
-h: Print this help summary page.
EXAMPLES:
nmap -v -A scanme.nmap.org
nmap -v -sP 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -PN -p 80
SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
</literallayout>
<indexterm class="endofrange" startref="nmap-usage-nmap-indexterm" significance="normal"/>
<indexterm class="endofrange" startref="nmap-usage-indexterm" significance="normal"/>
</refsect1>
<refsect1 id="man-target-specification">
<title>Spesifikasi Target</title>
<indexterm significance="normal"><primary>target specification</primary></indexterm>
<para>Semua yang ada pada perintah baris Nmap yang bukan berupa opsi (atau
argumen opsi) dianggap sebagai spesifikasi host target. Kasus paling sederhana
adalah menspesifikasikan alamat IP target atau nama host untuk diperiksa.</para>
<para>Terkadang anda ingin memeriksa seluruh jaringan host-host yang berdekatan.
Untuk hal ini, Nmap mendukung pengalamatan
CIDR-style<indexterm significance="normal"><primary>CIDR (Classless Inter-Domain Routing)</primary></indexterm>. Anda dapat menambahkan
/<replaceable>numbits</replaceable> ke sebuah alamat IPv4 atau nama host dan
Nmap akan memeriksa setiap alamat IP yang alamat
<replaceable>numbits</replaceable> pertamanya sama dengan alamat IP
referensi atau nama host yang diberikan. Sebagai contoh, 192.168.10.0/24 akan memeriksa 256
host antara 192.168.10.0 (biner: <literal moreinfo="none">11000000 10101000
00001010 00000000</literal>) dan 192.168.10.255 (biner: <literal moreinfo="none">11000000 10101000
00001010 11111111</literal>), inklusif.
192.168.10.40/24 akan memeriksa target-target yang sama. Misalkan host
<literal moreinfo="none">scanme.nmap.org</literal><indexterm significance="normal"><primary><literal moreinfo="none">scanme.nmap.org</literal></primary></indexterm>
memiliki alamat IP 64.13.134.52, spesifikasi
scanme.nmap.org/16 akan memeriksa sebanyak 65.536 alamat IP antara
64.13.0.0 dan 64.13.255.255. Nilai terkecil yang diijinkan adalah /0,
yang akan memeriksa seluruh Internet. Nilai terbesar adalah /32, yang hanya
akan memeriksa host atau alamat IP yang disebutkan karena seluruh bit alamat tetap.</para>
<indexterm significance="normal"><primary>rentang alamat</primary></indexterm>
<para>Notasi CIDR pendek namun tidak selalu fleksibel. Sebagai contoh, anda
mungkin ingin memeriksa 192.168.0.0/16 namun ingin melewati IP yang diakhiri dengan .0 atau
.255 karena mereka mungkin digunakan sebagai subnet jaringan dan alamat broadcast. Nmap mendukung
hal ini melalui pengalamatan rentang oktet. Alih-alih menspesifikasikan alamat IP normal, anda
dapat menspesifikasikan daftar angka atau rentang untuk setiap oktet. Sebagai contoh, 192.168.0-255.1-254 akan melewati seluruh alamat dalam rentang yang berakhiran dalam .0 atau .255,
dan 192.168.3-5,7.1 akan memeriksa empat alamat 192.168.3.1, 192.168.4.1, 192.168.5.1, dan
192.168.7.1. Kedua sisi rentang dapat dihilangkan; nilai baku adalah 0 di sisi kiri
dan 255 untuk sisi kanan. Penggunaan <literal moreinfo="none">-</literal>
sama artinya dengan 0-255, namun ingat untuk menggunakan 0- dalam oktet pertama
sehingga spesifikasi target tidak terlihat seperti opsi perintah baris.
Rentang tidak hanya terbatas pada oktet akhir: 0-255.0-255.13.37
akan melakukan pemeriksaan Internet-wide untuk seluruh alamat IP
yang berakhiran 13.37. Sampling luas seperti ini dapat bermanfaat
untuk riset dan survei Internet.</para>
<para>Alamat IPv6 hanya dapat dispesifikasikan dengan alamat IPv6
lengkap mereka atau nama host. CIDR dan rentang oktet tidak didukung
untuk IPv6 karena mereka jarang bermanfaat.</para>
<para>Nmap menerima spesifikasi banyak host pada perintah baris,
dan mereka tidak perlu dalam jenis yang sama. Perintah <command moreinfo="none">nmap
scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.-</command> melakukan
apa yang anda harapkan.</para>
<para>Meskipun target biasanya dispesifikasikan pada perintah baris, opsi berikut juga
tersedia untuk mengendalikan pemilihan target:</para>
<variablelist>
<varlistentry>
<term>
<option>-iL <replaceable>inputfilename</replaceable></option> (Input dari daftar)
<indexterm significance="normal"><primary><option>-iL</option></primary></indexterm>
<indexterm significance="normal"><primary>target specification</primary><secondary>from list</secondary></indexterm>
</term>
<listitem>
<para>Membaca spesifikasi target dari
<replaceable>inputfilename</replaceable>. Memberikan
banyak daftar host pada perintah baris seringkali tidak mengasyikkan.
Sebagai contoh, DHCP server anda mungkin mengekspor
daftar 10.000 lease saat ini yang ingin anda periksa.
Atau mungkin anda ingin memeriksa seluruh alamat IP
<emphasis>kecuali</emphasis> bagi mereka untuk mencari host
yang menggunakan alamat IP statik tidak terotorisasi. Cukup buat daftar host
yang ingin diperiksa dan berikan namafilenya ke Nmap sebagai sebuah argumen
bagi opsi <option>-iL</option>. Entrinya dapat dalam beragam format
yang diterima oleh Nmap di perintah baris
(alamat IP, nama host, CIDR, IPv6, atau rentang oktet). Setiap entri
harus dipisahkan dengan satu atau lebih spasi, tab, atau baris baru.
Anda dapat menspesifikasikan sebuah tanda hubung (hyphen) (<literal moreinfo="none">-</literal>) sebagai nama file jika anda ingin
Nmap membaca host dari input standar alih-alih dari sebuah file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-iR <replaceable>num hosts</replaceable></option> (Pilih target acak)
<indexterm significance="normal"><primary><option>-iR</option></primary></indexterm>
<indexterm significance="normal"><primary>random targets</primary></indexterm>
<indexterm significance="normal"><primary>targets specification</primary><secondary>at random</secondary></indexterm>
</term>
<listitem>
<para>Untuk survei dan riset lain skala-Internet,
anda mungkin ingin memilih target secara acak.
Argumen <replaceable>num hosts</replaceable> memberitahu Nmap
berapa banyak IP yang ingin dihasilkan. IP yang tidak diinginkan
seperti dalam rentang alamat privat, multicast, atau tidak dialokasi
secara otomatis akan dilewati. Argumen <literal moreinfo="none">0</literal>
dapat dispesifikasikan untuk pemeriksaan yang tidak pernah berakhir. Perhatikan bahwa
beberapa administrator jaringan tidak suka terhadap pemeriksaan yang tidak terotorisasi
terhadap jaringan mereka dan mungkin mengeluh. Gunakan opsi ini dengan risiko anda!
Jika anda benar-benar merasa bosan di sore hari yang hujan, coba perintah
<command moreinfo="none">nmap -sS -PS80 -iR 0 -p 80</command>
<indexterm significance="normal"><primary><option>-sS</option></primary><secondary>example of</secondary></indexterm>
<indexterm significance="normal"><primary><option>-PS</option></primary><secondary>example of</secondary></indexterm>
<indexterm significance="normal"><primary><option>-iR</option></primary><secondary>example of</secondary></indexterm>
untuk mencari server web acak untuk browsing.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--exclude
<replaceable>host1</replaceable><optional>,<replaceable>host2</replaceable><optional>,...</optional></optional></option> (Kecualikan host/jaringan)
<indexterm significance="preferred"><primary><option>--exclude</option></primary></indexterm>
<indexterm significance="normal"><primary>excluding targets</primary></indexterm>
</term>
<listitem>
<para>Spesifikasikan daftar target yang ingin dikecualikan
dari pemeriksaan meskipun mereka merupakan bagian dari
rentang jaringan yang anda spesifikasikan. Daftar yang anda berikan
menggunakan sintaks Nmap normal, sehingga ia dapat mencakup nama host, blok CIDR,
rentang oktet, dsb. Hal ini dapat bermanfaat ketika jaringan yang ingin anda periksa
menyertakan server-server kritis, sistem yang diketahui terganggu dengan port scan,
atau subnet yang dikelola oleh pihak lain.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--excludefile <replaceable>exclude_file</replaceable></option> (Daftar pengecualian dari file)
<indexterm significance="preferred"><primary><option>--excludefile</option></primary></indexterm>
</term>
<listitem>
<para>Opsi ini memberikan fungsionalitas yang sama dengan opsi <option>--exclude</option>,
namun target yang dikecualikan diberikan dalam sebuah
<replaceable>exclude_file</replaceable> alih-alih diberikan pada perintah baris.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="man-host-discovery">
<title>Pencarian Host (Host Discovery)</title>
<indexterm class="startofrange" id="man-host-discovery-indexterm" significance="normal"><primary>host discovery</primary></indexterm>
<para>Salah satu langkah pertama dalam misi network reconnaissance
adalah mengurangi satu rentang IP (biasanya besar) ke sebuah
daftar host yang aktif atau menarik. Memeriksa setiap port
dari setiap alamat IP adalah lambat dan biasanya tidak perlu. Tentu saja
apa yang membuat sebuah host menarik tergantung pada tujuan
pemeriksaan. Administrator jaringan mungkin hanya tertarik pada
host yang menjalankan layanan tertentu, sementara auditor keamanan
ingin mengetahui semua device dalam satu alamat IP. Administrator
mungkin nyaman cukup dengan menggunakan ping ICMP untuk
menemukan host pada jaringan internalnya, sementara
penetration tester eksternal mungkin menggunakan beragam probe
dalam usahanya menghindari pembatasan firewall.</para>
<para>Oleh karena kebutuhan pencarian host sangat beragam, Nmap menawarkan
sejumlah opsi untuk kustomisasi teknik yang dibutuhkan. Pencarian host
seringkali disebut ping scan, namun ia lebih daripada sekedar
melakukan pengiriman paket echo request ICMP yang diasosiasikan dengan
tool terkenal <application moreinfo="none">ping</application>. Pengguna dapat melewati
langkah ping dengan list scan (<option>-sL</option>) atau dengan
meniadakan ping (<option>-PN</option>), atau melakukan kombinasi
probe multi-port TCP SYN/ACK, UDP, dan ICMP.
Tujuan probe ini adalah memperoleh respon yang menunjukkan bahwa
alamat IP sedang aktif (sedang digunakan oleh host atau device jaringan).
Pada banyak jaringan, hanya sejumlah kecil persentase alamat IP yang aktif
pada satu waktu. Hal ini terutama umum terjadi pada alamat IP privat seperti
10.0.0.0/8. Jaringan tersebut memiliki 16 juta IP, namun saya telah melihatnya
digunakan oleh perusahaan dengan mesin berjumlah kurang dari seribu. Pencarian
host dapat menemukan mesin-mesin dalam lautan alamat IP.</para>
<para>Jika tidak diberikan opsi pencarian host, Nmap
mengirimkan sebuah paket TCP ACK
yang ditujukan ke port 80 dan sebuah query ICMP echo request
ke setiap mesin target. Pengecualian atas hal ini adalah scan ARP
digunakan untuk sembarang target yang ada pada jaringan ethernet lokal.
Untuk user shell Unix biasa, sebuah paket SYN dikirimkan
alih-alih paket ACK dengan menggunakan system call
<function moreinfo="none">connect</function>.
<indexterm significance="normal"><primary>unprivileged users</primary><secondary>limitations
of</secondary></indexterm>
Nilai-nilai baku ini sama dengan opsi
<option>-PA -PE</option>. Pencarian host ini seringkali
cukup ketika melakukan pemeriksaan jaringan lokal, namun
disarankan untuk melakukan probe pencarian yang lebih komprehensif
ketika melakukan audit keamanan.</para>
<para>Opsi-opsi <option>-P*</option> (yang memilih tipe ping)
dapat digabungkan. Anda dapat meningkatkan peluang anda
menyusup firewall yang ketat dengan mengirimkan banyak jenis probe
dengan menggunakan berbagai macam port/flag TCP dan kode ICMP. Perhatikan pula bahwa
pencarian ARP discovery
(<option>-PR</option>)<indexterm significance="normal"><primary><option>-PR</option></primary></indexterm>
secara baku dilakukan terhadap target pada jaringan ethernet lokal bahkan
bila anda menspesifikasikan opsi <option>-P*</option> lain,
karena ia selalu lebih cepat dan lebih efektif.</para>
<para>Secara baku, Nmap melakukan pencarian host dan lalu melakukan
scan port terhadap setiap host yang ditentukan online. Hal ini benar
bahkan bila anda menspesifikasikan tipe pencarian host yang tidak baku seperti
probe UDP (<option>-PU</option>). Bacalah mengenai opsi
<option>-sP</option> untuk mempelajari bagaimana melakukan
hanya pencarian host, atau gunakan <option>-PN</option> untuk melewati
pencarian host dan melakukan scan port untuk seluruh host.
Opsi-opsi berikut ini mengendalikan pencarian host:</para>
<variablelist>
<varlistentry>
<term>
<option>-sL</option> (List Scan)
<indexterm significance="normal"><primary><option>-sL</option></primary></indexterm>
<indexterm significance="normal"><primary>list scan</primary></indexterm>
</term>
<listitem>
<para>Scan daftar (list scan) merupakan sebuah bentuk pencarian host
yang hanya menampilkan setiap host pada jaringan yang dispesifikasikan,
tanpa mengirimkan paket ke host target. Secara baku,
Nmap tetap melakukan resolusi reverse-DNS pada host
untuk mengetahui namanya. Seringkali mengejutkan berapa banyak
informasi berharga yang diberikan nama host. Sebagai contoh,
<literal moreinfo="none">fw.chi</literal> adalah nama firewall satu perusahaan di Chicago.
<indexterm significance="normal"><primary>DNS</primary><secondary>records as source of information</secondary></indexterm>
Nmap juga melaporkan jumlah total alamat IP pada bagian akhir.
Scan daftar merupakan sebuah pemeriksaan untuk memastikan anda
memiliki alamat IP yang tepat untuk target anda.
Jika host menemukan nama domain yang tidak anda kenali,
maka anda perlu melakukan penyelidikan lanjutan untuk mencegah
pemeriksaan jaringan perusahaan yang tidak tepat.</para>
<para>Karena gagasannya adalah hanya menampilkan daftar host target,
opsi untuk fungsionalitas lebih tinggi misalnya pemeriksaan port,
deteksi sistem operasi, atau scanning ping tidak dapat dikombinasikan
dengan opsi ini. Jika anda ingin meniadakan pemeriksaan ping namun
masih ingin melakukan fungsionalitas tingkat tinggi, bacalah opsi
<option>-PN</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sP</option> (Ping Scan)
<indexterm significance="normal"><primary><option>-sP</option></primary></indexterm>
<indexterm significance="normal"><primary>ping scan</primary></indexterm>
</term>
<listitem>
<para>Opsi ini memberitahu Nmap untuk hanya melakukan scan ping
(host discovery), lalu menampilkan host yang menanggapi
pemeriksaan. Skrip host traceroute dan NSE juga dijalankan
jika diminta, namun tidak dilakukan pemeriksaan lebih lanjut (seperti scan
port atau deteksi SO). Opsi ini secara baku satu langkah lebih intrusif
daripada list scan, dan seringkali dapat digunakan untuk tujuan yang sama.
Ia memungkinkan reconnaissance ringan atas jaringan target tanpa menarik
banyak perhatian. Mengetahui berapa banyak host yang up lebih bermanfaat
bagi penyerang daripada daftar yang dihasilkan oleh list scan atas
setiap IP dan nama host.</para>
<para>Administrator sistem juga sering menganggap opsi ini
bermanfaat. Ia dapat digunakan untuk menghitung mesin-mesin yang tersedia
pada jaringan atau memonitor ketersediaan server. Hal ini seringkali
disebut ping sweep, dan lebih handal daripada mem-ping alamat
broadcast karena banyak host tidak akan melakukan reply
terhadap query broadcast.</para>
<para>Opsi <option>-sP</option> secara baku mengirimkan sebuah request ICMP echo
dan sebuah paket TCP ACK ke port 80. Ketika dilakukan oleh
user biasa, hanya sebuah paket SYN yang dikirimkan
(dengan menggunakan call <function moreinfo="none">connect</function>) ke port 80 pada
target. Ketika user dengan privilege berusaha memeriksa target pada
jaringan ethernet lokal, request ARP digunakan kecuali dispesifikasikan
<option>--send-ip</option>.
Opsi <option>-sP</option> dapat dikombinasikan dengan tipe
probe pencarian lainnya (opsi-opsi <option>-P*</option>,
kecuali <option>-PN</option>) untuk fleksibilitas yang lebih tinggi.
Jika digunakan sembarang opsi tipe probe dan nomor port,
probe baku (ACK dan echo request) akan di-override.
Ketika terdapat firewall ketat di antara host sumber yang menjalankan
Nmap dan jaringan target, direkomendasikan untuk menggunakan
teknik lanjutan di atas. Jika tidak host dapat luput ketika firewall
men-drop probe atau responnya.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-PN</option> (No ping)
<indexterm significance="normal"><primary><option>-PN</option></primary></indexterm>
<indexterm significance="normal"><primary>host discovery</primary><secondary>disabling</secondary></indexterm>
</term>
<listitem>
<para>Opsi ini melompati tahap pencarian Nmap secara utuh.
Secara normal, Nmap menggunakan tahap ini untuk menentukan mesin aktif
untuk pemeriksaan lebih lanjut. Secara baku, Nmap hanya melakukan probe
lanjutan seperti scan port, pemeriksaan versi, atau pemeriksaan SO
terhadap host yang ditemukan up. Peniadaan pencarian host dengan
opsi <option>-PN</option> menyebabkan Nmap melakukan fungsi pemeriksaan yang diminta
terhadap <emphasis>setiap</emphasis> alamat IP target yang dispesifikasikan. Jadi
bila pada perintah baris dispesifikasikan sebuah alamat target kelas B (/16), maka
semua alamat IP yang berjumlah 65.536 akan diperiksa.
Pencarian host yang tepat akan dilewati sebagaimana dengan list scan, namun
alih-alih berhenti dan menampilkan daftar target, Nmap
lalu melakukan fungsi-fungsi yang diminta sebagaimana bila setiap IP target
aktif. Untuk mesin-mesin pada jaringan ethernet lokal, pemeriksaan ARP
akan tetap dilakukan (kecuali diberikan opsi <option>--send-ip</option>)
karena Nmap butuh alamat MAC untuk melakukan pemeriksaan lanjutan atas host target.
Flag opsi ini dulunya adalah <option>P0</option> (menggunakan nol), namun kemudian diganti
untuk menghindari kerancuan dengan flag protokol ping <option>PO</option> (menggunakan huruf
O).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-PS <replaceable>port list</replaceable></option> (TCP SYN Ping)
<indexterm significance="normal"><primary><option>-PS</option></primary></indexterm>
<indexterm significance="normal"><primary>SYN ping</primary></indexterm>
</term>
<listitem>
<para>Opsi ini mengirimkan sebuah paket TCP kosong dengan
flag SYN diset. Port tujuan baku adalah 80 (dapat dikonfigurasi
pada waktu kompilasi dengan merubah <varname>DEFAULT_TCP_PROBE_PORT_SPEC</varname>
<indexterm significance="normal"><primary><varname>DEFAULT_TCP_PROBE_PORT_SPEC</varname></primary></indexterm>
dalam <filename moreinfo="none">nmap.h</filename>).
<indexterm significance="normal"><primary><filename moreinfo="none">nmap.h</filename></primary></indexterm>
Port-port alternatif dapat dispesifikasikan sebagai parameter.
Sintaksnya sama dengan opsi
<option>-p</option> kecuali specifier jenis port seperti
<literal moreinfo="none">T:</literal> tidak diperbolehkan. Contohnya adalah
<option>-PS22</option> dan
<option>-PS22-25,80,113,1050,35000</option>. Perhatikan bahwa tidak
boleh ada spasi antara <option>-PS</option> dan daftar port.
Jika dispesifikasikan banyak probe mereka akan dikirim
secara paralel.</para>
<para>Flag SYN memberitahu sistem remote bahwa anda
berusaha membuat sebuah koneksi. Normalnya port tujuan
tertutup, dan sebuah paket RST (reset) akan dikirimkan.
Jika port terbuka, target akan melakukan langkah kedua dari
TCP three-way-handshake<indexterm significance="normal"><primary>three-way handshake</primary></indexterm>
dengan mengirimkan paket SYN/ACK TCP. Mesin yang menjalankan Nmap lalu
memutuskan koneksi tersebut dengan mengirimkan sebuah paket RST
alih-alih mengirimkan sebuah paket ACK yang akan melengkapi
three-way-handshake dan membuat koneksi penuh.
Paket RST dikirim oleh kernel mesin yang menjalankan Nmap
sebagai tanggapan atas SYN/ACK yang tidak diharapkan,
bukan oleh Nmap sendiri.</para>
<para>Nmap tidak peduli apakah port terbuka atau tertutup.
Tanggapan RST atau SYN/ACK yang didiskusikan di atas
memberitahu Nmap bahwa host tersedia dan menanggapi.</para>
<para>Pada mesin Unix, umumnya hanya user privilege
<literal moreinfo="none">root</literal><indexterm significance="normal"><primary>privileged users</primary></indexterm>
yang dapat mengirim dan menerima paket-paket TCP raw.<indexterm significance="normal"><primary>raw packets</primary></indexterm>
Untuk user tanpa privilege, secara otomatis sebuah
workaround akan dijalankan <indexterm significance="normal"><primary>unprivileged users</primary><secondary>limitations of</secondary></indexterm>
yaitu system call <function moreinfo="none">connect</function> akan digunakan untuk
setiap port target. Hal ini mempunyai efek mengirimkan paket SYN ke host target,
dalam usaha membuat koneksi. Jika <function moreinfo="none">connect</function> memberikan
sukses cepat atau kegagalan ECONNREFUSED, stack TCP
di bawahnya telah menerima sebuah SYN/ACK atau RST dan
host ditandai sebagai tersedia. Jika usaha koneksi dibiarkan
hingga tercapai timeout, host ditandai sebagai down.
Workaround ini juga digunakan untuk koneksi IPv6,
karena dukungan untuk pembuatan paket raw IPv6 belum
tersedia di Nmap.<indexterm significance="normal"><primary>IPv6</primary><secondary>limitations of</secondary></indexterm>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-PA <replaceable>port list</replaceable></option> (TCP ACK Ping)
<indexterm significance="normal"><primary><option>-PA</option></primary></indexterm>
<indexterm significance="normal"><primary>ACK ping</primary></indexterm>
</term>
<listitem>
<para>Ping TCP ACK hampir serupa dengan ping
SYN yang baru didiskusikan. Perbedaannya adalah, sebagaimana
dapat anda duga, bahwa flag TCP ACK diset alih-alih
flag SYN. Paket ACK tersebut memberitahu data
pada koneksi TCP yang telah tercipta, namun tidak ada
koneksi. Sehingga host remote harus selalu menanggapi dengan
sebuah paket RST, yang akan memberitahukan keberadaan mereka.</para>
<para>Opsi <option>-PA</option> menggunakan port baku
yang sama dengan probe SYN (80) dan dapat menerima daftar
port tujuan dalam format yang sama. Jika user tanpa privilege
mencobanya, atau dispesifikasikan target IPv6, workaround
<function moreinfo="none">connect</function> yang didiskusikan sebelumnya akan digunakan.
Workaround ini tidak sempurna karena <function moreinfo="none">connect</function> sebenarnya
mengirimkan paket SYN dan bukan paket ACK.</para>
<para>Alasan menyertakan probe ping SYN dan ACK adalah
memaksimalkan peluang melewati firewall. Banyak administrator
mengkonfigurasi router dan firewall sederhana untuk memblokir
paket SYN incoming kecuali yang ditujukan untuk layanan publik
seperti server website atau mail perusahaan.
Hal ini mencegah koneksi incoming lainnya ke organisasi,
namun tetap membolehkan user melakukan koneksi outgoing
ke Internet. Pendekatan non-stateful ini
membutuhkan sedikit sumber daya pada firewall/router dan
didukung luas oleh filter hardware dan software. Software
firewall Linux Netfilter/iptables<indexterm significance="normal"><primary>iptables</primary></indexterm>
memberikan opsi
<option>--syn</option> untuk mengimplementasikan
pendekatan stateless ini. Ketika rule firewall stateless seperti
ini digunakan, probe ping SYN (<option>-PS</option>)
kemungkinan akan diblokir ketika dikirim ke port target yang tertutup.
Dalam kasus ini, probe ACK akan bersinar karena ia dapat mengatasi
rule tersebut.</para>
<para>Jenis firewall umum lainnya menggunakan rule stateful
yang akan men-drop paket tidak diharapkan. Fitur ini mulanya
hanya ditemukan pada firewall high-end, namun sekarang
telah umum digunakan. Sistem Linux
Netfilter/iptables mendukungnya melalui opsi
<option>--state</option>, yang mengkategorikan paket
berdasarkan status koneksi. Probe SYN kemungkinan berfungsi
untuk sistem tersebut, karena paket ACK yang tidak diharapkan
umumnya dikenali sebagai palsu dan di-drop. Solusi untuk masalah ini
adalah dengan mengirimkan probe SYN dan ACK secara bersamaan dengan memberikan opsi
<option>-PS</option> and <option>-PA</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-PU <replaceable>port list</replaceable></option> (UDP Ping)
<indexterm significance="normal"><primary><option>-PU</option></primary></indexterm>
<indexterm significance="normal"><primary>UDP ping</primary></indexterm>
</term>
<listitem>
<para>Opsi pencarian host lainnya adalah ping UDP, yang
mengirim paket UDP kosong (kecuali <option>--data-length</option> dispesifikasikan)
ke port yang diberikan. Daftar port
menggunakan format yang sama dengan yang telah didiskusikan pada opsi
<option>-PS</option> dan <option>-PA</option>. Jika tidak ada port
yang dispesifikasikanya, bakunya adalah 31338. Port baku ini
dapat dikonfigurasi pada waktu kompilasi dengan merubah
<varname>DEFAULT_UDP_PROBE_PORT_SPEC</varname><indexterm significance="normal"><primary><varname>DEFAULT_UDP_PROBE_PORT_SPEC</varname></primary></indexterm>
dalam <filename moreinfo="none">nmap.h</filename>.<indexterm significance="normal"><primary><filename moreinfo="none">nmap.h</filename></primary></indexterm>
Port tinggi yang tidak umum, digunakan secara baku karena mengirim
ke port terbuka seringkali tidak diharapkan untuk jenis pemeriksaan ini.</para>
<para>Ketika menemui port tertutup pada mesin target, probe
UDP seharusnya menerima paket ICMP port unreachable.
Hal ini memberitahu Nmap bahwa mesin up dan tersedia.
Banyak jenis kesalahan ICMP lainnya, seperti
host/network unreachables atau TTL exceeded menandakan
host down atau tidak dapat dihubungi. Tidak ada respon
juga termasuk di dalamnya. Jika ditemukan sebuah port terbuka, kebanyakan
layanan akan mengabaikan paket kosong dan gagal mengirim tanggapan.
Inilah alasan mengapa port probe bakunya adalah 31338,
yang kemungkinan tidak digunakan. Beberapa layanan, seperti
protokol Character Generator (chargen), akan menanggapi paket UDP kosong,
dan karenanya memberitahu Nmap bahwa mesin tersedia.</para>
<para>Keuntungan utama jenis scan ini adalah ia
melewati firewall dan filter yang hanya memeriksa TCP. Sebagai contoh,
saya pernah memiliki Linksys BEFW11S4 wireless broadband
router. Interface external device ini secara baku memfilter seluruh port
TCP, namun probe UDP tetap memberikan pesan port unreachable
dan karenanya memberitahu mengenai device ini.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-PE</option>;
<option>-PP</option>;
<option>-PM</option> (ICMP Ping Types)
<indexterm significance="normal"><primary><option>-PE</option></primary></indexterm>
<indexterm significance="normal"><primary><option>-PP</option></primary></indexterm>
<indexterm significance="normal"><primary><option>-PM</option></primary></indexterm>
<indexterm significance="normal"><primary>ICMP ping</primary></indexterm>
</term>
<listitem>
<para>Selain tipe pencarian host TCP dan UDP yang tidak umum di atas,
Nmap dapat mengirimkan paket dengan menggunakan program
<application moreinfo="none">ping</application>. Nmap mengirim sebuah paket ICMP
tipe 8 (echo request) ke alamat IP target,
mengharapkan balasan paket tipe 0 (echo reply) dari host
yang ada.<indexterm significance="normal"><primary>ICMP echo</primary></indexterm>
Sayangnya bagai pengeksplorasi jaringan, saat ini banyak host dan
firewall yang memblokir paket-paket ini, alih-alih menanggapi sebagaimana yang
ditentukan oleh <ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc1122.txt">RFC
1122</ulink>. Karena alasan ini, scan ICMP-only relatif tidak
handal terhadap target tak dikenal pada Internet.
Namun untuk administrator sistem yang memonitor jaringan internal,
mereka mungkin merupakan pendekatan yang praktis dan efisien.
Gunakan opsi <option>-PE</option> untuk menggunakan perilaku echo
request ini.</para>
<para>Meski echo request merupakan standar query ping ICMP,
Nmap tidak berhenti di sana. Standar ICMP (<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc792.txt">RFC
792</ulink>) juga menspesifikasikan paket timestamp request, information
request, dan address mask request dengan kode 13, 15,
dan 17. Walaupun tujuan query-query ini adalah untuk
memperoleh informasi seperti address masks dan
waktu saat ini, mereka dapat dengan mudah digunakan sebagai
pencarian host. Sistem yang memberi tanggapan adalah up dan tersedia. Nmap
tidak mengimplementasikan paket information request, karena
mereka tidak didukung luas. RFC 1122 berkeras bahwa
<quote>sebuah host TIDAK SEHARUSNYA mengimplementasikan pesan ini</quote>.
Query timestamp dan address mask dapat dikirim dengan opsi
<option>-PP</option> and <option>-PM</option>.
Reply timestamp (ICMP kode 14) atau reply address
mask (kode 18) memberitahukan bahwa host tersedia.
Kedua query ini bermanfaat ketika administrator secara khusus
memblokir paket-paket echo request namun lupa bahwa query ICMP
lainnya dapat digunakan untuk tujuan yang sama.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-PO <replaceable>protocol list</replaceable></option> (IP Protocol Ping)
<indexterm significance="normal"><primary><option>-PO</option></primary></indexterm>
<indexterm significance="normal"><primary>IP protocol ping</primary></indexterm>
</term>
<listitem>
<para>Opsi pencarian host terbaru adalah ping protokol IP,
yang mengirimkan paket IP dengan nomor port yang dispesifikasikan
dalam header IP-nya. Daftar protokol menggunakan format yang sama
seperti daftar port dalam opsi pencarian host TCP dan UDP yang
telah didiskusikan sebelumnya. Jika tidak didefinisikan protokol,
secara bakunya adalah mengirimkan banyak paket IP untuk
ICMP (protokol 1), IGMP (protokol 2), dan
IP-in-IP (protokol 4). Protokol baku dapat dikonfigurasi
pada waktu kompilasi dengan merubah
<varname>DEFAULT_PROTO_PROBE_PORT_SPEC</varname><indexterm significance="normal"><primary><varname>DEFAULT_PROTO_PROBE_PORT_SPEC</varname></primary></indexterm>
dalam <filename moreinfo="none">nmap.h</filename>.
Perhatikan bahwa untuk ICMP, IGMP, TCP (protokol 6), dan UDP
(protokol 17), paket dikirim dengan header protokol yang sesuai
sementara protokol lainnya dikirim tanpa data tambahan
selain header IP (kecuali diberikan opsi
<option>--data-length</option>).</para>
<para>Metode pencarian host ini melihat respon yang menggunakan protokol
yang sama dengan probe, atau protokol ICMP unreachable messages
yang memberitahu bahwa protokol dimaksud tidak didukung pada
host tujuan. Kedua jenis respon di atas menandakan bahwa
host target ada.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-PR</option> (ARP Ping)
<indexterm significance="normal"><primary><option>-PR</option></primary></indexterm>
<indexterm significance="normal"><primary>ARP ping</primary></indexterm>
</term>
<listitem>
<para>Salah satu skenario penggunaan Nmap yang umum adalah
memeriksa LAN ethernet. Pada kebanyakan LAN, terutama yang menggunakan
rentang alamat privat sebagaimana dijelaskan oleh <ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc1918.txt">RFC 1918</ulink>, mayoritas
alamat IP tidak digunakan. Ketika Nmap berusaha mengirim paket IP raw
seperti sebuah ICMP echo request, sistem operasi harus menentukan alamat
hardware tujuan (ARP) yang sesuai dengan IP target sehingga ia dapat
mengirimkan frame ethernet dengan tepat. Hal ini seringkali lambat dan
bermasalah, karena sistem operasi tidak ditulis dengan maksud
mereka akan melakukan jutaan request ARP atas host-host yang tidak ada
dalam waktu yang singkat.</para>
<para>Scan ARP menempatkan Nmap dan algoritma teroptimisasinya
untuk menangani request ARP. Dan bila ia memperoleh respon,
Nmap tidak perlu kuatir mengenai paket ping berbasis IP
karena ia telah mengetahui bahwa host up. Hal ini membuat
scan ARP jauh lebih cepat dan handal dibanding scan berbasis IP.
Sehingga ia dilakukan secara baku ketika memeriksa host ethernet yang
dideteksi Nmap berada pada jaringan ethernet lokal. Bahkan bila digunakan
jenis ping (seperti <option>-PE</option> atau
<option>-PS</option>), Nmap menggunakan ARP untuk sembarang target
yang berada dalam LAN yang sama. Jika anda tidak menginginkan scan ARP,
berikan opsi <option>--send-ip</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--traceroute</option> (Trace path to host)
<indexterm significance="preferred"><primary><option>--traceroute</option></primary></indexterm>
<indexterm significance="preferred"><primary>traceroute</primary></indexterm>
</term>
<listitem>
<para>
Traceroute dilakukan setelah scan menggunakan informasi dari hasil sscan untuk menentukan port dan protocol yang berpeluang besar mencapai target. Ia dapat digunakan untuk seluruh jenis scan kecuali scan connect (<option>-sT</option>) dan scan idle (<option>-sI</option>). Seluruh pelacakan menggunakan model pewaktuan dinamis Nmap dan dilakukan secara paralel.
</para>
<para>
Traceroute bekerja dengan mengirimkan paket dengan TTL (time-to-live) rendah agar tidak memperoleh pesan ICMP Time Exceeded dari hop langsung antara scanner dan host target. Implementasi standar traceroute dimulai dengan TTL 1 dan menaikkan TTL hingga host tujuan tercapai. Traceroute Nmap dimulai dengan TTL tinggi dan kemudian menurunkan TTL hingga nol. Dengan melakukan secara terbalik Nmap menggunakan algoritma caching cerdas untuk mempercepat pelacakan atas banyak host. Secara rata-rata Nmap mengirimkan paket kurang dari 510 per host, tergantung pada kondisi jaringan. Jika dilakukan scan atas satu subnet tunggal (misal 192.168.0.0/24) Nmap mungkin hanya perlu mengirim satu paket untuk kebanyakan host tersebut.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-n</option> (No DNS resolution)
<indexterm significance="normal"><primary><option>-n</option></primary></indexterm>
</term>
<listitem>
<para>Memberitahu Nmap untuk <emphasis>tidak</emphasis> melakukan resolusi reverse
DNS
<indexterm significance="normal"><primary>reverse DNS</primary><secondary>disabling with <option>-n</option></secondary></indexterm>
pada alamat IP aktif yang ditemukannya. Karena DNS
dapat lambat meskipun dengan menggunakan resolver paralel built-in Nmap, opsi ini dapat mempercepat waktu pemeriksaan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-R</option> (DNS resolution for all targets)
<indexterm significance="normal"><primary><option>-R</option></primary></indexterm>
</term>
<listitem>
<para>Memberitahu Nmap untuk
<emphasis>selalu</emphasis> melakukan resolusi reverse DNS
pada alamat IP target. Normalnya reverse DNS hanya dilakukan
terhadap host yang online.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--system-dns</option> (Use system DNS resolver)
<indexterm significance="preferred"><primary><option>--system-dns</option></primary></indexterm>
</term>
<listitem>
<para>Secara baku, Nmap meresolve alamat IP dengan mengirimkan
query secara langsung ke server DNS yang dikonfigurasi pada host anda
dan mendengarkan responnya. Banyak request (seringkali selusin)
dilakukan secara paralel untuk meningkatkan kinerja.
Gunakan opsi ini untuk menggunakan resolver sistem anda (satu IP
pada satu waktu melalui call <function moreinfo="none">getnameinfo</function>). Hal ini
lebih lambat dan jarang bermanfaat kecuali anda menemukan bug dalam resolver paralel Nmap
(mohon beritahu kami bila demikian). Resolver sistem selalu digunakan untuk scan IPv6.
<indexterm significance="normal"><primary>IPv6</primary><secondary>limitations of</secondary></indexterm>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--dns-servers <replaceable>server1</replaceable><optional>,<replaceable>server2</replaceable><optional>,...</optional></optional>
</option> (Servers to use for reverse DNS queries)
<indexterm significance="preferred"><primary><option>--dns-servers</option></primary></indexterm>
</term>
<listitem>
<para>Secara baku, Nmap menentukan server DNS anda
(untuk resolusi rDNS) dari file resolv.conf anda (Unix) atau
Registry (Win32). Selain itu, anda dapat menggunakan opsi ini
untuk menspesifikasikan server alternatif. Opsi ini tidak diindahkan
bila anda menggunakan <option>--system-dns</option> atau melakukan scan
IPv6. Dengan menggunakan banyak server DNS seringkali lebih cepat,
terutama bila anda memilih server otoritatif untuk ruang IP target anda.
Opsi ini juga dapat meningkatkan kemampuan sembunyi (stealth), karena request
anda dapat diberikan ke sembarang server DNS rekursif di Internet.</para>
<para>Opsi ini juga bermanfaat ketika memeriksa jaringan privat.
Terkadang hanya beberapa name server yang memberikan informasi rDNS yang tepat,
dan mungkin anda tidak tahu di mana mereka. Anda dapat memeriksa jaringan untuk
port 53 (mungkin dengan deteksi versi), lalu coba scan list Nmap
(<option>-sL</option>) dengan menspesifikasikan setiap name server pada satu waktu
dengan <option>--dns-servers</option> hingga anda menemukan yang berfungsi.</para>
</listitem>
</varlistentry>
</variablelist>
<indexterm class="endofrange" startref="man-host-discovery-indexterm" significance="normal"/>
</refsect1>
<refsect1 id="man-port-scanning-basics">
<title>Dasar Scanning Port</title>
<para>Meskipun selama ini Nmap telah mengalami perkembangan fungsionalitas,
namun ia bermula sebagai sebuah scanner port yang efisien, dan hal itu tetap menjadi
fungsi utamanya. Perintah sederhana <command moreinfo="none">nmap
<replaceable>target</replaceable></command> akan memeriksa lebih dari
1660 port TCP pada host
<replaceable>target</replaceable>. Ketika banyak scanner port secara tradisional
membagi seluruh port ke dalam status terbuka (open) atau tertutup (closed),
Nmap lebih granular. Ia membagi port menjadi enam status :
<literal moreinfo="none">open</literal>,
<literal moreinfo="none">closed</literal>, <literal moreinfo="none">filtered</literal>,
<literal moreinfo="none">unfiltered</literal>,
<literal moreinfo="none">open|filtered</literal>, or
<literal moreinfo="none">closed|filtered</literal>.</para>
<para>Status ini bukan merupakan properti intrinsik dari port itu sendiri,
namun menggambarkan bagaimana Nmap memandang mereka. Sebagai contoh,
scan Nmap dari jaringan yang sama dengan target mungkin menampilkan
port <literal moreinfo="none">135/tcp</literal> sebagai terbuka, sementara scan yang sama
pada waktu dan opsi yang sama dari Internet mungkin menunjukkan bahwa port tersebut <literal moreinfo="none">filtered</literal>.</para>
<variablelist><title>Enam status port yang dikenali Nmap</title>
<varlistentry><term>
<indexterm significance="normal"><primary><literal moreinfo="none">open</literal> port state</primary></indexterm>
open</term>
<listitem><para>Sebuah aplikasi secara aktif menerima koneksi paket TCP
atau UDP pada port ini. Menemukan port terbuka ini seringkali merupakan
tujuan utama scanning port. Orang dengan pikiran keamanan (security-minded) tahu bahwa
setiap port terbuka merupakan celah untuk serangan. Penyerang dan pen-testers
ingin mengeksploitasi port terbuka, namun administrator berusaha menutup atau
melindungi mereka dengan firewall tanpa mengganggu user yang berhak.
Port terbuka juga menarik bagi scan bukan keamanan karena mereka memberitahu
layanan yang dapat digunakan pada jaringan.
</para></listitem></varlistentry>
<varlistentry><term>
<indexterm significance="normal"><primary><literal moreinfo="none">closed</literal> port state</primary></indexterm>
closed</term>
<listitem><para>Port tertutup dapat diakses (ia menerima dan
menanggapi paket probe Nmap), namun tidak ada aplikasi yang mendengarkan
padanya. Mereka bermanfaat dengan menunjukkan bahwa host up
pada alamat IP tersebut (host discovery, atau ping scanning), dan sebagai bagian
deteksi SO. Oleh karena port tertutup dapat dijangkau, bermanfaat untuk
mencoba scan di waktu yang lain jikalau port tersebut terbuka. Administrator mungkin
perlu mempertimbangkan untuk memblok port tersebut dengan firewall. Lalu mereka
akan muncul dalam status filtered, yang akan didiskusikan.
</para></listitem></varlistentry>
<varlistentry><term>
<indexterm significance="normal"><primary><literal moreinfo="none">filtered</literal> port state</primary></indexterm>
filtered</term>
<listitem><para>Nmap tidak dapat menentukan apakah port terbuka
karena packet filtering mencegah probenya mencapai port.
Filter ini dapat dilakukan oleh device firewall, aturan pada router,
atau software firewall pada host. Port ini membuat penyerang frustrasi
karena mereka memberikan sedikit informasi. Terkadang mereka menanggapi
dengan pesan kesalahan ICMP misalnya tipe 3 kode 13
(tujuan tidak dapat dicapai: komunikasi dilarang secara administratif),
namun yang lebih umum adalah filter yang hanya men-drop probe tanpa memberi
tanggapan. Hal ini memaksa Nmap berusaha beberapa kali untuk memastikan
probe tidak di-drop akibat jaringan yang padat.
Hal ini sangat memperlambat proses scan.</para></listitem></varlistentry>
<varlistentry><term>
<indexterm significance="normal"><primary><literal moreinfo="none">unfiltered</literal> port state</primary></indexterm>
unfiltered</term>
<listitem><para>Status unfiltered berarti bahwa port dapat diakses,
namun Nmap tidak dapat menentukan apakah ia open atau closed. Hanya scan
ACK, yang digunakan untuk mengetahui aturan firewall, menggolongkan
port ke dalam status ini. Pemeriksaan port unfiltered dengan tipe pemeriksaan lain
seperti Window scan, SYN scan, atau FIN scan, dapat membantu mengetahui
apakah port terbuka.
</para></listitem></varlistentry>
<varlistentry><term>
<indexterm significance="normal"><primary><literal moreinfo="none">open|filtered</literal> port state</primary></indexterm>
open|filtered</term>
<listitem><para>Nmap menganggap port dalam status ini bila ia tidak dapat
menentukan apakah port open atau filtered. Hal ini terjadi untuk jenis pemeriksaan
ketika port terbuka tidak memberi respon. Tidak adanya tanggapan dapat pula berarti
bahwa packet filter men-drop probe atau respon yang diberikan. Sehingga Nmap tidak
dapat mengetahui dengan tepat apakah port terbuka atau difilter. Scan UDP, IP protocol,
FIN, NULL, dan Xmas mengklasifikasikan port dengan cara ini.</para></listitem></varlistentry>
<varlistentry><term>
<indexterm significance="normal"><primary><literal moreinfo="none">closed|filtered</literal> port state</primary></indexterm>
closed|filtered</term>
<listitem><para>Status ini digunakan ketika Nmap tidak dapat menentukan
apakah port tertutup atau di-filter. Ia hanya digunakan pada scan idle ID IP.</para></listitem></varlistentry>
</variablelist>
</refsect1>
<refsect1 id="man-port-scanning-techniques">
<title>Teknik Scanning Port</title>
<para>Sebagai seorang pemula yang melakukan perbaikan otomotif, saya dapat berjuang
berjam-jam untuk menyesuaikan alat sederhana saya (palu, duct tape,
dsb.) untuk tugas yang ada. Ketika saya gagal dan menyerahkannya pada
mekanik sebenarnya, ia mencari dalam kotak perangkatnya hingga menemukan
alat yang tepat yang membuat pekerjaan tersebut menjadi mudah. Seni scanning port
juga serupa. Para ahli memahami beragam teknik pemindaian dan memilih
satu (atau kombinasi) yang sesuai untuk tugas yang ada. User tidak berpengalaman dan
script kiddies,<indexterm significance="normal"><primary>script kiddies</primary></indexterm>
di lain pihak, berusaha menyelesaikan semua masalah dengan scan SYN baku. Oleh karena Nmap
gratis, satu-satunya penghalang menguasai scanning port adalah pengetahuan. Hal itu tentu
saja mengalahkan dunia otomotif, setelah membutuhkan keahlian tinggi untuk menentukan bahwa
anda butuh kompresor pegas strut, lalu anda mesti harus membayar ribuan dolar untuknya.</para>
<para>Kebanyakan jenis scan hanya tersedia untuk
user privilege.<indexterm significance="normal"><primary>privileged users</primary></indexterm>
Hal ini karena mereka mengirim dan menerima paket raw,<indexterm significance="normal"><primary>raw packets</primary></indexterm> yang membutuhkan akses root pada sistem Unix.
Pada sistem Windows, menggunakan akun administrator disarankan, meski
terkadang Nmap dapat bekerja untuk unprivileged users ketika WinPcap telah dimuatkan ke SO. Kebutuhan akan privilege root merupakan sebuah batasan serius ketika Nmap dirilis pada tahun 1997,
karena banyak user hanya mempunyai akses ke shared shell. Saat ini,
hal tersebut berbeda. Komputer telah lebih murah, lebih banyak orang memiliki
akses langsung Internet always-on, dan banyak sistem Unix desktop (termasuk
Linux dan Mac OS X). Versi Nmap Windows kini tersedia, membuatnya
berjalan di lebih banyak desktop. Karena alasan-alasan ini,
user memiliki sedikit alasan untuk menjalankan Nmap dari akun shared shell yang terbatas.
Ini merupakan keberuntungan, karena opsi privilege membuat Nmap lebih
powerful dan fleksibel.</para>
<para>Meski Nmap berusaha memberikan hasil yang akurat, namun perlu diperhatikan
bahwa seluruh pandangannya didasarkan pada paket yang dikembalikan oleh mesin target
(atau firewall di depan mereka). Host tersebut mungkin tidak dapat dipercaya
dan responnya bertujuan membingungkan atau mengacaukan Nmap.
Yang lebih umum adalah host yang tidak sesuai dengan RFC yang tidak menanggapi
sebagaimana yang seharusnya atas probe Nmap. Scan FIN, NULL, dan Xmas terutama
rentan terhadap masalah ini. Isu tersebut adalah spesifik untuk jenis scan tertentu
dan didiskusikan dalam entri jenis scan individual.</para>
<para>Bagian ini mendokumentasikan selusin atau lebih teknik scan port
yang didukung oleh Nmap. Hanya satu metode yang boleh digunakan di satu waktu,
kecuali scan UDP (<option>-sU</option>) dapat digabungkan dengan sembarang
jenis scan TCP. Sebagai pengingat, opsi jenis scan port adalah
dalam bentuk <option>-s<replaceable>C</replaceable></option>, dengan
<replaceable>C</replaceable> merupakan karakter utama dalam nama scan,
biasanya yang pertama. Satu pengecualian untuk ini adalah scan bounce FTP
yang telah kuno (<option>-b</option>). Secara baku, Nmap melakukan
SYN Scan, meski ia menggantinya dengan scan connect bila user tidak memiliki
privilege untuk mengirim paket raw (membutuhkan akses root pada Unix)
atau bila dispesifikasikan target IPv6. Dari semua scan yang ada di bawah ini,
unprivileged user hanya dapat menjalankan scan connect dan FTP bounce.</para>
<variablelist>
<varlistentry>
<term>
<option>-sS</option> (TCP SYN scan)
<indexterm significance="normal"><primary><option>-sS</option></primary></indexterm>
<indexterm significance="normal"><primary>SYN scan</primary></indexterm>
</term>
<listitem>
<para>SYN scan merupakan opsi scan baku dan terpopuler dengan alasan yang baik.
Ia dapat dilakukan dengan cepat, memeriksa ribuan port per detik pada jaringan
yang cepat tidak dihalangi oleh firewall yang membatasi. Scan SYN
relatif tidak mengganggu dan tersembunyi, karena ia tidak pernah melengkapi
koneksi TCP. Ia juga bekerja terhadap stack TCP yang sesuai alih-alih
tergantung pada platform khusus sebagaimana scan FIN/NULL/Xmas, Maimon dan idle.
Ia juga memungkinkan pembedaan yang tegas dan handal antara status <literal moreinfo="none">open</literal>,
<literal moreinfo="none">closed</literal>, dan <literal moreinfo="none">filtered</literal>.</para>
<para>Teknik ini seringkali diacu sebagai pemeriksaan setengah terbuka (half-open scanning),
karena anda tidak membuka seluruh koneksi TCP. Anda mengirim sebuah paket SYN,
seperti anda ingin melakukan koneksi sesungguhnya dan kemudian menunggu tanggapan.
SYN/ACK menandakan port sedang mendengarkan (open), RST (reset) menandakan tidak sedang
mendengarkan. Jika tidak ada tanggapan setelah beberapa kali pengiriman ulang, port
ditandai sebagai tersaring (filtered). Port juga ditandai sebagai tersaring bila diterima
kesalahan ICMP unreachable (tipe 3, kode 1, 2, 3, 9, 10, atau 13).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sT</option> (TCP connect scan)
<indexterm significance="normal"><primary><option>-sT</option></primary></indexterm>
<indexterm significance="normal"><primary>connect scan</primary></indexterm>
</term>
<listitem>
<para>Scan TCP connect merupakan jenis scan baku TCP ketika scan SYN
tidak dapat digunakan. Hal ini terjadi ketika user tidak memiliki privilege
untuk paket raw atau ketika melakukan pemeriksaan jaringan IPv6. Alih-alih menulis paket
raw sebagaimana dilakukan jenis scan lainnya, Nmap meminta SO
membuat koneksi dengan mesin target dan port dengan memberikan system call
<function moreinfo="none">connect</function>. Ini merupakan system call
yang digunakan oleh web browsers, klien P2P, dan kebanyakan aplikasi jaringan
lainnya untuk membuat koneksi. Ia merupakan bagian dari interface pemrograman
yang dikenal sebagai Berkeley Sockets API. Nmap juga menggunakan API ini untuk
memperoleh informasi status setiap usaha koneksi.
</para>
<para>Ketika tersedia SYN scan, ia merupakan pilihan yang lebih baik. Nmap
kurang memiliki kendali atas call <function moreinfo="none">connect</function> daripada
paket raw, membuatnya kurang efisien. System call membuat koneksi lengkap
untuk membuka port target daripada membuat reset setengah-terbuka (half-open reset)
yang dilakukan SYN scan. Hal ini tidak saja lebih lambat dan membutuhkan lebih banyak paket
untuk memperoleh informasi yang sama, namun juga mesin target kemungkinan mencatat koneksi.
IDS yang baik akan mendeteksi hal ini, namun kebanyakan mesin tidak memiliki sistem alarm tersebut.
Kebanyakan layanan pada sistem Unix umum akan membuat catatan ke syslog, dan seringkali
pesan kesalahan yang rumit, ketika Nmap membuka dan menutup koneksi tanpa mengirim data.
Layanan yang benar-benar buruk akan crash ketika hal ini terjadi, meskipun tidak umum.
Administrator yang melihat serangkaian usaha koneksi dari sistem tunggal di lognya seharusnya
tahu bahwa ia telah diperiksa dengan metode connect.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sU</option> (UDP scan)
<indexterm significance="normal"><primary><option>-sU</option></primary></indexterm>
<indexterm significance="normal"><primary>UDP scan</primary></indexterm>
</term>
<listitem>
<para>Walau kebanyakan layanan populer di Internet menggunakan protokol TCP, layanan
<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc768.txt">UDP</ulink>
luas dipergunakan. DNS, SNMP, dan DHCP (port 53, 161/162, dan 67/68) adalah tiga yang paling
umum. Karena pemeriksaan UDP umumnya lebih lambat dan lebih sulit dibanding TCP, beberapa
audit keamanan mengabaikan port ini. Ini merupakan kesalahan, karena eksploitasi layanan UDP
cukup umum dan penyerang tentu saja tidak mengabaikan seluruh protokol. Untungnya, Nmap dapat
membantu inventori port UDP.</para>
<para>Scan UDP diaktifkan dengan opsi <option>-sU</option>. Ia dapat digabungkan
dengan jenis scan TCP seperti SYN scan (<option>-sS</option>) untuk memeriksa
kedua buah protokol sekaligus.</para>
<para>Scan UDP bekerja dengan mengirimkan header UDP kosong (tanpa data) ke setiap port
yang diinginkan. Jika diperoleh kesalahan ICMP port unreachable (tipe 3, kode 3), port itu <literal moreinfo="none">closed</literal>. Kesalahan ICMP lainnya (tipe 3,
kode 1, 2, 9, 10, atau 13) menandakan port sebagai <literal moreinfo="none">filtered</literal>. Seringkali, sebuah layanan akan menanggapi dengan paket UDP, membuktikan bahwa ia <literal moreinfo="none">open</literal>. Jika tidak ada tanggapan setelah transmisi ulang, port
dianggap <literal moreinfo="none">open|filtered</literal>. Hal ini berarti bahwa port dapat berada dalam keadaan open, atau mungkin packet filter memblokir komunikasi. Deteksi versi
(<option>-sV</option>) dapat digunakan untuk membantu membedakan antara port yang terbuka dengan yang disaring.</para>
<para>Tantangan terbesar scanning UDP adalah melakukannya dengan cepat.
Port terbuka dan tersaring jarang mengirimkan tanggapan, membuat Nmap time
out dan kemudian melakukan transmisi ulang bilamana probe atau respon hilang.
Port tertutup seringkali merupakan masalah yang lebih besar.
Mereka umumnya mengirimkan ulang kesalahan ICMP port unreachable. Namun tidak seperti
paket RST yang dikirim oleh port TCP tertutup sebagai respon atas scan SYN atau connect,
banyak host secara baku membatasi pesan <indexterm significance="normal"><primary>rate limiting</primary></indexterm> ICMP port unreachable.
Linux dan Solaris terutama sangat ketat mengenai hal ini. Sebagai contoh, kernel
Linux 2.4.20 membatasi pesan destination unreachable ke satu per detik
(dalam <filename moreinfo="none">net/ipv4/icmp.c</filename>).</para>
<para>Nmap mendeteksi pembatasan ini dan memperlambat kerjanya untuk menghindari
pemenuhan jaringan dengan paket-paket tidak perlu yang akan di-drop oleh mesin target.
Sayangnya, pembatasan ala Linux dengan satu paket per detik membuat pemeriksaan 65.536
membutuhkan waktu lebih 18 jam. Ide untuk mempercepat scan UDP termasuk pemeriksaan
lebih banyak host secara paralel, melakukan pemeriksaan atas port-port populer dulu,
pemeriksaan di belakang firewall, dan menggunakan <option>--host-timeout</option> untuk melewati
host lambat.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sN</option>; <option>-sF</option>; <option>-sX</option> (TCP NULL, FIN, dan Xmas scan)
<indexterm significance="normal"><primary><option>-sN</option></primary></indexterm>
<indexterm significance="normal"><primary><option>-sF</option></primary></indexterm>
<indexterm significance="normal"><primary><option>-sX</option></primary></indexterm>
<indexterm significance="normal"><primary>NULL scan</primary></indexterm>
<indexterm significance="normal"><primary>FIN scan</primary></indexterm>
<indexterm significance="normal"><primary>Xmas scan</primary></indexterm>
</term>
<listitem>
<para>Ketiga jenis scan ini (bahkan kemungkinan lebih dengan adanya opsi
<option>--scanflags</option> yang dijelaskan pada bagian berikutnya)
mengeksploitasi kelemahan dalam <ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc793.txt">RFC TCP</ulink> untuk membedakan
antara port <literal moreinfo="none">open</literal> dan
<literal moreinfo="none">closed</literal>. Halaman 65 RFC 793 mengatakan bawha <quote>if the
[destination] port state is CLOSED .... an incoming segment not
containing a RST causes a RST to be sent in response.</quote> Lalu halaman berikutnya
mendiskusikan paket yang dikirim ke port terbuka tanpa bit SYN, RST, atau ACK diset,
menyatakan bahwa : <quote>you are unlikely to get here, but if you do, drop the
segment, and return.</quote></para>
<para>Ketika memeriksa sistem yang sesuai dengan teks RFC ini, sembarang paket
yang tidak berisikan bit SYN, RST, atau ACK akan berakibat pengembalian RST bila
port tertutup dan tidak ada respon bila port terbuka. Selama ketiga bit ini tidak disertakan,
sembarang kombinasi ketiga bit lainnya (FIN, PSH, dan URG) adalah OK. Nmap mengeksploitasi
celah ini dengan ketiga jenis scan berikut :</para>
<variablelist>
<varlistentry><term>Null scan (<option>-sN</option>)</term>
<listitem><para>Tidak mengirimkan bit(header flag TCP adalah 0)</para></listitem></varlistentry>
<varlistentry><term>FIN scan (<option>-sF</option>)</term>
<listitem><para>Hanya menset bit FIN TCP.</para></listitem></varlistentry>
<varlistentry><term>Xmas scan (<option>-sX</option>)</term>
<listitem><para>Menset flag FIN, PSH, dan URG, menerangi paket
seperti sebuah pohon Natal.</para></listitem></varlistentry>
</variablelist>
<para>Ketiga jenis scan ini serupa perilakunya kecuali untuk flag TCP yang diset
dalam paket probe. Jika diterima paket RST,
port dianggap <literal moreinfo="none">closed</literal>, tidak ada respon
berarti ia <literal moreinfo="none">open|filtered</literal>. Port ditandai
<literal moreinfo="none">filtered</literal> bila diterima kesalahan ICMP unreachable (tipe 3, kode
1, 2, 3, 9, 10, atau 13).</para>
<para>Keuntungan utama jenis scan ini adalah bahwa mereka dapat
menyusup melalui non-stateful firewall dan router packet filtering
tertentu. Keunggulan lain adalah bahwa ketiga scan ini lebih tersembunyi bahkan
bila dibandingkan dengan SYN scan. Jangan mengandalkan hal ini karena
produk IDS modern dapat dikonfigurasi untuk mendeteksi mereka. Kelemahan utama
adalah tidak semua sistem mematuhi RFC 793 secara tepat. Sejumlah sistem
mengirim respon RST atas probe tanpa perduli apakah port terbuka atau tertutup.
Hal ini membuat seluruh port dianggap sebagai <literal moreinfo="none">closed</literal>.
Sistem operasi utama yang melakukan hal ini adalah Microsoft Windows, banyak device Cisco devices,
BSDI, dan IBM OS/400. Scan ini tidak bekerja terhadap kebanyakan sistem berbasis Unix.
Kekurangan lainnya adalah scan ini tidak dapat membedakan antara
port <literal moreinfo="none">open</literal> dengan port tertentu yang
<literal moreinfo="none">filtered</literal>, memberikan anda tanggapan
<literal moreinfo="none">open|filtered</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sA</option> (TCP ACK scan)
<indexterm significance="normal"><primary><option>-sA</option></primary></indexterm>
<indexterm significance="normal"><primary>ACK scan</primary></indexterm>
</term>
<listitem>
<para>Scan ini berbeda dengan yang telah didiskusikan sejauh ini yaitu ia
tidak pernah menentukan port <literal moreinfo="none">open</literal> (or even
<literal moreinfo="none">open|filtered</literal>). Ia digunakan untuk memetakan
aturan firewall, menentukan apakah mereka stateful atau tidak dan
port mana saja yang disaring.</para>
<para>Paket probe scan ACK hanya memiliki flag ACK di-set (kecuali anda menggunakan
<option>--scanflags</option>). Ketika memeriksa sistem yang tidak disaring, port
<literal moreinfo="none">open</literal> dan <literal moreinfo="none">closed</literal> keduanya
akan mengembalikan paket RST. Nmap kemudian menandakan mereka sebagai
<literal moreinfo="none">unfiltered</literal>, yang berarti mereka dapat dicapai oleh paket
ACK, namun belum dapat ditentukan apakah mereka <literal moreinfo="none">open</literal> atau
<literal moreinfo="none">closed</literal>. Port yang tidak menanggapi,
atau mengirim kembali pesan kesalahan ICMP (tipe 3, kode 1, 2, 3, 9, 10,
atau 13), dianggap sebagai <literal moreinfo="none">filtered</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sW</option> (TCP Window scan)
<indexterm significance="normal"><primary><option>-sW</option></primary></indexterm>
<indexterm significance="normal"><primary>window scan</primary></indexterm>
</term>
<listitem>
<para>Window scan serupa dengan ACK scan kecuali bahwa ia
mengeksploitasi detil implementasi pada sistem tertentu yang membedakan port terbuka
dengan port tertutup, alih-alih selalu menampilkan
<literal moreinfo="none">unfiltered</literal> ketika dikembalikan RST. Ia melakukan hal ini
dengan memeriksa field TCP Window paket RST yang dikembalikan. Pada beberapa sistem,
port terbuka menggunakan ukuran jendela positif (bahkan untuk paket RST) sementara
port tertutup memiliki jendela nol. Sehingga alih-alih selalu menampilkan
port sebagai <literal moreinfo="none">unfiltered</literal> ketika menerima kembali RST,
Window scan menampilkan port sebagai <literal moreinfo="none">open</literal> atau
<literal moreinfo="none">closed</literal> jika nilai TCP Window dalam reset tersebut
positif atau nol.</para>
<para>Scan ini mengandalkan detil implementasi sedikit sistem yang ada di Internet,
sehingga anda tidak dapat selalu mempercayainya. Sistem yang tidak mendukungnya
biasanya akan mengembalikan semua port sebagai <literal moreinfo="none">closed</literal>.
Tentu saja, adalah mungkin mesin benar-benar tidak memiliki port terbuka.
Jika kebanyakan port yang diperiksa adalah <literal moreinfo="none">closed</literal> namun beberapa angka port umum (seperti 22, 25, 53) adalah <literal moreinfo="none">filtered</literal>, informasi
ini kemungkinan benar. Seringkali, sistem akan memberitahukan perilaku sebaliknya.
Jika scan anda menunjukkan bahwa 1000 port terbuka dan tiga port tertutup atau disaring,
maka ketiga port tersebut mungkin saja adalah port yang terbuka.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sM</option> (TCP Maimon scan)
<indexterm significance="normal"><primary><option>-sM</option></primary></indexterm>
<indexterm significance="normal"><primary>Maimon scan</primary></indexterm>
</term>
<listitem>
<para>Scan Maimon dinamakan dengan nama penemunya,
Uriel Maimon.<indexterm significance="normal"><primary>Maimon, Uriel</primary></indexterm>
Ia menjelaskan teknik ini dalam
<citetitle>Phrack</citetitle> Magazine issue #49 (November 1996).<indexterm significance="normal"><primary><citetitle>Phrack</citetitle></primary></indexterm>
Nmap, yang menyertakan teknik ini, dirilis dua isu kemudian.
Teknik ini sama persis dengan scan NULL, FIN, dan Xmas, kecuali
probenya adalah FIN/ACK. Menurut <ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc793.txt">RFC 793</ulink> (TCP), paket RST
seharusnya dihasilkan sebagai tanggapan atas probe tersebut entah port terbuka atau
tertutup. Namun demikian, Uriel memperhatikan bahwa banyak sistem berbasis BSD
men-drop paket jika port terbuka.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--scanflags</option> (Custom TCP scan)
<indexterm significance="normal"><primary><option>--scanflags</option></primary></indexterm></term>
<listitem>
<para>User Nmap mahir tidak perlu membatasi dirinya pada jenis scan yang tersedia secara baku. Opsi <option>--scanflags</option> memungkinkan anda merancang scan anda sendiri
dengan menspesifikasikan sembarang flag TCP.<indexterm significance="normal"><primary>TCP flags</primary></indexterm>.
Biarkan cairan kreatif anda mengalir, sementara mengakali
intrusion detection system<indexterm significance="normal"><primary>intrusion detection systems</primary><secondary>evading</secondary></indexterm>
yang vendornya sekedar membaca man page Nmap menambahkan aturan khusus!</para>
<para>Argumen <option>--scanflags</option> dapat berupa nilai flag numerik
seperti 9 (PSH dan FIN), namun menggunakan nama simbolik lebih
mudah. Gabungkan saja sembarang kombinasi <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>, dan
<literal moreinfo="none">FIN</literal>. Sebagai contoh, <option>--scanflags
URGACKPSHRSTSYNFIN</option> menset semuanya, meskipun ia tidak terlalu
bermanfaat untuk pemeriksaan. Urutan spesifikasi tidaklah relevan.</para>
<para>Selain dengan menspesifikasikan flag yang diinginkan, anda dapat pula
memberikan jenis scan TCP (seperti <option>-sA</option> atau <option>-sF</option>).
Jenis dasar tersebut memberitahu Nmap bagaimana menginterpretasikan respon. Sebagai
contoh, SYN scan menganggap no-response sebagai indikasi port
<literal moreinfo="none">filtered</literal>, sementara FIN scan mengganggapnya sebagai
<literal moreinfo="none">open|filtered</literal>. Nmap akan berperilaku sama
dengan jenis scan dasar, kecuali ia akan menggunakan flag TCP yang anda spesifikasikan
Jika anda tidak menspesifikasikan tipe dasar, akan digunakan SYN scan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sI <replaceable>zombie host</replaceable><optional>:<replaceable>probeport</replaceable></optional></option> (idle scan)
<indexterm significance="normal"><primary><option>-sI</option></primary></indexterm>
<indexterm significance="normal"><primary>idle scan</primary></indexterm>
</term>
<listitem>
<para>Metode scan tingkat tinggi ini memungkinkan scan port TCP secara
tersembunyi (artinya tidak ada paket dikirim ke target dari alamat IP
anda yang sebenarnya). Alih-alih, serangan side-channel mengeksploitasi
pembuatan urutan ID fragmentasi IP yang mudah ditebak pada host zombi
untuk memperoleh informasi tentang port terbuka pada target.
Sistem IDS akan menampilkan scan berasal dari mesin zombi yang anda
spesifikasikan (yang harus up dan memenuhi beberapa kriteria).
<man>
Jenis scan menarik ini terlalu kompleks untuk dijelaskan dalam panduan
referensi ini, sehingga saya menulis dan menaruh paper informal dengan
detil penuh di <ulink url="https://nmap.org/book/idlescan.html"/>.
</man>
<notman>
Full details of this fascinating scan type are in
<xref linkend="idlescan"/>.
</notman>
</para>
<para>Selain sangat tersembunyi (karena sifat
blind-nya), jenis scan ini mengijinkan pemetaan
relasi kepercayaan berbasis IP antar mesin. Daftar port
menampilkan port terbuka <emphasis>dari perspektif host zombi.</emphasis>
Sehingga anda dapat berusaha memeriksa target dengan menggunakan
beragam zombi yang anda anggap terpercaya
<indexterm significance="normal"><primary>trust relationships</primary></indexterm>
(melalui aturan router/packet filter).
</para>
<para>Anda dapat menambah tanda titik dua diikuti nomor port
pada host zombi jika anda ingin memeriksa port tertentu pada zombi
untuk perubahan ID IP. Jika tidak Nmap akan menggunakan port
baku yang digunakan untuk ping TCP (80).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sO</option> (IP protocol scan)
<indexterm significance="normal"><primary><option>-sO</option></primary></indexterm>
<indexterm significance="normal"><primary>IP protocol scan</primary></indexterm>
</term>
<listitem>
<para>Scan protokol IP memungkinkan anda menentukan protokol IP mana
(TCP, ICMP, IGMP, dsb.) yang didukung oleh mesin target. Secara teknis
ini bukanlah scan port, karena ia menggunakan nomor protokol IP
alih-alih nomor port TCP atau UDP. Namun ia tetap menggunakan opsi
<option>-p</option> untuk memilih nomor protokol yang diperiksa, melaporkan
hasilnya dalam format tabel port normal, dan bahkan menggunakan
mesin scan yang sama dengan metode scanning port sebenarnya. Ia
cukup dekat dengan scan port sehingga berada di sini.</para>
<para>Selain memiliki fungsi tertentu, scan protokol
mendemonstrasikan kekuatan software open-source. Meskipun ide dasarnya
cukup sederhana, saya tidak berpikir atau menerima permintaan untuk
menambah fungsionalitas semacam itu. Lalu pada musim panas tahun 2000,
Gerhard Rieger<indexterm significance="normal"><primary>Rieger, Gerhard</primary></indexterm>
menerima ide tersebut, menulis patch yang bagus untuk mengimplementasikannya,
dan mengirimnya ke milis
<citetitle>nmap-hackers</citetitle>.<indexterm significance="normal"><primary><citetitle>nmap-hackers</citetitle> mailing list</primary></indexterm>
Saya menggabungkan patch tersebut ke Nmap dan merilis versi baru
di hari berikutnya. Sedikit software komersial memiliki user yang cukup antusias
untuk merancang dan memberikan kontribusi perbaikan!</para>
<para>Scan protocol bekerja dalam cara yang sama dengan scan UDP. Alih-alih
beriterasi atas field nomor port paket UDP, ia mengirim header paket IP
dan beriterasi pada field protokol IP delapan-bit.
Header biasanya kosong, tidak berisi data dan bahkan tiada header yang sesuai
untuk protokol yang diklaim. Tiga pengecualian adalah TCP,
UDP, dan ICMP. Header protokol yang sesuai untuk mereka disertakan
karena beberapa sistem tidak akan mengirimnya dan karena Nmap telah memiliki
fungsi untuk membuatnya. Alih-alih mengamati pesan ICMP port unreachable,
scan protocol mencari pesan ICMP <emphasis>protocol</emphasis> unreachable.
Bila Nmap menerima respon dalam sembarang protokol dari host target, Nmap menandai
protokol tersebut sebagai <literal moreinfo="none">open</literal>. Kesalahan ICMP protocol unreachable (tipe 3, kode 2) menyebabkan protokol ditandai sebagai
<literal moreinfo="none">closed</literal>. Kesalahan ICMP unreachable lainnya (tipe 3, kode
1, 3, 9, 10, atau 13) menyebabkan protokol ditandai
<literal moreinfo="none">filtered</literal> (meskipun mereka membuktikan bahwa ICMP
<literal moreinfo="none">open</literal> di waktu yang sama). Jika tidak menerima respon
setelah transmisi ulang, protokol ditandai sebagai
<literal moreinfo="none">open|filtered</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-b <replaceable>FTP relay host</replaceable></option> (FTP bounce scan)
<indexterm significance="normal"><primary><option>-b</option></primary></indexterm>
<indexterm significance="normal"><primary>FTP bounce scan</primary></indexterm>
</term>
<listitem>
<para>Satu fitur menarik protokol FTP (<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc959.txt">RFC 959</ulink>) mendukung
koneksi FTP proxy. Hal ini memungkinkan user untuk koneksi ke satu server FTP,
lalu meminta file dikirimkan ke server pihak ketiga.
Fitur tersebut rentan terhadap penyalahgunaan di banyak tingkat,
sehingga banyak server berhenti mendukungnya. Salah satu penyalahgunaan
yang dibolehkan fitur ini adalah membuat server FTP melakukan scan port ke host lain.
Cukup minta server FTP mengirim sebuah file ke setiap port yang diinginkan pada host target.
Pesan kesalahan akan menjelaskan apakah port terbuka atau tidak.
Hal ini merupakan cara yang baik untuk melewati firewall karena
server FTP organisasi biasanya lebih memiliki akses ke host internal daripada
host Internet. Nmap mendukung scan bounce FTP dengan opsi <option>-b</option> option.
Ia mengambil argumen dalam bentuk
<replaceable>username</replaceable>:<replaceable>password</replaceable>@<replaceable>server</replaceable>:<replaceable>port</replaceable>.
<replaceable>Server</replaceable> adalah nama atau alamat IP server FTP yang rentan.
Sebagaimana dengan URL normal, anda dapat menghilangkan
<replaceable>username</replaceable>:<replaceable>password</replaceable>,
sehingga menggunakan login anonim (user:
<literal moreinfo="none">anonymous</literal> password:<literal moreinfo="none">-wwwuser@</literal>)
. Nomor port (dan tanda titik dua sebelumnya) dapat dihilangkan juga,
sehingga menggunakan port FTP baku (21) pada
<replaceable>server</replaceable>.</para>
<para>Kerentanan ini meluas di tahun 1997 ketika Nmap dirilis,
namun telah diperbaiki. Server-server yang rentan masih ada,
sehingga patut dicoba bila teknik yang lainnya gagal. Jika tujuan anda
adalah melewati firewall, scan jaringan target untuk port 21 (atau
bahkan untuk sembarang layanan FTP jika anda scan seluruh port dengan deteksi
versi) yang terbuka, lalu coba scan bounce. Nmap akan memberitahu anda
apakah host rentan atau tidak. Jika anda hanya ingin menutupi
jejak anda, anda tidak perlu (dan bahkan tidak seharusnya) membatasi
diri anda pada host pada jaringan target. Sebelum anda memeriksa
alamat Internet acak untuk mencari server FTP yang rentan, pertimbangkan bahwa
sysadmin mungkin tidak akan menghargai anda menggunakan server mereka dengan cara ini.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="man-port-specification">
<title>Spesifikasi Port dan Urutan Scan</title>
<indexterm significance="normal"><primary>port specification</primary></indexterm>
<para>Selain menawarkan semua metode scan yang telah dijelaskan sebelumnya,
Nmap juga memberikan opsi untuk menspesifikasikan port mana yang ingin diperiksa dan
apakah urutan scan secara acak atau berurutan. Secara baku, Nmap memeriksa 1.000 port
untuk setiap protokol yang paling umum.
<indexterm significance="normal"><primary>default ports</primary></indexterm>
</para>
<variablelist>
<varlistentry>
<term>
<option>-p <replaceable>port ranges</replaceable></option> (Hanya memeriksa port yang dispesifikasikan)
<indexterm significance="normal"><primary><option>-p</option></primary></indexterm>
</term>
<listitem>
<para>Opsi ini menentukan port yang ingin anda periksa dan
meniadakan nilai baku. Nomor port individu adalah OK, dan juga
rentang yang dipisahkan oleh tanda sambung (misaln <literal moreinfo="none">1-1023</literal>). Nilai awal dan/atau
akhir sebuah rentang dapat dihilangkan, Nmap lalu akan menggunakan
1 dan 65535. Jadi anda dapat memberikan opsi
<option>-p-</option> untuk memeriksa port dari 1 hingga 65535.
Anda diperbolehkan memeriksa port nol <indexterm significance="normal"><primary>port zero</primary></indexterm>
jika anda menspesifikasikannya secara eksplisit.
Untuk pemeriksaan protokol IP (<option>-sO</option>), opsi ini
menspesifikasikan nomor protokol yang ingin anda periksa (0255).</para>
<para>Ketika memeriksa port TCP dan UDP, anda dapat menentukan
protokol tertentu dengan menambahkan <literal moreinfo="none">T:</literal>
atau <literal moreinfo="none">U:</literal> di depan nomor port.
Qualifier ini berlaku hingga anda menspesifikasikan qualifier lain.
Sebagai contoh, argumen <option>-p
U:53,111,137,T:21-25,80,139,8080</option> akan memeriksa port UDP
53, 111,dan 137, dan juga port TCP yang disebutkan. Untuk memeriksa
UDP dan TCP, anda harus menspesifikasikan
<option>-sU</option> dan paling tidak satu jenis scan TCP (seperti
<option>-sS</option>, <option>-sF</option>, atau
<option>-sT</option>). Jika tidak diberikan qualifier protokol,
nomor port akan ditambahkan ke seluruh daftar protokol.</para>
<indexterm significance="normal"><primary>port specification</primary><secondary>wildcards in</secondary></indexterm>
<indexterm significance="normal"><primary>wildcards</primary><see>port selection, wildcards in</see></indexterm>
<para>
Port dapat juga dispesifikasikan dengan nama sesuai dengan apa yang diacu dalam
file <filename moreinfo="none">nmap-services</filename>. Anda bahkan
dapat menggunakan wildcard * dan ? dengan nama. Sebagai contoh, untuk memeriksa
port FTP dan seluruh port yang namanya dimulai dengan <quote>http</quote>, gunakan <option>-p ftp,http*</option>.
Berhati-hatilah dengan ekspansi shell dan berilah tanda kutip pada argumen <option>-p</option> jika tidak yakin.</para>
<para>Rentang port dapat dikelilingi oleh tanda kurung siku (square bracket)
untuk mengindikasikan port yang berada di dalam rentang tersebut yang ada dalam <filename moreinfo="none">nmap-services</filename>.
Sebagai contoh, opsi berikut ini akan memeriksa seluruh port dalam <filename moreinfo="none">nmap-services</filename>
yang kurang dari sama dengan 1024: <option>-p [-1024]</option>. Berhati-hatilah dengan ekspansi shell dan berilah tanda kutip pada argumen <option>-p</option> jika tidak yakin.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-F</option> (Fast (limited port) scan)
<indexterm significance="preferred"><primary><option>-F</option></primary></indexterm>
<indexterm significance="normal"><primary>fast scan</primary><see><option>-F</option></see></indexterm>
</term>
<listitem>
<para>Memberitahukan bahwa anda ingin memeriksa lebih sedikit port
daripada jumlah baku. Normalnya Nmap memeriksa 1.000 port umum
untuk setiap protokol yang diperiksa. Dengan <option>-F</option>, jumlahnya
dikurangi menjadi 100.</para>
<para>Nmap membutuhkan file <filename moreinfo="none">nmap-services</filename>
dengan informasi frekuensi untuk mengetahui port yang paling umum
<notman> (see <xref linkend="nmap-services"/>
untuk lebih jauh mengenai frekuensi port)</notman>. Jika informasi
frekuensi port tidak tersedia, mungkin karena penggunaan file
<filename moreinfo="none">nmap-services</filename> kustom,
<option>-F</option> berarti memeriksa hanya port yang ada di dalam
file services (normalnya Nmap memeriksa seluruh port yang memiliki nama dan
port 11024).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-r</option> (Jangan randomisasi port)
<indexterm significance="normal"><primary><option>-r</option></primary></indexterm>
<indexterm significance="normal"><primary>randomization of ports</primary></indexterm>
</term>
<listitem>
<para>Secara baku, Nmap merandomisasi urutan port yang diperiksa
(kecuali port tertentu yang biasa diakses dipindahkan ke awal untuk
alasan efisiensi). Randomisasi ini biasanya diinginkan,namun anda
dapat memberikan opsi <option>-r</option> untuk pemeriksaan port
secara berurutan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--port-ratio &lt;angka desimal antara 0 dan 1&gt;</option>
</term>
<listitem>
<indexterm significance="normal"><primary>--port-ratio</primary></indexterm>
<para>Memeriksa seluruh port dalam file <filename moreinfo="none">nmap-services</filename> dengan rasio lebih daripada angka yang diberikan sebagai argumen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--top-ports &lt;integer 1 atau lebih&gt;</option>
</term>
<listitem>
<indexterm significance="normal"><primary>--top-ports</primary></indexterm>
<para>Memeriksa port-port dengan rasio tertinggi N yang ditemukan dalam file <filename moreinfo="none">nmap-services</filename>.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="man-version-detection">
<title>Deteksi Versi dan Layanan</title>
<indexterm class="startofrange" id="man-version-detection-indexterm" significance="normal"><primary>version detection</primary></indexterm>
<para>Arahkan Nmap ke mesin remote dan ia dapat memberitahu anda
bahwa port <literal moreinfo="none">25/tcp</literal>, <literal moreinfo="none">80/tcp</literal>, dan <literal moreinfo="none">53/udp</literal> terbuka. Dengan menggunakan database
<filename moreinfo="none">nmap-services</filename><indexterm significance="normal"><primary><filename moreinfo="none">nmap-services</filename></primary></indexterm>
yang berisi lebih dari 2.200
layanan yang dikenal,<indexterm significance="normal"><primary>well-known ports</primary></indexterm>
Nmap akan melaporkan bahwa port tersebut mungkin adalah
server mail (SMTP), server web (HTTP), dan name server (DNS).
Pencocokan ini biasanya akurat- sebagian besar daemon
yang mendengarkan TCP port 25 adalah, mail
server. Namun demikian, anda tidak seharusnya terpaku pada hal ini!
Orang-orang dapat dan menjalankan layanan pada port-port aneh.<indexterm significance="normal"><primary>non-standard ports</primary></indexterm>
</para>
<para>Bahkan bila Nmap benar, dan server hipotetis di atas menjalankan
server SMTP, HTTP, dan DNS, itu bukanlah informasi yang banyak.
Ketika melakukan vulnerability assessment (atau inventori jaringan)
atas perusahaan atau klien anda, anda benar-benar ingin mengetahui
server mail dan DNS mana serta versi apa yang dijalankan.
Dengan memiliki angka versi yang akurat akan membantu secara dramatis dalam
menentukan eksploitasi yang tepat terhadap server tersebut. Deteksi versi
membantu anda memperoleh informasi ini.
</para>
<para>Setelah port TCP dan/atau UDP ditemukan dengan menggunakan
salah satu metode scan, deteksi versi menginterogasi port tersebut
untuk menentukan lebih jauh mengenai apa yang sedang berjalan. Database
<filename moreinfo="none">nmap-service-probes</filename><indexterm significance="normal"><primary><filename moreinfo="none">nmap-service-probes</filename></primary></indexterm>
berisikan probe untuk melakukan query ke sejumlah layanan dan ekspresi pencocokan
untuk mengenali dan memproses respon. Nmap berusaha menentukan protokol layanan
(misalnya FTP, SSH, Telnet, HTTP), nama aplikasi (misalnya ISC
BIND, Apache httpd, Solaris telnetd), angka versi,
nama host, jenis device (misal printer, router), keluarga SO
(misal Windows, Linux) dan terkadang detil lainnya seperti
apakah X server terbuka untuk koneksi, versi protokol SSH,
atau nama user KaZaA). Tentu saja, kebanyakan layanan
tidak memberikan informasi ini. Jika Nmap dikompilasi dengan dukungan
OpenSSL, ia akan koneksi ke server SSL untuk mendapatkan layanan
yang berada di belakang lapisan enkripsi.<indexterm significance="normal"><primary>SSL</primary><secondary>in version detection</secondary></indexterm>
Ketika ditemukan layanan RPC,
Nmap RPC grinder<indexterm significance="normal"><primary>RPC grinder</primary></indexterm>
(<option>-sR</option>)<indexterm significance="normal"><primary><option>-sR</option></primary></indexterm>
secara otomatis digunakan untuk menentukan program dan angka versi RPC.
Beberapa port UDP diinformasikan dalam status
<literal moreinfo="none">open|filtered</literal> setelah scan port UDP
tidak dapat menentukan apakah port terbuka atau disaring. Deteksi versi
akan berusaha memperoleh respon dari port ini (sebagaimana dari
port terbuka), dan merubah status port menjadi terbuka bila ia
berhasil. Port TCP <literal moreinfo="none">open|filtered</literal> diperlakukan
dalam cara yang sama. Perhatikan bahwa opsi <option>-A</option> di antaranya
mengaktifkan deteksi versi.
<man>
Sebuah paper yang mendokumentasikan cara kerja, penggunaan, dan kustomisasi
deteksi versi tersedia di
<ulink url="https://nmap.org/book/vscan.html"/>.
</man>
<notman>
Deteksi versi dijelaskan secara rinci dalam <xref linkend="vscan"/>.
</notman>
</para>
<para>Bila Nmap menerima respon dari sebuah layanan namun tidak
dapat mencocokkannya ke database, ia akan mencetak fingerprint khusus dan
sebuah URL untuk menyerahkannya bila anda tahu secara pasti apa yang berjalan
pada port tersebut. Mohon meluangkan waktu beberapa menit untuk menyerahkannya
sehingga dapat bermanfaat bagi semua orang. Berkat penyerahan ini,
Nmap memiliki sekitar 3.000 pola yang sesuai untuk lebih dari
350 protokol seperti SMTP, FTP, HTTP, dsb.<indexterm significance="normal"><primary>submission of service fingerprints</primary></indexterm>
</para>
<para>Deteksi versi diaktifkan dan dikendalikan dengan opsi-opsi berikut:</para>
<variablelist>
<varlistentry>
<term>
<option>-sV</option> (Deteksi Versi)
<indexterm significance="normal"><primary><option>-sV</option></primary></indexterm></term>
<listitem>
<para>Mengaktifkan deteksi versi, seperti yang dijelaskan di atas.
Anda dapat pula menggunakan <option>-A</option>, yang salah satunya
mengaktifkan deteksi versi.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--allports</option> (Sertakan seluruh port dalam deteksi versi)
<indexterm significance="normal"><primary><option>--allports</option></primary></indexterm>
</term>
<listitem>
<para>Secara baku, deteksi versi Nmap melewati TCP port 9100
karena beberapa printer akan mencetak segala yang dikirim ke port itu,
berakibat puluhan halaman request HTTP GET, sesi biner SSL, dsb.
Perilaku ini dapat diubah dengan memodifikasi atau menghapus
direktif <literal moreinfo="none">Exclude</literal>
dalam <filename moreinfo="none">nmap-service-probes</filename>, atau
anda dapat menspesifikasikan <option>--allports</option> untuk memeriksa seluruh
port tanpa mengindahkan direktif <literal moreinfo="none">Exclude</literal>.
<indexterm significance="normal"><primary><literal moreinfo="none">Exclude</literal> directive (<filename moreinfo="none">nmap-service-probes</filename>)</primary></indexterm>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--version-intensity <replaceable>intensity</replaceable></option> (Menset
intensitas pemeriksaan versi)
<indexterm significance="normal"><primary><option>--version-intensity</option></primary></indexterm>
</term>
<listitem>
<para>Ketika melakukan pemeriksaan versi (<option>-sV</option>), Nmap mengirim
serangkaian probe, dan setiap probe diberi nilai antara satu dan sembilan.
Probe dengan nomor rendah efektif terhadap beragam layanan umum, sementara
nomor lebih tinggi jarang berguna. Level intensitas menspesifikasikan probe
mana yang harus diaplikasikan. Semakin tinggi angkanya, semakin mungkin
layanan diidentifikasi dengan benar. Namun demikian, scan dengan intensitas tinggi
membutuhkan waktu yang lebih lama. Intensitas harus antara 0 dan 9.
<indexterm significance="normal"><primary>version detection</primary><secondary>intensity</secondary></indexterm>
Nilai bakunya adalah 7.
<indexterm significance="normal"><primary>version detection</primary><secondary>default intensity</secondary></indexterm>
Ketika sebuah probe didaftarkan ke port target melalui direktif
<filename moreinfo="none">nmap-service-probes</filename> <literal moreinfo="none">ports</literal>, probe tersebut akan dicoba tanpa memperdulikan
level intensitas. Hal ini memastikan bahwa probe DNS akan selalu dicoba terhadap
sembarang port terbuka 53, probe SSL akan dilakukan terhadap port 443, dst.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--version-light</option> (Aktifkan mode ringan)
<indexterm significance="normal"><primary><option>--version-light</option></primary></indexterm>
</term>
<listitem>
<para>Opsi ini merupakan alias dari
<option>--version-intensity 2</option>. Mode ringan ini
membuat pemeriksaan versi lebih cepat, namun mungkin kurang
dapat mengidentifikasi layanan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--version-all</option> (Coba semua probe tunggal)
<indexterm significance="normal"><primary><option>--version-all</option></primary></indexterm>
</term>
<listitem>
<para>Sebuah alias bagi <option>--version-intensity 9</option>,
memastikan bahwa setiap probe tunggal dicoba terhadap setiap port.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--version-trace</option> (Melacak aktivitas pemeriksaan versi)
<indexterm significance="preferred"><primary><option>--version-trace</option></primary></indexterm>
</term>
<listitem>
<para>Hal ini membuat Nmap mencetak info debugging yang ekstensif tentang
pemeriksaan versi yang sedang dilakukan. Ia merupakan subset dari <option>--packet-trace</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-sR</option> (RPC scan)
<indexterm significance="preferred"><primary><option>-sR</option></primary></indexterm>
<indexterm significance="normal"><primary>RPC scan</primary><see>RPC grinder</see></indexterm>
<indexterm significance="normal"><primary>RPC grinder</primary></indexterm>
</term>
<listitem>
<para>Metode ini bekerja sama dengan beragam metode pemeriksaan port
Nmap. Ia menggunakan seluruh port TCP/UDP yang terbuka dan membanjiri mereka
dengan perintah NULL program SunRPC dalam usaha menentukan apakah mereka
adalah port RPC, dan bila ya, menentukan program dan nomor versinya. Karenanya
anda dapat secara efektif memperoleh info yang sama dengan <command moreinfo="none">rpcinfo -p</command> bahkan bila portmapper target berada di belakang firewall (atau dilindungi oleh
TCP wrapper). Saat ini tidak dapat menggunakan umpan dalam RPC scan.<indexterm significance="normal"><primary>decoys</primary><secondary>yang digunakan pemeriksaan</secondary></indexterm>
Ia secara otomatis diaktifkan sebagai bagian pemeriksaan versi
(<option>-sV</option>) jika anda memintanya. Oleh karena deteksi versi
menyertakannya dan jauh lebih lengkap, <option>-sR</option> jarang dibutuhkan.</para>
</listitem>
</varlistentry>
</variablelist>
<indexterm class="endofrange" startref="man-version-detection-indexterm" significance="normal"/>
</refsect1>
<refsect1 id="man-os-detection">
<title>Deteksi SO</title>
<indexterm class="startofrange" id="man-os-detection-indexterm" significance="normal"><primary>OS detection</primary></indexterm>
<para>Salah satu fitur Nmap yang paling dikenal adalah deteksi SO
dengan menggunakan fingerprint stack TCP/IP. Nmap mengirimkan serangkaian paket TCP dan
UDP ke host remote dan menguji setiap bit paket responnya.
Setelah melakukan serangkaian test seperti sampling TCP
ISN, dukungan dan urutan opsi TCP, sampling ID IP, dan
pemeriksaan ukuran jendela awal, Nmap membandingkan hasilnya ke database
<filename moreinfo="none">nmap-os-db</filename><indexterm significance="normal"><primary><filename moreinfo="none">nmap-os-db</filename></primary></indexterm>
yang berisi lebih dari seribu fingerprint SO yang dikenal dan
mencetak detil SO bila terjadi kesesuaian.
Setiap fingerprint menyertakan deskripsi SO tekstual dalam format bebas,
klasifikasi yang memberikan nama vendor (misalnya Sun), SO di bawahnya (misalnya Solaris),
generasi OS (misalnya 10), dan jenis device (fungsi umum, router, switch, konsol game,
dsb.).</para>
<para>Jika Nmap tidak dapat menduga SO mesin, dan kondisinya bagus
(misalnya paling tidak ditemukan satu port terbuka dan tertutup), Nmap akan
memberikan URL yang dapat anda gunakan untuk menyerahkan fingerprint jika anda tahu
(dengan pasti) SO yang berjalan di mesin itu. Dengan melakukan hal ini anda berkontribusi
ke database sistem operasi yang dikenali Nmap dan karenanya ia akan lebih akurat.</para>
<para>Deteksi SO mengaktifkan beberapa tes lain yang menggunakan informasi yang
dikumpulkan selama proses. Salah satunya adalah TCP Sequence Predictability Classification.
Ukuran ini menentukan seberapa sulit memalsukan koneksi TCP ke host remote. Ia bermanfaat
dalam mengeksploitasi relasi trust berbasis IP-sumber (rlogin, filter firewall, dsb) atau
untuk menyembunyikan sumber serangan. Spoofing jenis ini jarang dilakukan lagi,
namun banyak mesin masih rentan terhadapnya.
Angka kesulitan aktualnya berdasarkan pada sampling statistik dan mungkin berfluktuasi.
Umumnya lebih baik menggunakan klasifikasi bahasa Inggris seperti
<quote>worthy challenge</quote> or <quote>trivial joke</quote>. Hal ini hanya dilaporkan
dalam output normal dalam mode verbose (<option>-v</option>).
Ketika digunakan mode verbose bersama dengan <option>-O</option>, pembuatan urutan ID IP ID
juga dilaporkan. Kebanyakan mesin berada dalam kelas
<quote>incremental</quote>, yang berarti mereka menaikkan field ID
dalam header IP untuk setiap paket yang mereka kirim. Hal ini membuat mereka rentan
atas beberapa serangan spoofing dan pengumpulan informasi tingkat tinggi.</para>
<indexterm significance="normal"><primary>uptime guess</primary></indexterm>
<para>
Informasi ekstra lain yang disertakan dalam deteksi SO adalah menduga
waktu uptime target. Tekniknya menggunakan opsi timestamp TCP (<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc1323.txt">RFC 1323</ulink>) untuk menduga waktu terakhir mesin direboot.
Dugaan dapat tidak akurat akibat counter timestamp tidak diinisialisasi ke nol
atau counter overflow dan kembali ke awal, sehingga ia hanya dicetak dalam mode verbose.
</para>
<para>
<man>
Sebuah paper yang mendokumentasikan cara kerja, penggunaan, dan kustomisasi deteksi SO
tersedia di
<ulink url="https://nmap.org/book/osdetect.html"/>.
</man>
<notman>
Deteksi SO dibahas dalam <xref linkend="osdetect"/>.
</notman>
</para>
<para>Deteksi SO diaktifkan dan dikendalikan dengan opsi-opsi berikut:</para>
<variablelist>
<varlistentry>
<term>
<option>-O</option> (Aktifkan deteksi SO)
<indexterm significance="preferred"><primary><option>-O</option></primary></indexterm>
</term>
<listitem>
<para>Aktifkan deteksi SO, seperti didiskusikan di atas.
Anda dapat juga menggunakan <option>-A</option> untuk mengaktifkan
deteksi SO dan hal lainnya.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--osscan-limit</option> (Batasi deteksi SO untuk target yang menjanjikan)
<indexterm significance="preferred"><primary><option>--osscan-limit</option></primary></indexterm>
</term>
<listitem>
<para>Deteksi SO jauh lebih efektif bila ditemukan paling tidak
satu port TCP terbuka dan tertutup. Set opsi ini dan Nmap
tidak akan melakukan deteksi SO terhadap host yang tidak memenuhi
kriteria ini. Hal ini dapat menghemat waktu,
terutama pada pemeriksaan <option>-PN</option> atas banyak host. Ia hanya
penting ketika deteksi SO diminta dengan opsi <option>-O</option> atau <option>-A</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--osscan-guess</option>; <option>--fuzzy</option> (Duga hasil deteksi SO)
<indexterm significance="preferred"><primary><option>--osscan-guess</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--fuzzy</option></primary><see><option>--osscan-guess</option></see></indexterm>
</term>
<listitem>
<para>Ketika Nmap tidak dapat mendeteksi SO secara tepat, ia
terkadang memberikan kemungkinan terdekat. Tebakan yang cocok
harus sangat dekat agar dilakukan secara baku oleh Nmap.
Semua opsi ekivalen ini membuat Nmap menduga dengan lebih agresif.
Nmap tetap akan memberitahu anda ketika kecocokan tidak sempurna dicetak
dan menampilkan tingkat kepercayaan (persentase) untuk setiap dugaan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--max-os-tries</option> (Menset jumlah usaha maksimum deteksi SO atas target)
<indexterm significance="preferred"><primary><option>--max-os-tries</option></primary></indexterm>
</term>
<listitem>
<para>Ketika Nmap melakukan deteksi SO terhadap target dan
gagal menemukan kecocokan sempurna, ia biasanya mengulang usahanya.
Secara baku, Nmap berusaha lima kali jika kondisi memungkinkan
penyerahan fingerprint SO, dan dua kli ketika kondisi tidak begitu baik.
Menspesifikasikan nilai <option>--max-os-tries</option> yang lebih rendah (seperti 1)
mempercepat Nmap, meski anda kehilangan usaha yang secara potensial dapat
mengindentifikasi SO. Anda dapat pula menset perulangan yang lebih banyak
ketika kondisi lebih baik. Hal ini jarang dilakukan, kecuali untuk menghasilkan
fingerprint yang lebih baik untuk penyerahan dan integrasi ke database SO Nmap.</para>
</listitem>
</varlistentry>
</variablelist>
<indexterm class="endofrange" startref="man-os-detection-indexterm" significance="normal"/>
</refsect1>
<refsect1 id="man-nse">
<title>Nmap Scripting Engine (NSE)</title>
<indexterm class="startofrange" id="man-nse-indexterm" significance="normal"><primary>Nmap Scripting Engine (NSE)</primary></indexterm>
<para>Nmap Scripting Engine (NSE) adalah salah satu fitur Nmap
yang paling powerful dan fleksibel. Ia memungkinkan user untuk menulis (dan membagi)
skrip sederhana (menggunakan <ulink url="http://lua.org">bahasa pemrograman Lua</ulink>, <indexterm significance="normal"><primary>Lua programming language</primary></indexterm>) untuk mengotomasi beragam tugas jaringan.
Skrip-skrip tersebut dieksekusi secara parale dengan kecepatan
dan efisiensi yang anda harapkan dari Nmap. User dapat mengandalkan beragam
skrip yang didistribusikan dengan Nmap, atau menulis sendiri sesuai kebutuhan.</para>
<para>Tugas-tugas yang kami pikirkan ketika membuat sistem termasuk penemuan jaringan,
deteksi versi yang lebih canggih, deteksi kerentanan.
NSE bahkan dapat digunakan untuk eksploitasi kerentanan.</para>
<para>
Untuk mencerminkan penggunaan yang berbeda dan untuk memudahkan pilihan skrip
yang diinginkan, setiap skrip berisi field yang mengasosiasikannya dengan satu atau lebih kategori. Kategori yang ada saat ini adalah
<literal moreinfo="none">safe</literal>, <literal moreinfo="none">intrusive</literal>, <literal moreinfo="none">malware</literal>, <literal moreinfo="none">version</literal>, <literal moreinfo="none">discovery</literal>, <literal moreinfo="none">vuln</literal>, <literal moreinfo="none">auth</literal>, and <literal moreinfo="none">default</literal>. These are all described
<man>at <ulink url="https://nmap.org/book/nse-usage.html#nse-categories"/>.</man>
<notman>in <xref linkend="nse-categories"/>.</notman></para>
<para>Nmap Scripting Engine dijelaskan lebih rinci
<man>di <ulink url="https://nmap.org/book/nse.html"/></man>
<notman>in <xref linkend="nse"/></notman> dan dikendalikan oleh opsi-opsi berikut ini:</para>
<variablelist>
<varlistentry>
<term><option>-sC</option>
<indexterm significance="preferred">
<primary><option>-sC</option></primary>
</indexterm>
</term>
<listitem>
<para>Melakukan scan skrip menggunakan sejumlah skrip baku. Ia merupakan
ekivalen <option>--script=default</option>. Beberapa skrip dalam
kategori ini dianggap intrusif dan tidak seharusnya dijalankan
terhadap jaringan target tanpa ijin. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--script <replaceable>script-categories</replaceable>|<replaceable>directory</replaceable>|<replaceable>filename</replaceable>|all</option><indexterm significance="preferred"><primary><option>--script</option></primary></indexterm></term>
<listitem>
<para>Menjalankan scan skrip (seperti <option>-sC</option>) menggunakan daftar kategori skrip,
skrip individual, atau direktori berisikan skrip, aih-alih menggunakan set baku.
Nmap akan mencoba dulu menginterpretasikan argumen sebagai kategori, kemudian sebagai file atau
direktori. Skrip atau direktori skrip dapat dispesifikasikan dengan path absolut atau relatif.
Path absolut digunakan seperti yang diberikan.
Path relatif akan dicari dalam tempat-tempat berikut hingga ditemukan :
<indexterm significance="normal"><primary>file data</primary><secondary>urutan pencarian direktori</secondary></indexterm><indexterm significance="normal"><primary>skrip, lokasi</primary></indexterm>
<filename moreinfo="none">--datadir/</filename>;
<filename moreinfo="none">$NMAPDIR/</filename>;<indexterm significance="normal"><primary><envar>NMAPDIR</envar> environment variable</primary></indexterm>
<filename moreinfo="none">~/.nmap/</filename> (tidak dicari pada Windows);<indexterm significance="normal"><primary sortas="nmap directory"><filename moreinfo="none">.nmap</filename> directory</primary></indexterm>
<literal moreinfo="none">NMAPDATADIR</literal>/ or<indexterm significance="normal"><primary>NMAPDATADIR</primary></indexterm>
<filename moreinfo="none">./</filename>. A <filename moreinfo="none">scripts/</filename> subdirektori juga dicari untuk setiap direktori ini.</para>
<para>Jika diberikan sebuah direktori dan ditemukan, Nmap memuat seluruh skrip NSE
(semua nama file yang berakhiran dengan <literal moreinfo="none">.nse</literal>) dari
direktori tersebut. Nama file tanpa ekstensi <literal moreinfo="none">nse</literal> akan
diabaikan. Nmap tidak mencari secara rekursif ke subdirektori untuk mencari skrip.
Jika diberikan nama file individual, ekstensi file tidak perlu harus
<literal moreinfo="none">nse</literal>.</para>
<para>Skrip Nmap secara baku disimpan dalam subdirektori <filename moreinfo="none">scripts</filename>
direktori data Nmap
<man>(lihat <ulink url="https://nmap.org/book/data-files.html"/>).</man>
<notman>(see <xref linkend="data-files"/>).</notman> Demi efisiensi,
skrip diindeks dalam database yang disimpan dalam
<filename moreinfo="none">scripts/script.db</filename>.<indexterm significance="normal"><primary><filename moreinfo="none">script.db</filename></primary></indexterm>
yang mendaftar kategori atau kategori-kategori yang dimiliki skrip.
Berikan argumen <literal moreinfo="none">all</literal> untuk menjalankan seluruh skrip
dalam database skrip Nmap.</para>
<para>Skrip berbahaya tidak dijalankan dalam sandbox dan karenanya dapat merusak sistem anda atau menggangu privasi anda. Jangan pernah menjalankan skrip dari pihak ketiga kecuali anda mempercayai penulisnya atau telah mengaudit skrip tersebut dengan cermat.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--script-args <replaceable>name1</replaceable>=<replaceable>value1</replaceable>,<replaceable>name2</replaceable>={<replaceable>name3</replaceable>=<replaceable>value3</replaceable>},<replaceable>name4</replaceable>=<replaceable>value4</replaceable></option>
<indexterm significance="preferred"><primary><option>--script-args</option></primary></indexterm>
<indexterm significance="normal"><primary>script arguments</primary><seealso><option>--script-args</option></seealso></indexterm></term>
<listitem>
<para>Membolehkan anda memberik argumen ke skrip NSE. Argument diberikan sebagai
pasangan <literal moreinfo="none">name=value</literal>. Argumen yang diberikan
diproses dan disimpan dalam tabel Lua, yang dapat diakses oleh semua skrip.
Nama-nama dianggap sebagai string (yang harus berupa nilai alfanumerik)
dan digunakan sebagai kunci dalam
<literal moreinfo="none">argument-table</literal>. Nilai dapat berupa string atau tabel
(dilingkupi oleh <literal moreinfo="none">{</literal> dan
<literal moreinfo="none">}</literal>).
Sebagai contoh, anda dapat memberikan argumen :
<literal moreinfo="none">user=bar,pass=foo,whois={whodb=nofollow+ripe}</literal>.
Argumen string secara potensial digunakan oleh beberapa skrip; subtables normalnya
hanya digunakan oleh satu skrip. Dalam skrip yang menggunakan subtable, ia dinamakan
sesuai dengan nama skripnya (seperti
<literal moreinfo="none">whois</literal> dalam contoh ini).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--script-trace</option>
<indexterm significance="preferred"><primary><option>--script-trace</option></primary></indexterm></term>
<listitem>
<para>
Opsi ini melakukan apa yang dilakukan oleh <option>--packet-trace</option>,
namun satu tingkat ISO lebih tinggi. Jika diberikan opsi ini seluruh komunikasi
incoming dan outgoing yang dilakukan skrip akan dicetak. Informasi yang ditampilkan
mencakup protokol komunikasi, sumber, target dan data yang ditransmisikan.
Jika lebih dari 5% seluruh data yang ditransmisikan tidak dapat dicetak, maka
output trace dalam format hex. <option>--packet-trace</option> juga mengaktifkan tracing skrip.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--script-updatedb</option>
<indexterm significance="preferred"><primary><option>--script-updatedb</option></primary></indexterm></term>
<listitem>
<para>Opsi ini mengupdate database skrip yang ditemukan dalam
<filename moreinfo="none">scripts/script.db</filename> yang digunakan
Nmap untuk menentukan skrip baku dan kategori yang tersedia. Opsi ini
digunakan bila anda menambah atau mengurangi skrip NSE dari direktori baku
<filename moreinfo="none">scripts</filename> atau bila anda merubah
kategori sembarang skrip. Opsi ini biasanya digunakan sendirian: <command moreinfo="none">nmap --script-updatedb</command>.</para>
</listitem>
</varlistentry>
</variablelist>
<indexterm class="endofrange" startref="man-nse-indexterm" significance="normal"/>
</refsect1>
<refsect1 id="man-performance">
<title>Pewaktuan dan Kinerja</title>
<indexterm class="startofrange" id="man-performance-timing-indexterm" significance="normal"><primary>timing</primary></indexterm>
<indexterm class="startofrange" id="man-performance-indexterm" significance="normal"><primary>performance</primary></indexterm>
<para>Salah satu prioritas pengembangan tertinggi Nmap adalah kinerja.
Scan baku (<command moreinfo="none">nmap
<replaceable>hostname</replaceable></command>) sebuah host pada jaringan lokal saya
membutuhkan seperlima detik. Hal tersebut cukup cepat, namun
tambahkan bila anda memeriksa ratusan atau ribuan host.
Terlebih lagi, beberapa opsi scan seperti pemeriksaan UDP dan deteksi versi
dapat meningkatkan waktu pemeriksaan secara substansial. Begitu pula dengan
beberapa konfigurasi firewall, terutama pembatasan rate respon.
Meskipun Nmap menggunakan paralelisme dan algoritma canggih untuk mempercepat scan ini,
user memiliki kendali penuh atas jalannya Nmap. User ahli secara cermat memberikan perintah
Nmap yang hanya mengambil informasi yang dibutuhkan dengan batasan waktu yang sesuai.</para>
<para>Teknik-teknik untuk memperbaiki waktu pemeriksaan mencakup menghilangkan
tes-tes yang tidak kritikal, dan mengupgrade ke versi terakhir Nmap
(perbaikan kinerja dibuat secara rutin). Optimisasi parameter pewaktuan juga
dapat memberikan perbedaan yang substansial. Opsi-opsi tersebut diberikan
di bawah ini.</para>
<para>Beberapa opsi menerima sebuah parameter <literal moreinfo="none">waktu</literal>. Ia
dispesifikasikan secara baku dalam milidetik, meskipun anda dapat menambahkan
s, m, atau h ke nilai untuk menspesifikasikan detik, menit, atau jam. Sehingga argumen
<option>--host-timeout</option> <literal moreinfo="none">900000</literal>,
<literal moreinfo="none">900s</literal>, dan <literal moreinfo="none">15m</literal> semuanya melakukan hal yang sama.</para>
<variablelist>
<varlistentry>
<term>
<option>--min-hostgroup <replaceable>numhosts</replaceable></option>;
<option>--max-hostgroup
<replaceable>numhosts</replaceable></option> (Adjust parallel scan group sizes)
<indexterm significance="normal"><primary><option>--min-hostgroup</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--max-hostgroup</option></primary></indexterm>
</term>
<listitem>
<para>Nmap memiliki kemampuan untuk melakukan scan port atau versi ke banyak host secara paralel.
Nmap melakukan hal ini dengan membagi ruang IP target ke dalam kelompok dan kemudian memeriksa
satu kelompok pada satu waktu. Secara umum, kelompok yang lebih besar lebih efisien.
Kelemahannya adalah hasilnya tidak dapat disediakan hingga seluruh kelompok selesai.
Jadi bila Nmap dimulai dengan kelompok berukuran 50, user tidak akan menerima laporan
(kecuali update yang diberikan dalam mode verbose) hingga seluruh 50 host pertama selesai.</para>
<para>Secara baku, Nmap menggunakan pendekatan kompromi untuk konflik in.
Ia mulai dengan ukuran kelompok paling kecil lima sehingga dapat segera diperoleh hasil
dan kemudian menaikkan ukuran kelompok hingga maksimum 1024. Angka baku tergantung
pada opsi yang diberikan. Demi alasan efisiensi,
Nmap menggunakan ukuran kelompok yang lebih besar untuk scan UDP atau sedikit-port TCP.</para>
<para>Ketika ukuran kelompok maksimum diberikan dengan
<option>--max-hostgroup</option>, Nmap tidak akan melampaui ukuran tersebut.
Berikan ukuran minimum dengan <option>--min-hostgroup</option> dan Nmap
akan berusaha ukuran kelompok di atas angka tersebut. Nmap mungkin akan menggunakan
kelompok lebih kecil daripada yang anda spesifikasikan jika tidak terdapat cukup target
pada interface yang diberikan untuk memenuhi ukuran minimum. Kedua opsi dapat digunakan
untuk menset ukuran kelompok dalam rentang tertentu, namun hal ini jarang diperlukan.</para>
<para>Opsi-opsi ini tidak memiliki efek ketika melalukan fase penemuan host dalam sebuah
pemeriksaan. Ini mencakup scan ping biasa (<option>-sP</option>).
Penemuan host selalu bekerja dalam kelompok host besar untuk meningkatkan kecepatan
dan akurasi.</para>
<para>Penggunaan utama opsi ini adalah untuk menspesifikasikan ukuran kelompok minimum yang besar
sehingga scan penuh dapat dilakukan lebih cepat. Pilihan umum adalah 256
untuk memeriksa jaringan dalam Kelas C. Untuk scan dengan banyak port,
melampaui angka tersebut tidak berarti banyak. Untuk scan terhadap beberapa port saja,
ukuran kelompok host 2048 atau lebih mungkin bermanfaat.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--min-parallelism <replaceable>numprobes</replaceable></option>;
<option>--max-parallelism
<replaceable>numprobes</replaceable></option> (Adjust probe parallelization)
<indexterm significance="normal"><primary><option>--min-parallelism</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--max-parallelism</option></primary></indexterm>
</term>
<listitem>
<para>Opsi-opsi ini mengendalikan jumlah total probe yang dapat dilakukan
untuk sekelompok host. Mereka digunakan untuk pemeriksaan port dan penemuan
host. Secara baku, Nmap menghitung nilai paralel yang ideal berdasarkan
kinerja jaringan. Jika paket di-drop, Nmap mengurangi dan membolehkan
lebih sedikit probe yang tersisa. Angka probe ideal akan meningkat seiring
dengan membaiknya jaringan. Opsi ini menempatkan batas minimum atau maksimum
pada variabel tersebut. Secara baku, nilai idealnya dapat menurun ke angka satu
bila jaringan ternyata tidak handal dan meningkat ke beberapa ratus dalam kondisi sempurna.</para>
<para>Penggunaan paling umum adalah menset
<option>--min-parallelism</option> ke angka lebih tinggi daripada satu untuk
mempercepat scan host atau jaringan yang lambat. Ini adalah opsi berisiko
untuk dimainkan, karena bila mensetnya terlalu tinggi akan mempengaruhi akurasi.
Dengan menset opsi ini juga akan mengurangi kemampuan Nmap untuk mengendalikan
paralelisme secara dinamis berdasarkan kondisi jaringan. Nilai sepuluh
adalah cukup, meskipun saya hanya menyesuaikan nilai ini sebagai usaha terakhir.</para>
<para>Opsi <option>--max-parallelism</option> seringkali diset ke satu
untuk mencegah Nmap mengirimkan lebih dari satu probe di satu waktu ke host.
Opsi ini dapat bermanfaat saat berkombinasi dengan <option>--scan-delay</option>
(akan didiskusikan kemudian), meskipun yang terakhir biasanya dapat digunakan sendiri.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--min-rtt-timeout <replaceable>time</replaceable></option>,
<option>--max-rtt-timeout <replaceable>time</replaceable></option>,
<option>--initial-rtt-timeout
<replaceable>time</replaceable></option> (Adjust probe timeouts)
<indexterm significance="normal"><primary><option>--min-rtt-timeout</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--max-rtt-timeout</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--initial-rtt-timeout</option></primary></indexterm>
</term>
<listitem>
<para>Nmap memelihara sebuah nilai timeout untuk menentukan berapa lama ia harus menunggu
atas respon probe sebelum ia menyerah atau mentransmisi ulang probe. Nilai ini
dihitung berdasarkan waktu respon probe sebelumnya.
<notman>Rumus tepatnya terdapat dalam <xref linkend="port-scanning-algorithms"/>.</notman>
Jika latensi jaringan menunjukkan signifikan dan bervariasi, nilai timeout ini
dapat meningkat ke beberapa detik. Ia juga dimulai dari nilai konservatif (tinggi)
dan tetap untuk sementara waktu ketika Nmap memeriksa host yang tidak responsif.</para>
<para>
Menspesifikasikan nilai <option>--max-rtt-timeout</option> dan
<option>--initial-rtt-timeout</option> lebih kecil daripada nilai baku dapat
mempercepat waktu pemeriksaan secara signifikan. Hal ini terutama benar untuk scan
tanpa ping (<option>-PN</option>), dan terhadap jaringan yang disaring secara ketat.
Meskipun jangan terlalu agresif. Pemeriksaan dapat lebih lama jika anda
menspesifikasikan nilai rendah sehingga banyak probe timeout dan dilakukan
transmisi ulang ketika respons sedang dalam transit.</para>
<para>Bila seluruh host berada pada jaringan lokal, 100 milidetik adalah nilai
<option>--max-rtt-timeout</option> agresif yang wajar. Jika melibatkan routing,
ping host pada jaringan terlebih dulu dengan utilitas ping ICMP, atau dengan
pembuat paket kustom seperti
<command moreinfo="none">hping2</command><indexterm significance="normal"><primary><command moreinfo="none">hping2</command></primary></indexterm>
yang lebih mungkin melewati firewall. Lihat maximum round trip
time out dari sepuluh paket atau lebih. Anda mungkin ingin menggandakannya untuk
<option>--initial-rtt-timeout</option> dan mengalikan tiga atau empat untuk
<option>--max-rtt-timeout</option>. Umumnya saya tidak menset nilai maksimum
RTT di bawah 100 ms, berapapun waktu ping. Ataupun melebihi 1000 ms.</para>
<para><option>--min-rtt-timeout</option> merupakan opsi yang jarang digunakan yang
berguna ketika jaringan tidak handal, yang bahkan nilai baku Nmap terlalu agresif.
Karena Nmap hanya mengurangi timeout ke minimum ketika jaringan tampaknya handal,
kebutuhan ini tidak umum dan seharusnya dilaporkan sebagai bug ke
<citetitle>nmap-dev</citetitle> mailing list.<indexterm significance="normal"><primary><citetitle>nmap-dev</citetitle> mailing list</primary></indexterm>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--max-retries <replaceable>numtries</replaceable></option> (Specify the
maximum number of port scan probe retransmissions)
<indexterm significance="normal"><primary><option>--max-retries</option></primary></indexterm>
</term>
<listitem>
<para>Ketika Nmap tidak menerima respon atas probe scan port, hal ini dapat berarti
bahwa port disaring. Atau mungkin probe atau respon hilang dalam jaringan.
Mungkin juga host target melakukan pembatasan sehingga memblokir respon sementara.
Sehingga Nmap mencoba kembali mentransmisi probe awal. Jika Nmap mendeteksi kehandalan
jaringan yang buruk, ia akan mencoba beberapa kali sebelum menyerah.
Meskipun hal ini bermanfaat untuk akurasi, namun akan memperpanjang waktu pemeriksaan.
Ketika kinerja lebih diutamakan, pemeriksaan dapat dipercepat dengan membatasi jumlah
transmisi ulang yang dibolehkan. Anda bahkan dapat menspesifikasikan
<option>--max-retries 0</option> untuk mencegah terjadinya transmisi ulang,
meskipun hanya direkomendasikan bagi situasi seperti survei informal ketika terjadi port dan host
yang tidak didata tidak menjadi masalah.
</para>
<para>Bakunya (dengan template tanpa <option>-T</option>) adalah membolehkan
sepuluh transmisi ulang. Jika jaringan tampak handal dan host target tidak membatasi,
Nmap biasanya melakukan hanya satu transmisi ulang. Sehingga kebanyakan pemeriksaan
target tidak terpengaruh dengan mengurangi nilai
<option>--max-retries</option> ke nilai yang rendah seperti tiga. Nilai tersebut
dapat secara substansial mempercepat pemeriksaan host-host lambat (rate limited).
Anda biasanya kehilangan beberapa informasi ketika Nmap menyerah dengan mudah,
meskipun hal tersebut lebih disukai daripada membiarkan
<option>--host-timeout</option> berakhir dan kehilangan seluruh informasi mengenai target.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--host-timeout <replaceable>time</replaceable></option> (Give
up on slow target hosts)
<indexterm significance="normal"><primary><option>--host-timeout</option></primary></indexterm>
</term>
<listitem>
<para>Beberapa host membutuhkan <emphasis>banyak</emphasis> waktu untuk diperiksa.
Hal ini mungkin disebabkan hardware atau software yang tidak berkinerja baik atau tidak handal,
adanya pembatasan paket, atau firewall yang terlalu ketat. Beberapa persen host paling lambat
yang diperiksa dapat menghabiskan sebagian besar waktu pemeriksaan. Terkadang adalah hal baik
mengurangi kerugian dan melewati host-host tersebut.
Berikan
<option>--host-timeout</option> dengan waktu maksimum anda ingin menunggu.
Sebagai contoh, berikan
<literal moreinfo="none">30m</literal> untuk memastikan bahwa Nmap tidak menghabiskan
lebih dari setengah jam pada satu host. Perhatikan bahwa Nmap mungkin memeriksa host lain
pada waktu yang sama dalam waktu tersebut, sehingga itu bukan kerugian lengkap. Host yang
timeout akan dilewati. Tidak ada hasil tabel port, deteksi SO, atau deteksi versi akan dicetak
untuk host tersebut.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--scan-delay <replaceable>time</replaceable></option>;
<option>--max-scan-delay
<replaceable>time</replaceable></option> (Adjust delay between probes)
<indexterm significance="normal"><primary><option>--scan-delay</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--max-scan-delay</option></primary></indexterm>
</term>
<listitem>
<para>Opsi ini menyebabkan Nmap menunggu selama waktu yang diberikan
antara setiap probe yang dikirimkan ke host yang diberikan. Hal ini terutama
bermanfaat dalam hal pembatasan.<indexterm significance="normal"><primary>rate limiting</primary></indexterm> Mesin-mesin Solaris
(di antara yang lainnya) akan menanggapi paket probe scan UDP dengan hanya
satu pesan ICMP per detik. Bila dikirimkan oleh Nmap lebih dari itu akan percuma.
Nilai <option>--scan-delay</option>
<literal moreinfo="none">1s</literal> akan membuat Nmap tetap pada rate lambat tersebut.
Nmap berusaha untuk mendeteksi pembatasan rate dan menyesuaikan delay scan,
namun tidaklah rugi untuk menspesifikasikannya secara eksplisit bila anda telah tahu
rate terbaik.</para>
<para>Ketika Nmap menyesuaikan delay scan lebih tinggi untuk menanggapi pembatasn rate,
scan akan melambat secara dramatis. Opsi
<option>--max-scan-delay</option> menspesifikasikan delay terbesar
yang dibolehkan Nmap. Nilai <option>--max-scan-delay</option> rendah
akan mempercepat Nmap, namun berisiko. Dengan menset nilai ini terlalu rendah dapat
menyebabkan transmisi ulang paket yang tidak perlu dan mungkin port-port luput ketika
target mengimplementasikan pembatasan rate ketat.</para>
<para>Penggunaan lain <option>--scan-delay</option> adalah untuk menghindari
sistem deteksi dan pencegahan intrusi (IDS/IPS) yang berbasis pembatasan
<indexterm significance="normal"><primary>intrusion detection
systems</primary><secondary>evading</secondary></indexterm> <notman>Teknik ini
digunakan dalam <xref linkend="defeating-ids-snort-portscan"/>
untuk mengatasi pendeteksi scan port baku dalam Snort IDS. Kebanyakan sistem
deteksi intrusi lain dapat diatasi dengan cara yang sama.</notman>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--min-rate <replaceable>number</replaceable></option>; <option>--max-rate <replaceable>number</replaceable></option>
(Directly control the scanning rate)
<indexterm significance="normal"><primary><option>--min-rate</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--max-rate</option></primary></indexterm>
</term>
<listitem>
<para>Pewaktuan dinamis Nmap melakukan pekerjaan yang baik dalam menemukan
kecepatan yagn tepat untuk melakukan pemeriksaan. Namun terkadang, anda
mungkin mengetahui rate pemeriksaan jaringan yang tepat, atau anda harus
memastikan bahwa pemeriksaan akan selesai pada waktu tertentu. Atau mungkin anda harus
menjaga Nmap dari melakukan pemeriksaan terlalu cepat. Opsi <option>--min-rate</option> dan
<option>--max-rate</option> dirancang untuk situasi ini.</para>
<para>Ketika opsi
<option>--min-rate</option> diberikan Nmap akan melakukan yang terbaik untuk
mengirim paket secepat atau lebih cepat daripada rate yang diberikan. Argumen
merupakan angka real positif mewakili rate paket per detik.
Sebagai contoh, dengan menspesifikasikan <option>--min-rate 300</option> berarti bahwa
Nmap akan berusaha menjaga rate pengiriman pada atau di atas 300 paket per detik.
Penspesifikasian rate minimum tidak mencegah Nmap mengirimkan lebih cepat
bila kondisi memungkinkan.</para>
<para>Demikian pula, <option>--max-rate</option> membatasi rate pengiriman ke
nilai maksimum yang diberikan. Gunakan <option>--max-rate 100</option>, misalnya, untuk
membatasi pengiriman 100 paket per detik pada jaringan yang cepat. Gunakan
<option>--max-rate 0.1</option> untuk scan lambat satu paket setiap sepuluh detik.
Gunakan <option>--min-rate</option> dan <option>--max-rate</option> bersama
untuk menjaga rate pada rentang tertentu.</para>
<para>Kedua opsi ini bersifat global, mempengaruhi seluruh pemeriksaan, bukan
host individual. Mereka hanya mempengaruhi scan port dan pencarian host
Fitur lain seperti deteksi SO mengimplementasikan pewaktuan mereka sendiri.</para>
<para>Terdapat dua kondisi ketika rate pemeriksaan aktual kurang dari nilai
minimum yang diminta. Pertama adalah bila nilai minimum lebih cepat daripada
rate tercepat pengiriman Nmap, yang tergantung pada hardware.
Dalam kasus ini Nmap akan mengirim paket secepat mungkin, namun waspadai
bahwa rate tinggi tersebut kemungkinan akan menyebabkan kehilangan akurasi.
Kasus kedua adalah ketika Nmap tidak memiliki sesuatu untuk dikirim, sebagai contoh
di akhir pemeriksaan ketika probe terakhir telah dikirim dan Nmap menunggu
mereka time out atau mendapat respon. Adalah normal melihat rate pemeriksaan
menurun pada akhir pemeriksaan atau di antara kelompok host. Rate pengiriman mungkin
melebihi nilai maksimum untuk sementara waktu untuk mengimbangi delay yang tak terduga,
namun secara rata-rata rate akan tetap pada atau di bawah nilai maksimum.</para>
<para>Menspesifikasikan nilai rate minimum harus dilakukan dengan hati-hati. Pemeriksaan
yang lebih cepat daripada yang dapat didukung oleh jaringan akan menyebabkan hilangnya akurasi.
Dalam beberapa kasus, dengan menggunakan rate yang lebih cepat dapat membuat pemeriksaan menjadi
<emphasis>lebih lama</emphasis> daripada bila menggunakan rate yang lebih lambat. Hal ini
karena algoritma
<notman><link linkend="scan-methods-adaptive-retransmission">adaptive
retransmission</link><indexterm significance="normal"><primary>adaptive retransmission</primary><see>retransmission</see></indexterm><indexterm significance="normal"><primary>retransmission</primary></indexterm>
</notman>
<man>adaptive retransmission</man>
Nmap akan mendeteksi kepadatan jaringan yang disebabkan oleh rate pemeriksaan yang berlebihan
dan meningkatkan angka transmisi ulang untuk memperbaiki akurasi.
Jadi meskipun paket dikirim pada rate yang lebih tinggi, namun secara keseluruhan lebih banyak
paket yang dikirimkan. Batasi angka transmisi ulang dengan opsi
<option>--max-retries</option> jika anda ingin menset batas atas waktu scan total.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--defeat-rst-ratelimit</option>
<indexterm significance="normal"><primary><option>--defeat-rst-ratelimit</option></primary></indexterm></term>
<listitem>
<para>Banyak host telah lama menggunakan pembatasan rate
<indexterm significance="normal"><primary>rate limiting</primary></indexterm>
untuk mengurangi jumlah pesan kesalahan ICMP
(seperti kesalahan port-unreachable) yang mereka kirim.
Saat ini beberapa sistem menggunakan pembatasan limit ke paket RST (reset)
yang mereka hasilkan. Hal ini akan memperlambat Nmap secara dramatis karena
ia akan menyesuaikan pewaktuannya untuk mencerminkan batas rate tersebut. Anda dapat
memberitahu Nmap untuk mengabaikan limit rate tersebut (untuk scan port seperti SYN scan yang
<emphasis>tidak</emphasis> memperlakukan port non-responsiv sebagai
<literal moreinfo="none">open</literal>) dengan menspesifikasikan
<option>--defeat-rst-ratelimit</option>.</para>
<para>Dengan menggunakan opsi ini akan mengurangi akurasi, karena beberapa port akan tampak
non-responsiv karena Nmap tidak menunggu cukup lama untuk respon RST yang rate-limited.
Dengan SYN scan, hasil non-respon dalam port akan ditandai dengan status
<literal moreinfo="none">filtered</literal> alih-alih <literal moreinfo="none">closed</literal>
ketika menerima paket RST. Tambahan ini berguna ketika anda hanya perlu
port terbuka, dan beda antara port
<literal moreinfo="none">closed</literal> dan <literal moreinfo="none">filtered</literal>
tidak cukup berharga.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-T
paranoid|sneaky|polite|normal|aggressive|insane</option>
(Set a timing template)
<indexterm significance="normal"><primary><option>-T</option></primary></indexterm>
<indexterm significance="normal"><primary>timing templates</primary><seealso><literal moreinfo="none">paranoid</literal>, <literal moreinfo="none">sneaky</literal>, <literal moreinfo="none">polite</literal>, <literal moreinfo="none">normal</literal>, <literal moreinfo="none">aggressive</literal>, and <literal moreinfo="none">insane</literal></seealso></indexterm>
</term>
<listitem>
<indexterm significance="normal"><primary><option>-T0</option></primary><see><literal moreinfo="none">paranoid</literal> timing template</see></indexterm>
<indexterm significance="normal"><primary><option>-T1</option></primary><see><literal moreinfo="none">sneaky</literal> timing template</see></indexterm>
<indexterm significance="normal"><primary><option>-T2</option></primary><see><literal moreinfo="none">polite</literal> timing template</see></indexterm>
<indexterm significance="normal"><primary><option>-T3</option></primary><see><literal moreinfo="none">normal</literal> timing template</see></indexterm>
<indexterm significance="normal"><primary><option>-T4</option></primary><see><literal moreinfo="none">aggressive</literal> timing template</see></indexterm>
<indexterm significance="normal"><primary><option>-T5</option></primary><see><literal moreinfo="none">insane</literal> timing template</see></indexterm>
<para>Meski kendali waktu fine-grained yang didiskusikan dalam bagian sebelumnya
adalah powerful dan efektif, beberapa orang menganggapnya membingungkan.
Terlebih lagi, memilih nilai yang tepat terkadang membutuhkan waktu lebih lama
daripada pemeriksaan yang ingin dioptimisasi. Sehingga Nmap menawarkan pendekatan
yang lebih mudah, dengan enam template waktu. Anda dapat menspesifikasikannya dengan
opsi <option>-T</option> dan angkanya (05) atau namanya.
Nama templatenya adalah
<option>paranoid</option> (<option>0</option>),
<option>sneaky</option> (<option>1</option>),
<option>polite</option> (<option>2</option>),
<option>normal</option> (<option>3</option>),
<option>aggressive</option> (<option>4</option>),
dan <option>insane</option> (<option>5</option>).
Dua yang pertama adalah untuk menghindari IDS.
Mode Polite memperlambat scan untuk menggunakan lebih sedikit bandwidth
dan sumber daya mesin target. Mode Normal adalah bakunya sehingga
<option>-T3</option> tidak melakukan apapun. Mode Aggressive mempercepat scan
dengan membuat asumsi bahwa anda berada pada jaringan yang cepat dan handal.
Akhirnya, mode insane
<indexterm significance="normal"><primary><literal moreinfo="none">insane</literal> (template waktu <option>-T5</option>) </primary></indexterm>
mengasumsikan bahwa anda berada pada jaringan yang sangat cepat atau rela mengorbankan
akurasi demi kecepatan.</para>
<para>Kesemua template ini memungkinkan user menspesifikasikan seberapa mereka
ingin agresif, dan membiarkan Nmap memilih nilai pewaktuan yang tepat. Template
juga membuat beberapa penyesuaian kecepatan minor yang tidak dimiliki oleh kendali
fine-grained saat ini. Sebagai contoh,
<option>-T4</option><indexterm significance="normal"><primary><literal moreinfo="none">aggressive</literal> (template pewaktuan <option>-T4</option>)</primary></indexterm>
melarang delay scan dinamis melebihi 10 ms untuk port TCP dan <option>-T5</option> membatasi
nilai tersebut di 5 ms.
Template dapat digunakan dalam kombinasi dengan kendali fine-grained,
dan kendali fine-grained yang anda berikan akan mengambil alih
template pewaktuan baku untuk parameter tersebut. Saya merekomendasikan
penggunaan <option>-T4</option> ketika memeriksa jaringan modern dan handal.
Pertahankan opsi tersebut bahkan ketika anda menambah kendali
fine-grained sehingga anda memperoleh manfaat dari optimisasi minor yang diberikan.</para>
<para>Bila anda berada pada koneksi broadband atau ethernet yang memadai, saya akan
merekomendasikan untuk selalu menggunakan <option>-T4</option>. Beberapa orang mencintai
<option>-T5</option> meskipun itu terlalu agresif untuk selera saya. Orang terkadang
memberikan <option>-T2</option> karena mereka pikir ia lebih tidak mungkin akan menyebabkan
host crash atau karena mereka mengganggap dirinya secara umum sopan.
Mereka terkadang tidak menyadari betapa lambatnya <option>-T
polite</option><indexterm significance="normal"><primary><literal moreinfo="none">polite</literal> (<option>-T2</option>) timing template</primary></indexterm>.
Scan mereka akan membutuhkan waktu sepuluh kali lebih lama daripada scan baku.
Mesin crash dan masalah bandwidth adalah jarang dengan opsi pewaktuan baku
(<option>-T3</option>) sehingga normalnya saya merekomendasikan untuk
pemeriksa yang berhati-hati. Menghilangkan deteksi versi lebih efektif
daripada bermain dengan nilai pewaktuan dalam mengurangi masalah ini.</para>
<para>Meski
<option>-T0</option><indexterm significance="normal"><primary><literal moreinfo="none">paranoid</literal> (<option>-T0</option>) timing template</primary></indexterm>
dan <option>-T1</option><indexterm significance="normal"><primary><literal moreinfo="none">sneaky</literal> (<option>-T1</option>) timing template</primary></indexterm>
mungkin berguna untuk menghindari alert IDS, mereka akan membutuhkan waktu yang sangat lama
untuk memeriksa ribuan mesin atau port. Untuk scan yang demikian lama,
anda mungkin lebih menyukai menset nilai pewaktuan secara tepat anda butuhkan alih-alih
bergantung pada nilai template <option>-T0</option> and <option>-T1</option>.</para>
<para>Efek utama <option>T0</option> adalah serialisasi scan sehingga
hanya satu port yang diperiksa pada satu waktu, dan menunggu lima menit
antara pengiriman setiap probe. <option>T1</option> dan
<option>T2</option> adalah serupa namun mereka hanya menunggu 15 detik dan 0.4
detik, antar probe. <option>T3</option> merupakan perilaku baku Nmap, yang mencakup
paralelisasi.<indexterm significance="normal"><primary><literal moreinfo="none">normal</literal> (<option>-T3</option>) timing template</primary></indexterm>
<option>-T4</option>
ekivalen dengan <option>--max-rtt-timeout 1250
--initial-rtt-timeout 500 --max-retries 6</option> dan menset delay scan TCP maksimum ke
10 milidetik. <option>T5</option>
ekivalen dengan
<option>--max-rtt-timeout 300 --min-rtt-timeout 50
--initial-rtt-timeout 250 --max-retries 2 --host-timeout 15m</option> dan juga
menset delay scan TCP maksimum ke 5 md.</para>
</listitem>
</varlistentry>
</variablelist>
<indexterm class="endofrange" startref="man-performance-indexterm" significance="normal"/>
<indexterm class="endofrange" startref="man-performance-timing-indexterm" significance="normal"/>
</refsect1>
<refsect1 id="man-bypass-firewalls-ids">
<title>Firewall/IDS Evasion and Spoofing</title>
<indexterm class="startofrange" id="man-bypass-filewalls-indexterm" significance="normal"><primary>firewalls</primary><secondary>bypassing</secondary></indexterm>
<indexterm class="startofrange" id="man-bypass-ids-indexterm" significance="normal"><primary>intrusion detection systems</primary><secondary>evading</secondary></indexterm>
<para>Banyak pionir Internet mempunyai visi jaringan terbuka global dengan
ruang alamat IP universal yang memungkinkan koneksi virtual antara dua node.
Hal ini membuat host bertindak sebagai peer sebenarnya, menyajikan dan
mengambil informasi satu sama lain. Orang dapat mengakses sistem di
rumah mereka dari tempat kerja, merubah seting kendali iklim atau
membuka pintu bagi tamu yang datang awal. Visi konektivitas universal ini
telah dibatasi dengan kekurangan ruang alamat dan masalah keamanan.
Di awal tahun 1990-an, organisasi mulai menggunakan firewall dengan tujuan
mengurangi konektivitas. Jaringan besar dibatasi dari Internet oleh proxy aplikasi,
network address translation, dan filter paket. Aliran informasi yang tidak terbatas
berubah menjadi regulasi ketat atas kanal komunikasi dan isi yang melaluinya.</para>
<para>Penghalang jaringan seperti firewall dapat membuat pemetaan jaringan
sukar. Ia tidak akan menjadi lebih mudah, karena mengurangi reconnaissance umum
adalah tujuan utama implementasi device tersebut. Namun demikian, Nmap menawarkan
banyak fitur untuk membantu memahami jaringan yang kompleks ini, dan untuk memverifikasi
bahwa filter bekerja sebagaimana yang diharapkan.
Ia bahkan mendukung mekanisme untuk melewati pertahanan yang diimplementasikan dengan buruk.
Salah satu metode terbaik untuk memahami postur keamanan jaringan anda adalah dengan
berusaha mengalahkannya. Tempatkan diri anda dalam pola pikir penyerang, dan gunakan
teknik-teknik dari bagian ini terhadap jaringan anda. Lakukan scan FTP bounce, scan idle,
serangan fragmentasi, atau berusaha melakukan tunnel melalui salah satu proxy anda.</para>
<para>Selain membatasi aktivitas jaringan, perusahaan semakin meningkatkan
pemantauan lalu lintas dengan intrusion detection systems (IDS).
Seluruh IDS utama menyertakan aturan yang dirancang untuk mendeteksi scan Nmap
karena scan terkadang merupakan awal serangan. Banyak dari produk-produk ini
yang sekarang berubah menjadi intrusion
<emphasis>prevention</emphasis> systems
(IPS)<indexterm significance="normal"><primary>intrusion prevention systems</primary><seealso>intrusion detection systems</seealso></indexterm>
yang secara aktif memblokir lalu lintas yang dianggap berbahaya.
Sayangnya bagi administrator jaringan dan vendor IDS, mendeteksi tujuan jahat
dengan menganalisis data paket merupakan masalah yang berat. Penyerang dengan kesabaran,
keahlian, dan bantuan opsi-opsi Nmap tertentu biasanya dapat melewati IDS tanpa terdeteksi.
Selain itu, administrator harus berurusan dengan hasil false positive dalam jumlah besar
sehingga aktivitas yang tidak berbahaya salah didiagnosa dan di-alert atau diblokir.</para>
<para>Terkadang orang menyarankan bahwa Nmap tidak seharusnya menawarkan fitur-fitur
untuk melewati aturan firewall atau menyelinap dari IDS. Mereka berargumen bahwa
fitur-fitur ini akan disalahgunakan oleh penyerang alih-alih digunakan oleh administrator
untuk memperbaiki keamanan. Permasalahan dengan logika ini adalah metode-metode tersebut
tetap akan digunakan oleh penyerang, yang akan mencari tool lain atau menambahkan
fungsionalitas tersebut ke dalam Nmap. Sedangkan, administrator akan merasa lebih sulit
melakukan pekerjaan mereka. Menggunakan server FTP yang telah dipatch dan modern adalah
pertahanan yang jauh lebih baik daripada mencegah penyebaran tool implementasi serangan
FTP bounce.
</para>
<para>Tidak ada peluru ajaib (atau opsi Nmap) untuk mendeteksi dan
menghindari firewall dan sistem IDS. Ia membutuhkan kemampuan dan pengalaman.
Tutorial adalah di luar cakupan panduan referensi ini, yang hanya mendaftarkan
opsi-opsi yang relevan dan menjelaskan apa yang mereka lakukan.</para>
<variablelist>
<varlistentry>
<term>
<option>-f</option> (fragment packets);
<option>--mtu</option> (using the specified MTU)
<indexterm significance="preferred"><primary><option>-f</option></primary></indexterm>
<indexterm significance="preferred"><primary><option>--mtu</option></primary></indexterm>
</term>
<listitem>
<para>Opsi <option>-f</option> menyebabkan scan yang diminta (termasuk
ping scan) untuk menggunakan paket IP terfragmentasi kecil. Idenya adalah
membagi header TCP ke beberapa paket untuk membuat filter paket, IDS, dan
gangguan lain kesulitan mendeteksi apa yang sedang anda lakukan. Hati-hatilah
dengan ini! Beberapa program memiliki kesulitan menangani paket-paket kecil ini.
Sniffer old-school bernama Sniffit akan menjadi segmentation faulted segera setelah
menerima fragmen pertama. Spesifikasikan opsi ini sekali, dan Nmap
membagi paket ke dalam delapan byte atau kurang setelah header IP.
Sehingga paket header TCP 20-byte akan dibagi ke dalam tiga paket.
Dua paket dengan delapan byte header TCP, dan satu paket dengan empat byte akhir.
Tentu saja setiap fragmen juga memiliki header IP. Spesifikasikan
<option>-f</option> lagi untuk menggunakan fragmen 16 byte (mengurangi
jumlah fragmen).<indexterm significance="normal"><primary><option>-f</option></primary><secondary>giving twice</secondary></indexterm>
Atau anda dapat menspesifikasikan ukuran offset anda sendiri dengan opsi
<option>--mtu</option>. Jangan berikan opsi
<option>-f</option> bila anda menggunakan <option>--mtu</option>. Offset harus
merupakan kelipatan delapan. Meskipun paket fragmented tidak akan melewati
filter paket dan firewall yang membuat antrian seluruh fragment IP,
seperti opsi <varname>CONFIG_IP_ALWAYS_DEFRAG</varname> dalam kernel Linux,
beberapa jaringan tidak dapat mengatasi kerugian kinerja yang disebabkannya dan
membiarkan opsi tersebut tidak aktif. Yang lain tidak dapat mengaktifkannya
karena fragmen dapat mengambil rute yang berbeda ke jaringan mereka.
Beberapa sistem sumber mendeframentasi paket outgoing dalam kernel. Linux
dengan modul pelacakan koneksi iptable
<indexterm significance="normal"><primary>iptables</primary></indexterm>
adalah salah satu contohnya. Lakukan scan ketika sniffer seperti
<application moreinfo="none">Wireshark</application><indexterm significance="normal"><primary><application moreinfo="none">Wireshark</application></primary></indexterm>
berjalan untuk memastikan bahwa paket yang dikirim terfragmentasi. Jika OS
host anda menyebabkan masalah, cobalah opsi
<option>--send-eth</option><indexterm significance="normal"><primary><option>--send-eth</option></primary></indexterm>
untuk melewati lapisan IP dan mengirim frame ethernet raw.</para>
<para>Fragmentasi hanya didukung oleh fitur paket raw Nmap,
yang mencakup scan port TCP dan UDP (kecuali scan connect dan FTP
bounce scan) dan deteksi SO. Fitur seperti deteksi versi dan
Nmap Scripting Engine umumnya tidak mendukung fragmentasi karena mereka
tergantung pada stack TCP host anda untuk berkomunikasi dengan layanan target.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-D <replaceable>decoy1</replaceable><optional>,<replaceable>decoy2</replaceable></optional><optional>,ME</optional><optional>,...</optional></option>
(Cloak a scan with decoys)
<indexterm significance="normal"><primary><option>-D</option></primary></indexterm>
<indexterm significance="normal"><primary>decoys</primary></indexterm>
</term>
<listitem>
<para>Menyebabkan dilakukannya decoy scan, yang membuat
host remote menganggap bahwa host-host yang anda berikan sebagai
umpan (decoy) juga melakukan pemeriksaan jaringan target. Karenanya IDS mereka
mungkin melaporkan scan port sebanyak 510 dari alamat IP yang unik, tetapi
mereka tidak akan tahu IP mana yang memeriksa mereka dan mana yang umpan.
Meski hal ini dapat dikalahkan dengan router path tracing, response-dropping,
dan mekanisme aktif lainnya, namun ia umumnya merupakan teknik efektif untuk
menyembunyikan alamat IP anda.</para>
<para>Pisahkan setiap host umpan dengan koma, dan anda dapat
secara opsional menggunakan
<literal moreinfo="none">ME</literal><indexterm significance="normal"><primary><literal moreinfo="none">ME</literal> (decoy address)</primary></indexterm>
sebagai salah satu umpan untuk mewakili posisi alamat IP real anda.
Jika anda menempatkan
<literal moreinfo="none">ME</literal> pada posisi keenam atau lebih, beberapa
detektor scan port umum (seperti
Solar Designer's<indexterm significance="normal"><primary>Solar Designer</primary></indexterm>
Scanlogd yang bagus)<indexterm significance="normal"><primary><application moreinfo="none">Scanlogd</application></primary></indexterm>
tidak akan menampilkan alamat IP anda sama sekali.
Jika anda tidak menggunakan <literal moreinfo="none">ME</literal>, Nmap akan
menempatkan anda pada posisi acak. Anda dapat juga menggunakan
<literal moreinfo="none">RND</literal><indexterm significance="normal"><primary><literal moreinfo="none">RND</literal> (decoy address)</primary></indexterm>
untuk menghasilkan alamat IP acak dan non-reserved, atau
<literal moreinfo="none">RND:<replaceable>number</replaceable></literal> untuk
menghasilkan alamat <replaceable>number</replaceable> </para> <para>Perhatikan bahwa host
yang anda gunakan sebagai umpan harus hidup atau anda akan secara tidak sengaja
mebanjiri target anda dengan SYN. Juga mudah menentukan host mana yang memeriksa
jika hanya satu host saja yang hidup pada jaringan. Anda mungkin ingin
menggunakan alamat IP alih-alih nama (sehingga jaringan umpan tidak melihat
anda dalam log DNS mereka).</para>
<para>Umpan digunakan dalam scan ping awal (menggunakan
ICMP, SYN, ACK, atau apapun) dan selama fase pemeriksaan port.
Umpan juga digunakan selama deteksi SO (<option>-O</option>).
Umpan tidak bekerja dengan deteksi versi atau scan connect TCP.
Ketika berlaku scan delay, delay ditegakkan antara setiap batch
probe palsu, tidak antara setiap probe invididual. Karena umpan
dikirim sebagai satu batch keseluruhan, mereka mungkin melanggar
batasan kendali kongesti secara sementara.</para>
<para>Penting diperhatikan bahwa penggunaan terlalu banyak umpan
mungkin memperlambat scan anda dan secara potensial membuatnya
kurang akurat. Dan juga, beberapa ISP akan menyaring paket-paket palsu
anda, namun banyak juga yang tidak membatasi paket IP palsu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-S <replaceable>IP_Address</replaceable></option> (Spoof source address)
<indexterm significance="normal"><primary><option>-S</option></primary></indexterm>
<indexterm significance="normal"><primary>spoofing source address</primary></indexterm>
</term>
<listitem>
<para>Dalam beberapa keadaan, Nmap mungkin tidak dapat menentukan
alamat sumber anda (Nmap akan memberitahu anda hal ini).
Dalam situasi ini, gunakan <option>-S</option> dengan alamat IP
interface yang ingin anda gunakan untuk mengirim paket.</para>
<para>Kemungkinan lain penggunaan flag ini adalah untuk memalsukan scan
untuk membuat target berpikir bahwa <emphasis>orang lain </emphasis>
sedang memeriksa mereka. Bayangkan sebuah perusahaan sedang diperiksa
portnya secara berulang-ulang oleh pesaing! Opsi
<option>-e</option> dan <option>-PN</option> umumnya dibutuhkan
untuk penggunaan seperti ini. Perhatikan bahwa anda biasanya
tidak menerima paket reply (mereka akan ditujukan ke alamat IP
yang anda palsukan), sehingga Nmap tidak akan menghasilkan laporan
yang berguna.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-e <replaceable>interface</replaceable></option> (Use specified interface)
<indexterm significance="normal"><primary><option>-e</option></primary></indexterm>
<indexterm significance="normal"><primary>interface</primary><seealso><option>-e</option></seealso></indexterm>
</term>
<listitem>
<para>Memberitahu Nmap interface untuk mengirim dan menerima paket.
Nmap seharusnya dapat mendeteksinya secara otomatis, namun ia akan
memberitahu anda bila ia tidak dapat melakukannya.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--source-port <replaceable>portnumber</replaceable>;</option>
<option>-g <replaceable>portnumber</replaceable></option> (Spoof source port number)
<indexterm significance="preferred"><primary><option>--source-port</option></primary></indexterm>
<indexterm significance="preferred"><primary><option>-g</option></primary></indexterm>
<indexterm significance="normal"><primary>source port number</primary></indexterm>
</term>
<listitem>
<para>Salah satu kesalahan konfigurasi umum yang mengagetkan adalah mempercayai
lalu lintas hanya berdasarkan nomor port sumber. Adalah mudah memahami bagaimana
hal ini terjadi. Administrator akan mensetup firewall baru, hanya untuk dibanjiri
dengan keluhan user yang aplikasinya berhenti bekerja. Secara khusus, DNS mungkin
tidak berfungsi karena reply UDP DNS dari server eksternal tidak dapat lagi memasuki
jaringan. FTP adalah contoh umum lainnya. Dalam transfer FTP aktif, server remote
berusaha membuka koneksi ke klien untuk mengirim file yang diminta.</para>
<para>Terdapat solusi aman untuk masalah ini, seringkali berupa proxy
level-aplikasi atau modul firewall protocol-parsing. Sayangnya terdapat
pula solusi yang lebih mudah dan tidak aman. Dengan memperhatikan bahwa
balasan DNS datang dari port 53 dan active FTP dari port 20, banyak aadministrator
terjebak dengan membolehkan lalu lintas incoming dari port-port ini.
Mereka terkadang berasumsi bahwa tidak ada penyerang akan memperhatikan dan
memanfaatkan lubang firewall ini. Dalam kasus lain, administrator menganggap ini
sebagai solusi sementara hingga mereka dapat mengimplementasikan solusi yang lebih aman.
Lalu mereka lupa melakukan upgrade keamanan.
</para>
<para>Administrator jaringan yang terlalu banyak kerja bukan satu-satunya yang
jatuh dalam jebakan ini. Sejumlah produk dikirim dengan rule tidak aman ini.
Bahkan Microsoft telah bersalah. Filter IPsec yang disertakan dengan
Windows 2000 dan Windows XP berisikan sebuah rule implisit yang membolehkan
semua lalu lintas TCP atau UDP dari port 88 (Kerberos). Dalam kasus terkenal lain,
firewall personal Zone Alarm hingga versi 2.1.25
membolehkan sembarang paket UDP incoming dengan port sumber 53 (DNS) atau 67
(DHCP).</para>
<para>Nmap menawarkan opsi <option>-g</option> dan
<option>--source-port</option> (mereka ekivalen) untuk mengeksploitasi
kelemahan ini. Cukup berikan nomor port dan Nmap akan mengirim paket
dari port itu bila memungkinkan. Nmap harus menggunakan nomor port yang berbeda
bagi beberapa tes deteksi SO tertentu agar bekerja dengan benar, dan request DNS
mengabaikan flag <option>--source-port</option> karena Nmap mengandalkan pada librari sistem
untuk menangani hal ini. Kebanyakan scan TCP, termasuk SYN scan,
mendukung opsi secara penuh, demikian pula scan UDP.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--data-length <replaceable>number</replaceable></option> (Append random
data to sent packets)
<indexterm significance="normal"><primary><option>--data-length</option></primary></indexterm>
</term>
<listitem>
<para>Normalnya Nmap mengirim paket minimalis yang hanya berisi header.
Sehingga paket TCP umumnya berukuran 40 byte dan request ICMP echo cuma 28.
Opsi ini memberitahu Nmap untuk menambahkan random byte sejumlah tertentu
untuk kebanyakan paket yang dikirimnya.
Paket deteksi SO (<option>-O</option>) tidak terpengaruh
<indexterm significance="normal"><primary><option>--data-length</option></primary><secondary>no effect in OS detection</secondary></indexterm>
karena akurasinya membutuhkan konsistensi probe, namun kebanyakan paket ping
dan portscan mendukung opsi ini. Ia sedikit memperlambat, namun dapat membuat
scan tidak terlalu mencurigakan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--ip-options <replaceable>S|R [route]|L [route]|T|U ... </replaceable>;</option>
<option>--ip-options <replaceable>hex string</replaceable></option> (Send packets with specified ip options)
<indexterm significance="normal"><primary><option>--ip-options</option></primary></indexterm>
<indexterm significance="normal"><primary>IP options</primary></indexterm>
</term>
<listitem>
<para><ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc791.txt">Protokol IP
</ulink> menawarkan beberapa opsi yang dapat ditempatkan pada header paket.
Tidak seperti opsi TCP yang umum, opsi IP jarang ditemukan karena masalah
kepraktisan dan keamanan. Nyatanya, banyak router Internet memblokir opsi yang
paling berbahaya seperti source routing. Namun opsi dapat tetap berguna
dalam beberapa kasus untuk menentukan dan memanipulasi rute jaringan ke
mesin target. Sebagai contoh, anda mungkin dapat menggunakan opsi record
route untuk menentukan path ke target bahkan ketika pendekatan tradisional
bergaya traceroute gagal. Atau bila paket anda di-drop oleh firewall tertentu,
anda mungkin dapat menspesifikasikan rute yang berbeda dengan opsi source
routing yang ketat atau longgar.</para>
<para>Cara paling powerful untuk menspesifikasikan opsi IP adalah cukup dengan
memberikan nilainya sebagai argumen ke
<option>--ip-options</option>. Dahului setiap angka hex dengan
<literal moreinfo="none">\x</literal> lalu dua digit. Anda dapat mengulang
karakter tertentu dengan menambahkan tanda bintang dan diikuti jumlah
perulangan yang anda inginkan. Sebagai contoh,
<literal moreinfo="none">\x01\x07\x04\x00*36\x01</literal> adalah sebuah string hex
berisi 36 NUL byte.</para>
<para>Nmap juga menawarkan mekanisme shortcut untuk menspesifikasikan opsi.
Cukup berikan huruf <literal moreinfo="none">R</literal>,
<literal moreinfo="none">T</literal>, atau <literal moreinfo="none">U</literal> untuk meminta
record-route,<indexterm significance="normal"><primary>record route IP option</primary></indexterm>
record-timestamp,<indexterm significance="normal"><primary>record timestamp IP option</primary></indexterm>
atau keduanya,
Source routing<indexterm significance="normal"><primary>source routing</primary></indexterm>
ketat atau longgar dapat dispesifikasikan dengan tanda
<literal moreinfo="none">L</literal> atau <literal moreinfo="none">S</literal> diikuti oleh
spasi dan kemudian daftar alamat IP yang dipisah-spasi.</para>
<para>Jika anda ingin melihat opsi dalam paket yang dikirim dan diterima,
berikan <option>--packet-trace</option>. Informasi dan contoh lebih lanjut
tentang penggunaan opsi IP dengan Nmap, dapat dilihat di
<ulink url="https://seclists.org/nmap-dev/2006/q3/0052.html"/>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--ttl <replaceable>value</replaceable></option> (Set IP time-to-live field)
<indexterm significance="normal"><primary><option>--ttl</option></primary></indexterm>
<indexterm significance="normal"><primary>time to live (TTL)</primary></indexterm>
</term>
<listitem>
<para>Set field time-to-live IPv4 dalam paket yang dikirim ke nilai
yang diberikan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--randomize-hosts</option> (Randomize target host order)
<indexterm significance="preferred"><primary><option>--randomize-hosts</option></primary></indexterm>
<indexterm significance="normal"><primary>randomization of hosts</primary></indexterm>
</term>
<listitem>
<para>Beritahu Nmap untuk mengacak setiap kelompok hingga 16384 host
sebelum memeriksa merekaa. Hal ini dapat membuat scan kurang mencurigakan
bagi berbagai sistem monitoring jaringan, terutama bila anda menggabungkannya
dengan opsi pewaktuan yang lambat. Jika anda ingin mengacak dalam ukuran yang
lebih besar, naikkan nilai
<varname>PING_GROUP_SZ</varname><indexterm significance="normal"><primary><varname>PING_GROUP_SZ</varname></primary></indexterm>
dalam <filename moreinfo="none">nmap.h</filename><indexterm significance="normal"><primary><filename moreinfo="none">nmap.h</filename></primary></indexterm>
dan kompilasi ulang.
Solusi alternatif adalah menghasilkan daftar IP target dengan
list scan (<option>-sL -n -oN
<replaceable>filename</replaceable></option>), acaklah dengan skrip Perl,
lalu berikan seluruh daftar ke Nmap dengan
<option>-iL</option>.<indexterm significance="normal"><primary><option>-iL</option></primary><secondary>randomizing hosts with</secondary></indexterm>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--spoof-mac <replaceable>MAC address, prefix, or vendor
name</replaceable></option> (Spoof MAC address)
<indexterm significance="preferred"><primary><option>--spoof-mac</option></primary></indexterm>
<indexterm significance="normal"><primary>spoofing MAC address</primary></indexterm>
</term>
<listitem>
<para>Meminta Nmap untuk menggunakan alamat MAC
<indexterm significance="normal"><primary>MAC address</primary></indexterm>
yang diberikan untuk seluruh frame ethernet raw yang dikirimkan. Opsi ini mengimplikasikan
<option>--send-eth</option><indexterm significance="normal"><primary><option>--send-eth</option></primary><secondary>implied by <option>--spoof-mac</option></secondary></indexterm>
untuk memastikan bahwa Nmap benar-benar mengirim paket level-ethernet.
MAC yang diberikan dapat dalam beragam format. Jika berupa angka <literal moreinfo="none">0</literal>, Nmap memilih alamat MAC yang acak untuk sesi itu.
Jika string yang diberikan adalah angka genap digit hex (setiap digit berpasangan
dipisahkan oleh tanda titik dua), Nmap akan menggunakannya sebagai MAC.
Jika diberikan kurang dari 12 digit hex, Nmap mengisi sisa 6 byte-nya dengan nilai acak.
Jika argumen bukanlah nol atau string hex, Nmap mencari melalui file
<filename moreinfo="none">nmap-mac-prefixes</filename> untuk menemukan nama vendor
berisikan string yang diberikan (tidak case sensitive). Jika ditemukan kecocokan,
Nmap menggunakan OUI (three-byte prefix)<indexterm significance="normal"><primary>organizationally unique identifier (OUI)</primary><seealso><filename moreinfo="none">nmap-mac-prefixes</filename></seealso></indexterm> vendor
dan mengisi tiga byte sisanya secara random.
Contoh argumen yang valid <option>--spoof-mac</option> adalah <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>, dan <literal moreinfo="none">Cisco</literal>. Opsi ini hanya mempengaruhi scan paket raw seperti SYN scan atau deteksi SO, dan tidak berlaku pada fitur berorientasi-koneksi seperti deteksi versi atau Nmap Scripting Engine.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--badsum</option> (Send packets with bogus TCP/UDP checksums)
<indexterm significance="normal"><primary><option>--badsum</option></primary></indexterm>
<indexterm significance="normal"><primary>TCP checksum</primary></indexterm>
<indexterm significance="normal"><primary>checksums</primary></indexterm>
</term>
<listitem>
<para>Meminta Nmap untuk menggunakan checksum TCP atau UDP tidak valid untuk
paket yang dikirimkan ke host target. Karena secara virtual seluruh
stack IP host akan secara tepat men-drop paket ini, sembarang respon yang diterima
adalah kemungkinan berasal dari firewall atau IDS yang tidak peduli untuk memverifikasi
checksum. Detil lebih lanjut mengenai teknik ini, dapat dilihat pada <ulink url="https://nmap.org/p60-12.html"/></para>
</listitem>
</varlistentry>
</variablelist>
<indexterm class="endofrange" startref="man-bypass-ids-indexterm" significance="normal"/>
<indexterm class="endofrange" startref="man-bypass-filewalls-indexterm" significance="normal"/>
</refsect1>
<refsect1 id="man-output">
<title>Output</title>
<indexterm class="startofrange" id="man-output-indexterm" significance="normal"><primary>output formats</primary></indexterm>
<para>Manfaat tool keamanan ditentukan oleh output yang dihasilkannya.
Algoritma dan tes yang kompleks tidaklah berguna bila mereka
tidak dipresentasikan dalam cara yang terorganisir dan lengkap.
Dengan beragamnya cara penggunaan Nmap oleh orang dan software lainnya,
tidak ada format yang dapat memuaskan semuanya. Sehingga Nmap memberikan
beberapa format, termasuk mode interaktif agar manusia dapat membaca secara langsung
dan XML untuk memudahkan parsing oleh software.</para>
<para>Selain memberikan beragam format output, Nmap juga menyediakan
opsi untuk mengendalikan verbositas output dan pesan debug.
Tipe output dapat dikirim ke output standar atau ke file.
File output dapat pula digunakan untuk meresume scan.</para>
<para>Nmap menyediakan output dalam lima format berbeda.
Bakunya disebut
<firstterm>interactive output</firstterm>,<indexterm significance="normal"><primary>interactive output</primary></indexterm>
dan dikirimkan ke output standar
(stdout).<indexterm significance="normal"><primary>standard output</primary></indexterm>
Terdapat juga
<firstterm>normal output</firstterm>,<indexterm significance="normal"><primary>normal output</primary></indexterm>
yang serupa dengan interaktif kecuali ia memberikan lebih sedikit informasi
runtime dan peringatan karena ia diharap akan dianalisis
setelah scan setelah alih-alih secara interaktif.</para>
<para><firstterm>XML output</firstterm><indexterm significance="normal"><primary>XML output</primary></indexterm>
adalah salah stau tipe output paling penting, karena ia dapat dikonversi
ke HTML, dapat secara mudah diparse oleh program seperti Nmap graphical
user interfaces, atau diimpor ke database.</para>
<para>Dua output terakhir adalah
<firstterm>grepable output</firstterm><indexterm significance="normal"><primary>grepable output</primary></indexterm> sederhana
yang menyertakan informasi host target pada satu baris tunggal, dan
<firstterm>sCRiPt KiDDi3 0utPUt</firstterm><indexterm significance="normal"><primary sortas="script kiddie output">scR1pT kIddI3 output</primary></indexterm>
bagi user yang mengganggap dirinya sebagai
|&lt;-r4d.</para>
<para>Meskipun output interaktif merupakan bakunya dan tidak memiliki
opsi command-line, opsi keempat format lainnya menggunakan sintaks yang sama.
Mereka mengambil satu argumen, nama file tempat menampung hasil.
User dapat menspesifikasikan banyak format, namun setiap format hanya boleh
dispesifikasikan satu kali. Sebagai contoh, anda mungkin ingin menyimpan
output normal untuk review anda dan output XML untuk analisis programatik.
Anda dapat melakukan hal ini dengan opsi
<option>-oX myscan.xml -oN myscan.nmap</option>. Walau bab ini
menggunakan nama sederhana seperti <literal moreinfo="none">myscan.xml</literal> untuk singkatnya,
disarankan untuk menggunakan nama yang lebih deskriptif. Nama yang dipilih
merupakan masalah preferensi personal, meski saya menggunakan nama panjang yang
menyertakan tanggal scan dan kata yang menjelaskan scan, ditempatkan dalam sebuah
direktori dengan nama perusahaan yang saya periksa.</para>
<para>Meski opsi-opsi ini menyimpan hasil ke file, Nmap tetap mencetak output interaktif
ke stdout seperti biasa. Sebagai contoh, perintah
<command moreinfo="none">nmap -oX myscan.xml target</command> mencetak XML ke
<filename moreinfo="none">myscan.xml</filename> dan mengisi seluruh output standar dengan hasil interaktif yang sama dengan yang akan dicetaknya bila <option>-oX</option>
tidak diberikan. Anda dapat merubahnya dengan memberikan karakter hyphen
sebagai argumen ke salah satu tipe format. Hal ini membuat Nmap
menonaktifkan output interaktif, dan mencetak hasilnya dalam format yang
anda spesifikasikan ke stream output standar. Sehingga perintah
<command moreinfo="none">nmap -oX - target</command> hanya akan mengirim output XML ke
stdout.<indexterm significance="normal"><primary>output</primary><secondary>to stdout with <literal moreinfo="none">-</literal></secondary></indexterm>
Kesalahan serius akan tetap dicetak ke stream kesalahan normal,
stderr.<indexterm significance="normal"><primary>standard error</primary></indexterm>
</para>
<para>Tidak seperti beberapa argumen Nmap, spasi antara flag opsi logfile
(seperti <option>-oX</option>) dan namafile atau hyphen adalah wajib.
Jika anda menghilangkan flag dan memberi argumen seperti
<option>-oG-</option> or <option>-oXscan.xml</option>, fitur kompatibiltas backward
Nmap akan menyebabkan pembuatan
<emphasis>normal format</emphasis> file output bernama
<filename moreinfo="none">G-</filename> dan <filename moreinfo="none">Xscan.xml</filename>.</para>
<para>Seluruh argumen ini mendukung konversi
<function moreinfo="none">strftime</function>-like<indexterm significance="normal"><primary><function moreinfo="none">strftime</function> conversions in filenames</primary></indexterm>
dalam namafile. <literal moreinfo="none">%H</literal>, <literal moreinfo="none">%M</literal>,
<literal moreinfo="none">%S</literal>, <literal moreinfo="none">%m</literal>, <literal moreinfo="none">%d</literal>,
<literal moreinfo="none">%y</literal>, dan <literal moreinfo="none">%Y</literal> semuanya serupa seperti dalam
<function moreinfo="none">strftime</function>. <literal moreinfo="none">%T</literal> sama dengan
<literal moreinfo="none">%H%M%S</literal>, <literal moreinfo="none">%R</literal> sama dengan
<literal moreinfo="none">%H%M</literal>, dan <literal moreinfo="none">%D</literal> sama dengan
<literal moreinfo="none">%m%d%y</literal>. Sebuah <literal moreinfo="none">%</literal> diikuti dengan sembarang karakter hanya menghasilkan karakter itu
(<literal moreinfo="none">%%</literal> memberikan simbol persentase.
Sehingga <option>-oX 'scan-%T-%D.xml'</option> akan menggunakan file XML
dalam bentuk <filename moreinfo="none">scan-144840-121307.xml</filename>.</para>
<para>Nmap juga menawarkan opsi untuk mengendalikan verbositas scan dan untuk menambah
file output daripada menghapusnya. Seluruh opsi ini dijelaskan di bawah.</para>
<variablelist><title>Format Output Nmap</title>
<varlistentry>
<term>
<option>-oN <replaceable>filespec</replaceable></option> (normal output)
<indexterm significance="normal"><primary><option>-oN</option></primary></indexterm>
<indexterm significance="normal"><primary>normal output</primary></indexterm></term>
<listitem>
<para><literal moreinfo="none">normal output</literal> akan diarahkan
ke nama file yang diberikan. Seperti yang didiskusikan di atas, opsi ini
sedikit berbeda dari <literal moreinfo="none">interactive output</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-oX <replaceable>filespec</replaceable></option> (XML output)
<indexterm significance="normal"><primary><option>-oX</option></primary></indexterm>
<indexterm significance="normal"><primary>XML output</primary></indexterm></term>
<listitem>
<para><literal moreinfo="none">XML output</literal> diarahkan
ke namafile yang diberikan. Nmap menyertakan document
type definition (DTD) yang memungkinkan parser XML memvalidasi
output XML Nmap. Walau utamanya ditujukan untuk penggunaan programatik,
ia dapat juga membantu manusia menginterpretasikan output XML Nmap.
DTD mendefinisikan elemen legal format, dan seringkali merinci atribut
dan nilai yang dapat mereka terima.
Versi terakhir selalu tersedia di <ulink url="https://nmap.org/data/nmap.dtd"/>.</para>
<para>XML memberikan format stabil yang dapat secara mudah
diparse oleh software. Parser XML yang bebas tersedia untuk bahasa
pemrograman utama, termasuk C/C++, Perl, Python, dan
Java. Orang bahkan telah menulis binding untuk kebanyakan bahasa ini untuk
menangani output Nmap dan dijalankan secara khusus.
Contohnya adalah <ulink url="http://sourceforge.net/projects/nmap-scanner/">Nmap::Scanner</ulink>
<indexterm significance="normal"><primary>Nmap::Scanner</primary></indexterm>
and <ulink url="http://nmapparser.wordpress.com/">Nmap::Parser</ulink>
<indexterm significance="normal"><primary>Nmap::Parser</primary></indexterm>
dalam Perl
CPAN. Dalam kebanyakan kasus bagi interface aplikasi dengan Nmap yang sulit,
XML merupakan format yang lebih disukai.</para>
<para>Output XML mengacu ke XSL stylesheet yang dapat digunakan
untuk memformat hasilnya sebagai HTML. Cara termudah menggunakan file ini
adalah dengan memuat output XML dalam sebuah browser web seperti
Firefox atau IE. Secara baku, ini hanya bekerja pada mesin
tempat anda menjalankan Nmap (atau yang dikonfigurasi serupa)
akibat path sistem file <filename moreinfo="none">nmap.xsl</filename>
yang di-hardcoded. Gunakan opsi <option>--webxml</option> atau
<option>--stylesheet</option> untuk membuat file XML portabel
yang dibaca sebagai HTML pada semua mesin yang dapat terkoneksi ke web.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-oS <replaceable>filespec</replaceable></option> (ScRipT KIdd|3 oUTpuT)
<indexterm significance="normal"><primary><option>-oS</option></primary></indexterm>
<indexterm significance="normal"><primary sortas="script kiddie output">scR1pT kIddI3 output</primary></indexterm></term>
<listitem>
<para>Output ini seperti output interaktif, kecuali kemudian ia diprose lagi
agar sesuai dengan l33t HaXXorZ yang sebelumnya merendahkan Nmap karena
kapitalisasi dan ejaan yang konsisten. Perlu diperhatikan bahwa opsi ini
mengolok-olok script kiddies alih-alih <quote>membantu mereka</quote>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-oG <replaceable>filespec</replaceable></option> (grepable output)
<indexterm significance="normal"><primary><option>-oG</option></primary></indexterm>
<indexterm significance="normal"><primary>grepable output</primary></indexterm></term>
<listitem>
<para>Format output ini dijelaskan terakhir karena telah didepresiasi.
Format output XML jauh lebih powerful, dan juga cukup nyaman bagi
pengguna berpengalaman. XML merupakan standar yang memiliki lusinan parser bagus,
sementara output grepable merupakan hack sederhana buatan saya.
XML dapat dikembangkan untuk mendukung fitur baru Nmap ketika dirilis,
sementara saya seringkali harus menghilangkan fitur-fitur tersebut dari
output grepable karena tidak ada tempat untuk menaruh mereka.</para>
<para>Namun demikian, output grepable masih cukup populer. Ia merupakan format
sederhana yang mendaftar setiap host pada satu baris dan dapat secara mudah
dicari dan diparse dengan tool standar Unix seperti grep, awk, cut,
sed, diff, dan Perl. Bahkan saya menggunakannya untuk test sekali yang dilakukan
pada perintah beris. Menemukan seluruh host dengan port SSH terbuka atau yang
menjalankan Solaris hanya membutuhkan satu grep sederhana untuk mengidentifikasikan host,
yang di-pipe ke perintah awk atau cut untuk mencetak field yang diinginkan.</para>
<para>Output grepable terdiri dari komentar (baris yang dimulai dengan tanda
pound (#))<indexterm significance="normal"><primary>grepable output</primary><secondary>comments in</secondary></indexterm>
dan baris target. Sebuah baris target menyertakan kombinasi enam field berlabel, yang dipisahkan
oleh tab dan diikuti oleh tanda titik dua.
Field-fieldnya adalah <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">IP ID</literal>, dan <literal moreinfo="none">Status</literal>.</para>
<para>Field yang paling penting umumnya adalah
<literal moreinfo="none">Ports</literal>, yang memberikan detil pada setiap port yang menarik.
Ia merupakan daftar entri port yang dibatasi koma. Setiap entri port mewakili satu port menarik,
dan memiliki bentuk subfield yang dibatasi oleh tujuh garis miring (/).
Subfieldnya adalah: <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>, dan <literal moreinfo="none">Version info</literal>.</para>
<para>Sebagaimana dengan output XML, man page ini tidak memungkinkan untuk mendokumentasi
seluruh format. Rincian lebih lanjut mengenai format output grepable Nmap tersedia
<man>dari <ulink url="https://nmap.org/book/output-formats-grepable-output.html"/>.</man>
<notman>dalam <xref linkend="output-formats-grepable-output"/>.</notman>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-oA <replaceable>basename</replaceable></option> (Output to all formats)
<indexterm significance="preferred"><primary><option>-oA</option></primary></indexterm></term>
<listitem><para>
Sebagai kenyamanan, anda dapat menspesifikasikan <option>-oA
<replaceable>basename</replaceable></option> untuk menyimpan hasil scan
dalam format normal, XML, dan grepable sekaligus. Mereka disimpan dalam
<filename moreinfo="none"><replaceable>basename</replaceable>.nmap</filename>,
<filename moreinfo="none"><replaceable>basename</replaceable>.xml</filename>, dan
<filename moreinfo="none"><replaceable>basename</replaceable>.gnmap</filename>.
Seperti kebanyakan program, anda dapat memberi awalan nama file dengan path direktori,
seperti
<filename moreinfo="none">~/nmaplogs/foocorp/</filename> pada Unix atau
<filename moreinfo="none">c:\hacking\sco</filename> pada Windows.</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist><title>Opsi verbositas dan debugging</title>
<varlistentry>
<term>
<option>-v</option> (Increase verbosity level)
<indexterm significance="normal"><primary><option>-v</option></primary></indexterm>
<indexterm significance="normal"><primary>verbosity</primary></indexterm>
</term>
<listitem>
<para>Peningkatan level verbositas, menyebabkan Nmap mencetak
lebih banyak informasi tentang scan yang sedang berjalan. Port
terbuka ditunjukkan saat ditemukan dan prakiraan waktu selesai disediakan
ketika Nmap berpikir scan akan membutuhkan lebih dari beberapa menit.
Gunakan dua kali atau lebih untuk lebih meningkatkan verbositas.
<indexterm significance="normal"><primary><option>-v</option></primary><secondary>giving more than once</secondary></indexterm>
</para>
<para>Kebanyakan perubahan hanya mempengaruhi output interaktif, dan
beberapa juga mempengaruhi output normal dan script kiddie. Tipe output
lainnya ditujukan untuk diproses oleh mesin, sehingga Nmap
dapat memberikan detil yang substansial dalam format tersebut tanpa
melelahkan user. Namun demikian, terdapat beberapa perubahan dalam
mode lainnya ketika ukuran output dapat dikurangi secara berarti dengan
meniadakan beberapa detil. Sebagai contoh, baris perintah dalam output
grepable yang memberikan daftar seluruh port yang discan hanya dicetak
dalam mode verbose karena ia cukup panjang.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-d [level]</option> (Increase or set debugging level)
<indexterm significance="normal"><primary><option>-d</option></primary></indexterm>
<indexterm significance="normal"><primary>debugging</primary></indexterm>
</term>
<listitem>
<para>Ketika mode verbose tidak memberikan data yang cukup bagi anda,
tersedia debugging untuk membanjiri anda dengan data! Sebagaimana dengan
opsi verbositas (<option>-v</option>), debugging diaktifkan dengan flag
perintah baris (<option>-d</option>) dan level debug dapat ditingkatkan
dengan menspesifikasikannya berulang kali.
<indexterm significance="normal"><primary><option>-d</option></primary><secondary>giving more than once</secondary></indexterm>
Selain itu, anda dapat menset level debug dengan memberikan argumen ke <option>-d</option>. Sebagai
contoh, <option>-d9</option> menset level sembilan. Itu adalah level efektif
tertinggi dan akan menghasilkan ribuan baris kecuali anda menjalankan scan yang sangat
sederhana dengan sedikit port dan target.</para>
<para>Debugging output berguna ketika diduga terdapat bug dalam Nmap,
atau anda bingung mengenai apa yang dilakukan Nmap dan alasannya. Karena
fitur ini lebih ditujukan bagi pengembang, baris debug tidak selalu jelas.
Anda mungkin akan menemui sesuatu seperti : <computeroutput moreinfo="none">Timeout
vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==&gt; srtt: 14987
rttvar: 14987 to: 100000</computeroutput>. Jika anda tidak memahami sebuah baris,
anda dapat mengabaikannya, mencarinya dalam kode sumber, atau meminta bantuan
dari list pengembangan
(<citetitle>nmap-dev</citetitle>).<indexterm significance="normal"><primary><citetitle>nmap-dev</citetitle> mailing list</primary></indexterm>
Beberapa baris cukup jelas, namun pesannya dapat semakin tidak jelas ketika level debug
dinaikkan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--reason</option> (Host and port state reasons)
<indexterm significance="normal"><primary><option>--reason</option></primary></indexterm>
<indexterm significance="normal"><primary>reason reporting</primary><see><option>--reason</option></see></indexterm>
</term>
<listitem>
<para>
Tampilkan alasan setiap port diset ke status khusus dan alasan setiap host up
atau down. Opsi ini menampilkan tipe paket yang menentukan status port atau host.
Sebagai contoh, sebuah paket <literal moreinfo="none">RST</literal> dari
port tertutup atau echo reply dari host yang hidup. Informasi yang disediakan
Nmap ditentukan oleh jenis scan atau ping. Scan SYN dan
ping SYN (<option>-sS</option> dan <option>-PS</option>) sangat rinci, namun
TCP connect scan (<option>-sT</option>) dibatasi oleh implementasi
system call <function moreinfo="none">connect</function>. Fitur ini secara otomatis
diaktifkan oleh opsi debug
(<option>-d</option>)<indexterm significance="normal"><primary><option>--reason</option></primary><secondary>implied by <option>-d</option></secondary></indexterm>
dan hasilnya disimpan dalam file log XML bahkan bila opsi ini tidak diberikan.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--stats-every <replaceable>time</replaceable></option> (Print periodic timing stats)
<indexterm significance="normal"><primary><option>--stats-every</option></primary></indexterm>
</term>
<listitem>
<para>
Mencetak status waktu secara periodik setelah setiap interval
<replaceable>time</replaceable>. Waktu adalah spesifikasi yang dijelaskan
dalam <xref linkend="man-performance"/>; sehingga sebagai contoh, gunakan
<command moreinfo="none">--stats-every 10s</command> untuk memperoleh update status
setiap 10 detik. Update dicetak ke output interaktif (layar) dan output XML.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--packet-trace</option> (Trace packets and data sent and received)
<indexterm significance="normal"><primary><option>--packet-trace</option></primary></indexterm>
</term>
<listitem>
<para>Menyebabkan Nmap untuk mencetak ringkasan seiap paket yang dikirim
atau diterima. Opsi ini seringkali digunakan untuk debugging, namun juga
bermanfaat bagi user baru untuk memahami secara tepat apa yang sebenarnya
dilakukan oleh Nmap. Untuk menghindari pencetakan ribuan baris, anda mungkin
ingin membatasi jumlah port yang ingin discan, seperti <option>-p20-30</option>.
Jika anda hanya mementingkan proses subsistem deteksi versi, gunakan
<option>--version-trace</option>. Jika anda hanya peduli dengan script tracing,
berikan <option>--script-trace</option>. Dengan <option>--packet-trace</option>, anda
memperoleh semua hal di atas.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--open</option> (Show only open (or possibly open) ports)
<indexterm significance="normal"><primary><option>--open</option></primary></indexterm>
</term>
<listitem>
<para>Terkadang anda hanya peduli tentang port yang benar-benar dapat dikoneksi
(<literal moreinfo="none">open</literal> ones), dan tidak ingin mengacaukan hasilnya dengan port
<literal moreinfo="none">closed</literal>, <literal moreinfo="none">filtered</literal>, dan
<literal moreinfo="none">closed|filtered</literal>. Kustomisasi output normalnya dilakukan
setelah scan dengan menggunakan tool seperti
<application moreinfo="none">grep</application>, <application moreinfo="none">awk</application>, dan
<application moreinfo="none">Perl</application>, namun fitur ini ditambahkan karena
banyaknya permintaan. Berikan <option>--open</option> untuk hanya melihat port
<literal moreinfo="none">open</literal>, <literal moreinfo="none">open|filtered</literal>, dan
<literal moreinfo="none">unfiltered</literal>. Ketiga port ini diperlakukan seperti normalnya, yang berarti bahwa <literal moreinfo="none">open|filtered</literal> dan <literal moreinfo="none">unfiltered</literal> dapat digabungkan bila terdapat dalam jumlah banyak.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--iflist</option> (List interfaces and routes)
<indexterm significance="normal"><primary><option>--iflist</option></primary></indexterm>
</term><listitem>
<para>Cetak daftar interface dan rute sitem yang dideteksi oleh Nmap.
Opsi ini berguna untuk debugging masalah routing atau kesalahan karakterisasi
device (seperti Nmap memperlakukan koneksi PPP sebagai ethernet).</para> </listitem> </varlistentry>
<varlistentry>
<term>
<option>--log-errors</option> (Log errors/warnings to normal mode output file)
<indexterm significance="preferred"><primary><option>--log-errors</option></primary></indexterm>
</term>
<listitem>
<para>Peringatan dan kesalahan dicetak oleh Nmap biasanya hanya ke
layar (output interaktif), membiarkan file output format normal
(biasanya dispesifikan dengan <option>-oN</option>)
tidak terganggu. Ketika anda ingin melihat pesan-pesan tersebut dalam
file output normal yang anda spesifikasikan, tambahkan opsi ini. Ia
berguna ketika anda tidak melihat output interaktif atau ketika anda
ingin merekam kesalahan saat men-debug masalah.
Pesan kesalahan dan peringatan akan tetap muncul dalam mode interaktif.
Hal ini tidak bekerja banyak kebanyakan kesalahan yang terkait dengan
argumen perintah baris yang buruk karena Nmap mungkin belum menginisialisasi
file outputnya. Sebagai tambahan, beberapa pesan kesalahan dan peringatan
Nmap menggunakan sistem yang berbeda yang beum mendukung opsi ini.</para>
<para>Sebagai alternatif bagi <option>--log-errors</option> adalah
dengan mengarahkan output interaktif (termasuk stream standard error) ke file.
Kebanyakan shell Unix menjadikan pendekatan ini mudah, meskipun ia
dapat sukar dilakukan pada Windows.</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist><title>Miscellaneous output options</title>
<varlistentry>
<term>
<option>--append-output</option> (Append to rather than clobber output files)
<indexterm significance="normal"><primary><option>--append-output</option></primary></indexterm>
</term>
<listitem>
<para>Ketika anda menspesifikasikan nama file ke flag format output
seperti <option>-oX</option> atau <option>-oN</option>, file tersebut
secara baku akan ditimpa. Jika anda ingin menjaga isi file yang ada
dan menambahkan hasil baru, spesifikasikan opsi
<option>--append-output</option>. Seluruh nama file output yang dispesifikasikan
dalam eksekusi Nmap tersebut kemudian akan ditambahkan alih-alih ditimpa.
Hal ini tidak bekerja baik untuk data scan XML (<option>-oX</option>) karena file
yang dihasilkan umumnya tidak akan dapat diparse dengan tepat hingga anda
memperbaikinya secara manual.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--resume <replaceable>filename</replaceable></option> (Resume aborted scan)
<indexterm significance="normal"><primary><option>--resume</option></primary></indexterm>
<indexterm significance="normal"><primary>resuming scans</primary></indexterm>
</term>
<listitem>
<para>Beberapa penggunaan Nmap ekstensif membutuhkan waktu hingga
dalam hitungan hari. Scan semacam itu tidak selalu berjalan hingga selesai.
Pembatasan mungkin mencegah Nmap dijalankan ketika waktu kerja, jaringan
dapat down, mesin yang menjalankan Nmap mungkin mengalami reboot terencana
atau tidak, atau bahkan Nmap mengalami crash. Administrator yang menjalankan Nmap
dapat membatalkannya demi alasan lainnya,
<keycap moreinfo="none">ctrl-C</keycap>. Memulai seluruh scan dari awal
mungkin tidak diinginkan. Untungnya, bila log normal
(<option>-oN</option>) atau grepable (<option>-oG</option>)
disimpan, user dapat meminta Nmap melanjutkan scanning dengan target
yang sedang dikerjakannya ketika eksekusi berhenti.
Cukup berikan opsi <option>--resume</option> dan berikan argumen file output
normal/grepable. Tidak boleh ada argumen lainnya, karena Nmap memparse file output
yang sama dengan yang digunakan sebelumnya. Cukup panggil Nmap dengan
<command moreinfo="none">nmap --resume
<replaceable>logfilename</replaceable></command>. Nmap akan menambahkan
hasil baru ke file data yang dispesifikasikan dalam eksekusi sebelumnya.
Opsi ini tidak dapat dilakukan untuk format output XML karena
penggabungan dua buah penjalanan Nmap ke satu file XML yang valid adalah sulit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--stylesheet <replaceable>path or URL</replaceable></option> (Set XSL stylesheet to transform XML output)
<indexterm significance="preferred"><primary><option>--stylesheet</option></primary></indexterm>
</term>
<listitem>
<para>Nmap menyertakan sebuah stylesheet <indexterm significance="normal"><primary>stylesheet</primary></indexterm>
XSL <indexterm significance="normal"><primary>XSL</primary></indexterm>
bernama <filename moreinfo="none">nmap.xsl</filename>
<indexterm significance="normal"><primary><filename moreinfo="none">nmap.xsl</filename></primary></indexterm>
untuk melihat atau menerjemahkan output XML ke HTML.
<indexterm significance="normal"><primary>HTML from XML output</primary></indexterm>
Output XML menyertakan sebuah direktif <literal moreinfo="none">xml-stylesheet</literal>
yang mengarah ke <filename moreinfo="none">nmap.xml</filename>
tempat awalnya ia diinstalasi oleh Nmap (atau pada direktori kerja
saat ini pada Windows). Cukup buka output Nmap pada browser modern dan
ia seharusnya mengambil
<filename moreinfo="none">nmap.xsl</filename> dari filesystem dan menggunakannya
untuk merender hasil. Jika anda ingin menggunakan stylesheet yang berbeda,
berikan ia sebagai argumen bagi
<option>--stylesheet</option>. Anda harus memberikan nama path atau URL lengkap.
Cara pemanggilan umum adalah
<option>--stylesheet
https://nmap.org/data/nmap.xsl</option>. Cara ini memberitahu
browser untuk memuat versi terakhir stylesheet dari Nmap.Org.
Opsi <option>--webxml</option> melakukan hal yang sama dengan cara yang lebih singkat.
Memuatkan XSL dari Nmap.Org memudahkan melihat hasil pada mesin yang tidak memiliki
Nmap (dan karenanya tidak memiliki
<filename moreinfo="none">nmap.xsl</filename>). Jadi URL seringkali
lebih bermanfaat, namun lokasi filesistem lokal
<filename moreinfo="none">nmap.xsl</filename> digunakan secara baku demi alasan privasi.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--webxml</option> (Load stylesheet from Nmap.Org)
<indexterm significance="preferred"><primary><option>--webxml</option></primary></indexterm>
</term>
<listitem>
<para>Opsi kenyamanan ini adalah sekedar alias bagi
<option significance="preferred">--stylesheet https://nmap.org/data/nmap.xsl</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option significance="preferred">--no-stylesheet</option> (Omit XSL stylesheet declaration from XML)
<indexterm significance="preferred"><primary><option>--no-stylesheet</option></primary></indexterm>
</term>
<listitem>
<para>Berikan opsi ini untuk mencegah Nmap dari mengasosiasikan sembarang sytlesheet XSL
dengan output XML-nya. Direktif <literal moreinfo="none">xml-stylesheet</literal>
ditiadakan.</para>
</listitem>
</varlistentry>
</variablelist>
<indexterm class="endofrange" startref="man-output-indexterm" significance="normal"/>
</refsect1>
<refsect1 id="man-misc-options">
<title>Opsi Lain-lain</title>
<para>Bagian ini menjelaskan beberapa opsi penting (dan tidak begitu penting)
yang tidak tercakup di manapun.</para>
<variablelist>
<varlistentry>
<term>
<option>-6</option> (Enable IPv6 scanning)
<indexterm significance="preferred"><primary><option>-6</option></primary></indexterm>
<indexterm significance="normal"><primary>IPv6</primary></indexterm>
</term>
<listitem>
<para>Sejak tahun 2002, Nmap memberikan dukungan IPv6 untuk fiturnya
yang paling populer. Terutama, scanning ping (hanya-TCP),
connect scanning, dan deteksi versi semuanya mendukung IPv6.
Sintaks perintahnya sama dengan yang biasa kecuali anda juga menambahkan
opsi <option>-6</option>. Tentu saja anda harus menggunakan sintaks IPv6
jika anda menspesifikasikan sebuah alamat alih-alih nama host.
Sebuah alamat mungkin terlihat seperti
<literal moreinfo="none">3ffe:7501:4819:2000:210:f3ff:fe03:14d0</literal>,
sehingga disarankan untuk menggunakan nama host. Outputnya tampak sama
dengan yang biasa, dengan alamat IPv6 pada baris <quote>port
menarik</quote>.</para>
<para>Meskipun IPv6 belum tersebar luas, ia telah digunakan secara signifikan
di beberapa negara (biasanya Asia) dan kebanyakan sistem operasi
modern mendukungnya. Untuk menggunakan Nmap dengan IPv6, sumber dan target
scan anda harus dikonfigurasi untuk IPv6. Jika ISP anda (seperti kebanyakan) tidak
mengalokasikan alamat IPv6 bagi anda, broker tunnel bebas tersedia luas
dan bekerja baik dengan Nmap. Saya menggunakan layanan broker tunnel IPv6 gratis
<indexterm significance="normal"><primary>IPv6 tunnel broker</primary></indexterm>
di <ulink url="http://www.tunnelbroker.net"/>.
Broker tunnel lainnya adalah
<ulink url="http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers">di daftar
Wikipedia</ulink>. 6to4 tunnels adalah pendekatan gratis dan populer lainnya.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-A</option> (Aggressive scan options)
<indexterm significance="preferred"><primary><option>-A</option></primary></indexterm>
</term>
<listitem>
<para>Opsi ini mengaktifkan opsi agresive dan advance tambahan.
Saya belum memutuskan kepanjangannya. Saat ini ia mengaktifkan
deteksi SO (<option>-O</option>), scanning versi (<option>-sV</option>),
scanning script (<option>-sC</option>) dan
traceroute (<option>--traceroute</option>).
<indexterm significance="normal"><primary><option>-A</option></primary><secondary>features enabled by</secondary></indexterm>
Fitur lebih banyak mungkin ditambahkan di masa mendatang.
Tujuannya adalah mengaktifkan set opsi scan yang lengkap tanpa perlu
mengingat sejumlah besar flag. Namun demikian, karena scanning script
dengan set baku dianggap mengganggu, anda tidak seharusnya menggunakan
<option>-A</option> terhadap jaringan target tanpa ijin.
Opsi ini hanya mengaktifkan fitur, dan tidak opsi pewaktuan
(seperti <option>-T4</option>) atau opsi verbositas
(<option>-v</option>) yang mungkin anda inginkan pula.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--datadir <replaceable>directoryname</replaceable></option> (Specify custom Nmap data file location)
<indexterm significance="preferred"><primary><option>--datadir</option></primary></indexterm>
</term>
<listitem>
<para>Nmap memperoleh beberapa data khusus pada runtime dalam file
bernama <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>, dan
<filename moreinfo="none">nmap-os-db</filename>. Jika lokasi
file-file ini telah dispesifikasikan (dengan menggunakan opsi
<option>--servicedb</option> atau <option>--versiondb</option>),
lokasi tersebut digunakan untuk file itu. Setelah itu, Nmap
mencari file-file ini dalam direktori yang dispesifikasikan dengan opsi
<option>--datadir</option> (bila ada). File yang tidak ditemukan
di sana, akan dicari pada direktori yang dispesifikasikan oleh
variabel lingkungan NMAPDIR <indexterm significance="normal"><primary><envar>NMAPDIR</envar> environment variable</primary></indexterm>.
Kemudian
<filename moreinfo="none">~/.nmap</filename><indexterm significance="normal"><primary sortas="nmap directory"><filename moreinfo="none">.nmap</filename> directory</primary></indexterm>
untuk UID ril dan efektif (sistem POSIX) atau lokasi eksekutabel
Nmap (Win32), dan kemudian lokasi yang digunakan saat kompilasi
seperti <filename moreinfo="none">/usr/local/share/nmap</filename> atau <filename moreinfo="none">/usr/share/nmap</filename>
. Dan terakhir, Nmap akan mencari dalam direktori saat ini.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--servicedb <replaceable>services file</replaceable></option> (Specify custom services file)
<indexterm significance="preferred"><primary><option>--servicedb</option></primary></indexterm>
</term>
<listitem>
<para>Beritahu Nmap untuk menggunakan file service yang diberikan alih-alih file
<filename moreinfo="none">nmap-services</filename> yang disertakan dalam
Nmap. Dengan menggunakan opsi ini juga menyebabkan opsi scan cepat
(<option>-F</option>) digunakan. Lihat deskripsi untuk
<option>--datadir</option> untuk informasi lebih lanjut mengenai file data Nmap.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--versiondb <replaceable>service probes file</replaceable></option> (Specify custom service probes file)
<indexterm significance="preferred"><primary><option>--versiondb</option></primary></indexterm>
</term>
<listitem>
<para>Minta Nmap untuk menggunakan file pro be service yang diberikan alih-alih file
<filename moreinfo="none">nmap-service-probes</filename> yang disertakan dalam Nmap.
Lihat deskripsi untuk <option>--datadir</option>
untuk informasi lebih lanjut mengenai file data Nmap.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--send-eth</option> (Use raw ethernet sending)
<indexterm significance="preferred"><primary><option>--send-eth</option></primary></indexterm>
</term>
<listitem>
<para>Minta Nmap mengirim paket pada layer ethernet raw (data
link) alih-alih layer IP (jaringan) yang lebih tinggi. Secara baku,
Nmap memilih satu yang umumnya terbaik untuk platform yang digunakan.
Socket Raw (layer IP layer)<indexterm significance="normal"><primary>raw sockets</primary></indexterm>
umumnya paling efisien pada mesin-mesin Unix, sementara frame ethernet
dibutuhkan bagi operasi Windows karena Microsoft meniadakan dukungan
socket raw. Nmap tetap menggunakan paket IP raw pada Unix ketika
tidak ada pilihan lainnya (seperti koneksi non-ethernet).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--send-ip</option> (Send at raw IP level)
<indexterm significance="preferred"><primary><option>--send-ip</option></primary></indexterm>
</term>
<listitem>
<para>Minta Nmap untuk mengirim paket melalui soket IP raw alih-alih
mengirimkan frame ethernet level lebih rendah. Ia merupakan komplemen
opsi <option>--send-eth</option> yang didiskusikan sebelumnya.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--privileged</option> (Assume that the user is fully privileged)
<indexterm significance="preferred"><primary><option>--privileged</option></primary></indexterm>
</term>
<listitem>
<para>Beritahu Nmap untuk mengasumsikan bahwa ia memiliki cukup privilege
untuk melakukan pengiriman socket raw, packet sniffing, dan
operasi sejenis yang biasanya membutuhkan
root privileges<indexterm significance="normal"><primary>privileged users</primary></indexterm><indexterm significance="normal"><primary>authorized users</primary><see>privileged users</see></indexterm>
pada sistem Unix. Secara baku Nmap berhenti bila operasi itu diminta
namun <function moreinfo="none">geteuid</function> tidaklah nol.
<option>--privileged</option> berguna dengan kapabilitas kernel Linux
dan sistem serupa yang mungkin dikonfigurasi untuk membolehkan user
unprivileged melakukan scan raw-packet. Pastikan untuk memberikan flag opsi ini
sebelum flag lainnya bagi opsi yang membutuhkan privilege
(SYN scan, deteksi SO, dsb.). Variabel lingkungan
<envar>NMAP_PRIVILEGED</envar><indexterm significance="normal"><primary><envar>NMAP_PRIVILEGED</envar> environment variable</primary></indexterm>
dapat juga diset sebagai alternatif ekivalen bagi
<option>--privileged</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--unprivileged</option> (Assume that the user lacks raw socket privileges)
<indexterm significance="preferred"><primary><option>--unprivileged</option></primary></indexterm>
<indexterm significance="normal"><primary>unprivileged users</primary></indexterm>
</term>
<listitem>
<para>Opsi ini merupakan lawan
<option>--privileged</option>. Ia memberitahu Nmap untuk memperlakukan
user sebagai tidak memiliki privilege network raw socket dan sniffing.
Hal ini berguna untuk testing, debugging, atau ketika fungsionalitas jaringan
raw pada sistem operasi anda tampaknya rusak. Variabel lingkungan
<envar>NMAP_UNPRIVILEGED</envar><indexterm significance="normal"><primary><envar>NMAP_UNPRIVILEGED</envar> environment variable</primary></indexterm>
dapat diset sebagai alternatif ekivalen bagi
<option>--unprivileged</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--release-memory</option> (Release memory before quitting)
<indexterm significance="normal"><primary><option>--release-memory</option></primary></indexterm>
</term>
<listitem>
<para>Opsi ini hanya berguna untuk memory-leak debugging.
Ia membuat Nmap merilis memori yang telah dialokasikan sebelum ia berhenti
sehingga kebocoran memori sebenarnya mudah ditemukan.
Normalnya Nmap melewati langkah ini karena SO melakukannya setelah
penghentian proses.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-V</option>; <option>--version</option> (Print version number)
<indexterm significance="normal"><primary><option>-V</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--version</option></primary></indexterm>
</term>
<listitem>
<para>Mencetak angka versi Nmap dan keluar.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-h</option>; <option>--help</option> (Print help summary page)
<indexterm significance="normal"><primary><option>-h</option></primary></indexterm>
<indexterm significance="normal"><primary><option>--help</option></primary></indexterm>
</term>
<listitem>
<para>Mencetak layar bantuan singkat dengan flag-flag yang paling umum.
Menjalankan Nmap tanpa argumen melakukan hal yang sama.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="man-runtime-interaction">
<title>Interaksi Runtime<indexterm significance="normal"><primary>runtime interaction</primary></indexterm></title>
<para>Selama eksekusi Nmap, seluruh kunci yang ditekan direkam.
Hal ini memungkinkan anda beriteraksi dengan program tanpa membatalkan
dan memulai ulang. Beberapa kunci khusus akan merubah opsi, sementara kunci lain
akan mencetak pesan status yang memberitahu anda mengenai scan.
Konvensinya adalah
<emphasis>huruf kecil meningkatkan</emphasis> jumlah yang dicetak, dan
<emphasis>huruf kapital mengurangi</emphasis> yang dicetak.
Anda dapat juga menekan <emphasis>?</emphasis> untuk bantuan.</para>
<variablelist>
<varlistentry>
<term>
<option>v</option> / <option>V</option>
</term>
<listitem>
<para>Naikkan / kurangi level verbositas</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>d</option> / <option>D</option>
</term>
<listitem>
<para>Naikkan / kurangi level debugging</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>p</option> / <option>P</option>
</term>
<listitem>
<para>Aktifkan/Non-aktifkan packet tracing</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>?</option>
</term>
<listitem>
<para>Cetak layar bantuan interaksi runtime</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Lainnya
</term>
<listitem>
<para>Cetak pesan satus seperti ini:</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>Contoh-contoh</title>
<para>Berikut ini adalah beberapa contoh penggunaan Nmap, dari yang mudah dan rutin
hingga yang sedikit kompleks dan canggih. Beberapa alamat IP
dan nama domain aktual digunakan untuk membuatnya menjadi lebih kongkrit.
Anda harus merubah alamat/nama dengan
<emphasis>jaringan anda sendiri.</emphasis>. Meskipun saya tidak menganggap
scanning port jaringan lain adalah atau seharusnya ilegal, beberapa administrator
jaringan tidak menghargai scanning jaringan mereka sembarangan dan akan mengajukan keluhan.
Pendekatan terbaik adalah memperoleh ijin terlebih dulu.</para>
<para>Untuk tujuan pengujian, anda memperoleh ijin untuk memeriksa host
<literal moreinfo="none">scanme.nmap.org</literal>. Ijin ini hanya mencakup
pemeriksaan dengan Nmap dan tidak menguji eksploit atau serangan denial of service.
Untuk menghemat bandwidth, mohon tidak menggunakan lebih dari selusin scan
terhadap host tersebut per hari. Jika layanan target scanning gratis ini disalahgunakan,
ia akan dinonaktifkan dan Nmap akan melaporkan
<computeroutput moreinfo="none">Failed to resolve given hostname/IP:
scanme.nmap.org</computeroutput>. Ijin ini juga berlaku untuk host-host
<literal moreinfo="none">scanme2.nmap.org</literal>,
<literal moreinfo="none">scanme3.nmap.org</literal>, dan seterusnya, meskipun host-host
ini belum ada.</para>
<para>
<indexterm significance="normal"><primary><option>-v</option></primary><secondary>example of</secondary></indexterm>
<command moreinfo="none">nmap -v scanme.nmap.org</command>
</para>
<para>Opsi ini memeriksa seluruh port TCP reserved pada mesin
<literal moreinfo="none">scanme.nmap.org</literal> . Opsi <option>-v</option>
mengaktifkan mode verbose.</para>
<para>
<indexterm significance="normal"><primary><option>-sS</option></primary><secondary>example of</secondary></indexterm>
<indexterm significance="normal"><primary><option>-O</option></primary><secondary>example of</secondary></indexterm>
<command moreinfo="none">nmap -sS -O scanme.nmap.org/24</command>
</para>
<para>Meluncurkan scan stealth SYN terhadap setiap mesin yang up dari
256 IP pada jaringan berukuran <quote>kelas C</quote> tempat
Scanme berada. Ia juga berusaha menentukan sistem operasi yang digunakan
pada setiap host yang hidup dan berjalan. Hal ini membutukan privilege root
karena scan SYN dan deteksi SO.</para>
<para>
<indexterm significance="normal"><primary><option>-p</option></primary><secondary>example of</secondary></indexterm>
<command moreinfo="none">nmap -sV -p 22,53,110,143,4564
198.116.0-255.1-127</command>
</para>
<para>Meluncurkan enumerasi host dan scan TCP pada setengah bagian pertama
dari subnet dalam alamat kelas B 198.116. Scan ini menguji apakah sistem
menjalankan SSH, DNS, POP3, atau IMAP pada port standarnya, atau apapun pada port
4564. Pada sembarang port yang ditemukan terbuka, akan digunakan deteksi versi
untuk menentukan aplikasi apa yang berjalan.</para>
<para>
<indexterm significance="normal"><primary><option>-iR</option></primary><secondary>example of</secondary></indexterm>
<indexterm significance="normal"><primary><option>-PN</option></primary><secondary>example of</secondary></indexterm>
<command moreinfo="none">nmap -v -iR 100000 -PN -p 80</command>
</para>
<para>Meminta Nmap memilih 100.000 host secara acak dan memeriksanya
untuk web server (port 80). Enumerasi host ditiadakan dengan
<option>-PN</option> karena mengirim beberapa probe untuk menentukan
apakah host hidup adalah sia-sia ketika anda hanya memprobe satu port
pada setiap host target.</para>
<para>
<indexterm significance="normal"><primary><option>-oX</option></primary><secondary>example of</secondary></indexterm>
<indexterm significance="normal"><primary><option>-oG</option></primary><secondary>example of</secondary></indexterm>
<command moreinfo="none">nmap -PN -p80 -oX logs/pb-port80scan.xml -oG
logs/pb-port80scan.gnmap 216.163.128.20/20</command>
</para>
<para>Memeriksa 4096 IP untuk sembarang web server (tanpa mem-ping
mereka) dan menyimpan hasilnya dalam format grepable dan XML.</para>
</refsect1>
<refsect1 id="man-bugs">
<title>Bugs</title>
<indexterm significance="normal"><primary>bugs, reporting</primary></indexterm>
<para>Seperti penulisnya, Nmap tidaklah sempurna. Namun anda dapat membantu
membuatnya lebih baik dengan mengirimkan laporan bug atau bahkan menulis patch. Jika
Nmap tidak berlaku sesuai yang anda harapkan, pertama upgrade ke versi terakhir
yang tersedia dari <ulink url="https://nmap.org"/>. Jika masalah masih tetap,
lakukan riset untuk menentukan apakah ia telah ditemukan dan diselesaikan.
Cobalah mencari pesan kesalahan pada halaman pencarian kami <ulink url="https://insecure.org/search.html"/> atau di Google. Juga cobalah
membrowsing arsip <citetitle>nmap-dev</citetitle> di <ulink url="https://seclists.org/"/>.<indexterm significance="normal"><primary><citetitle>nmap-dev</citetitle> mailing list</primary></indexterm>
Bacalah juga halaman manual ini dengan baik.
Jika masih belum selesai juga, kirimkan laporan bug ke
<email>dev@nmap.org</email>. Mohon sertakan semua yang
anda telah pelajari mengenai masalah, dan juga versi Nmap dan sistem operasi
yang anda gunakan. Laporan kesalahan dan pertanyaan penggunaan Nmap yang dikirim ke
<email>dev@nmap.org</email> akan lebih mungkin dijawab daripada yang dikirimkan
secara langsung ke Fyodor. Jika anda berlangganan ke list nmap-dev
sebelum posting, pesan anda akan melewati moderasi dan akan lewat dengan lebih cepat.
Berlangganan di <ulink url="https://nmap.org/mailman/listinfo/dev"/>.</para>
<para>Patch code untuk memperbaiki bug adalah lebih baik daripada laporan kesalahan.
Instruksi dasar untuk membuat file patch dengan perubahan anda tersedia di
<ulink url="https://nmap.org/data/HACKING"/>. Patch dapat dikirim ke
<citetitle>nmap-dev</citetitle> (direkomendasikan) atau langsun ke Fyodor.</para>
</refsect1>
<refsect1 id="man-author">
<title>Penulis</title>
<para>Fyodor
<email>fyodor@nmap.org</email>
(<ulink url="https://insecure.org"/>)
</para>
<para>Selama ini, ratusan orang telah memberikan kontribusi berharga ke Nmap.
Hal ini dirinci dalam file
<filename moreinfo="none">CHANGELOG</filename><indexterm significance="normal"><primary>changelog</primary></indexterm>
yang didistribusikan bersama Nmap
dan juga tersedia dari <ulink url="https://nmap.org/changelog.html"/>.</para>
</refsect1>
<refsect1 id="man-legal">
<title>Legal Notices</title>
<refsect2 id="translation-disclaimer">
<title>Unofficial Translation Disclaimer / Disklaimer Terjemahan Tidak Resmi</title>
<para>This is an unnofficial translation of the <ulink
url="https://nmap.org/book/man-legal.html">Nmap
license details</ulink> into Indonesian. 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 Indonesian speakers understand the
Nmap license better.</para>
<para>Ini merupakan terjemahan tidak resmi dari <ulink
url="https://nmap.org/book/man-legal.html">Nmap
license details</ulink> ke dalam bahasa Indonesia. Ia tidak ditulis oleh
Insecure.Com LLC, dan tidak secara legal menyatakan syarat distribusi
untuk Nmap -- hanya teks berbahasa Inggris aslinya yang melakukan hal itu.
Namun demikian, kami berharap bahwa terjemahan ini membantu pengguna bahasa Indonesia
untuk lebih memahami lisensi Nmap.</para>
</refsect2>
<refsect2 id="nmap-copyright">
<title>Nmap Copyright and Licensing</title>
<indexterm significance="normal"><primary>copyright</primary></indexterm>
<indexterm significance="normal"><primary>GNU General Public License</primary></indexterm>
<para>The Nmap Security Scanner is (C) 19962009 Insecure.Com LLC. Nmap is also a registered trademark of Insecure.Com LLC. This program is free software; you may redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; Version 2 with the clarifications and exceptions described below. This guarantees your right to use, modify, and redistribute this software under certain conditions. If you wish to embed Nmap technology into proprietary software, we sell alternative licenses (contact <email>sales@insecure.com</email>). Dozens of software vendors already license Nmap technology such as host discovery, port scanning, OS detection, and version detection.</para>
<para>Note that the GPL places important restrictions on
<quote>derived works</quote>, yet it does not provide a detailed
definition of that term. To avoid misunderstandings, we consider an
application to constitute a <quote>derivative work</quote> for the
purpose of this license if it does any of the following:</para>
<itemizedlist>
<listitem><para>Integrates source code from Nmap</para></listitem>
<listitem><para>Reads or includes Nmap copyrighted data files, such as
<filename moreinfo="none">nmap-os-db</filename> or
<filename moreinfo="none">nmap-service-probes</filename>.</para></listitem>
<listitem><para>Executes Nmap and parses the results (as opposed to
typical shell or execution-menu apps, which simply display raw
Nmap output and so are not derivative works.)</para></listitem>
<listitem><para>Integrates/includes/aggregates Nmap into a proprietary
executable installer, such as those produced by
InstallShield.</para></listitem>
<listitem><para>Links to a library or executes a program that does any
of the above.</para></listitem>
</itemizedlist>
<para>The term <quote>Nmap</quote> should be taken to also include any
portions or derived works of Nmap. This list is not exclusive, but is
meant to clarify our interpretation of derived works with some common
examples. Our interpretation applies only to Nmap—we don't
speak for other people's GPL works.</para>
<para>If you have any questions about the GPL licensing restrictions
on using Nmap in non-GPL works, we would be happy to help. As
mentioned above, we also offer alternative license to integrate Nmap
into proprietary applications and appliances. These contracts have
been sold to many security vendors, and generally include a perpetual
license as well as providing for priority support and updates as well
as helping to fund the continued development of Nmap
technology. Please email <email>sales@insecure.com</email> for further
information.</para>
<para>As a special exception to the GPL terms, Insecure.Com LLC grants
permission to link the code of this program with any version of the
OpenSSL library which is distributed under a license identical to that
listed in the included <filename moreinfo="none">COPYING.OpenSSL</filename> file, and distribute linked
combinations including
the two.<indexterm significance="normal"><primary>OpenSSL</primary><secondary>linking exception</secondary></indexterm>
You must obey the GNU GPL in all
respects for all of the code used other than OpenSSL. If you modify
this file, you may extend this exception to your version of the file,
but you are not obligated to do so.</para>
<para>If you received these files with a written license agreement or
contract stating terms other than the terms above, then that
alternative license agreement takes precedence over these
comments.</para>
</refsect2>
<refsect2 id="man-copyright">
<title>Creative Commons License for this Nmap Guide</title>
<para>This <citetitle>Nmap Reference Guide</citetitle> is (C) 20052008 Insecure.Com LLC. It is
hereby placed under version 2.5 of the <ulink url="http://creativecommons.org/licenses/by/2.5/">Creative Commons
Attribution License</ulink>. This allows you redistribute and modify
the work as you desire, as long as you credit the original source.
Alternatively, you may choose to treat this document as falling under
the same license as Nmap itself (discussed previously).</para>
</refsect2>
<refsect2 id="source-contrib">
<title>Source Code Availability and Community Contributions</title>
<para>Source is provided to this software because we believe users
have a right to know exactly what a program is going to do before they
run it. This also allows you to audit the software for security holes
(none have been found so far).</para>
<para>Source code also allows you to port Nmap to new platforms, fix
bugs, and add new features. You are highly encouraged to send your
changes to <email>fyodor@nmap.org</email> for possible
incorporation into the main distribution. By sending these changes to
Fyodor or one of the Insecure.Org development mailing lists, it is
assumed that you are offering Fyodor and Insecure.Com LLC the
unlimited, non-exclusive right to reuse, modify, and relicense the
code. Nmap will always be available
Open Source,<indexterm significance="normal"><primary>open source</primary></indexterm>
but this is important
because the inability to relicense code has caused devastating
problems for other Free Software projects (such as KDE and NASM). We
also occasionally relicense the code to third parties as discussed
above. If you wish to specify special license conditions of your
contributions, just say so when you send them.</para>
</refsect2>
<refsect2 id="no-warranty"><title>No Warranty<indexterm significance="normal"><primary>warranty (lack of)</primary></indexterm></title>
<para>This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License v2.0 for more details at <ulink url="http://www.gnu.org/licenses/gpl-2.0.html"/>, or in the <filename moreinfo="none">COPYING</filename> file
included with Nmap.</para>
<para>It should also be noted that Nmap has occasionally been known to crash
poorly written applications, TCP/IP stacks, and even operating
systems.<indexterm significance="normal"><primary>crashing targets</primary></indexterm>
While this is extremely rare, it is important to keep in
mind. <emphasis>Nmap should never be run against mission
critical systems</emphasis> unless you are prepared to suffer
downtime. We acknowledge here that Nmap may crash your systems or
networks and we disclaim all liability for any damage or problems Nmap
could cause.</para>
</refsect2>
<refsect2 id="inappropriate-usage"><title>Inappropriate Usage</title>
<para>Because of the slight risk of crashes and because a few black
hats like to use Nmap for reconnaissance prior to attacking systems,
there are administrators who become upset and may complain when their
system is scanned. Thus, it is often advisable to request permission
before doing even a light scan of a network.</para>
<para>Nmap should never be installed with special privileges
(e.g. suid root) for security reasons.<indexterm significance="normal"><primary>setuid, why Nmap shouldn't be</primary></indexterm>
</para>
</refsect2>
<refsect2 id="third-party-soft"><title>Third-Party Software</title>
<para>This product includes software developed by
the <ulink role="hidepdf" url="http://www.apache.org">Apache Software
Foundation</ulink>. A modified version of the <ulink role="hidepdf" url="http://www.tcpdump.org">Libpcap portable packet capture
library</ulink><indexterm significance="normal"><primary>libpcap</primary></indexterm>
is distributed along with Nmap.
The Windows version of Nmap utilized the Libpcap-derived
<ulink role="hidepdf" url="http://www.winpcap.org">WinPcap library</ulink><indexterm significance="normal"><primary>WinPcap</primary></indexterm>
instead.
Regular expression support is provided by the
<ulink role="hidepdf" url="http://www.pcre.org">PCRE library</ulink>,<indexterm significance="normal"><primary>Perl Compatible Regular Expressions (PCRE)</primary></indexterm>
which is open-source software, written by Philip Hazel.<indexterm significance="normal"><primary>Hazel, Philip</primary></indexterm>
Certain raw networking functions use the
<ulink role="hidepdf" url="http://libdnet.sourceforge.net">Libdnet</ulink><indexterm significance="normal"><primary>libdnet</primary></indexterm>
networking library, which was written by Dug Song.<indexterm significance="normal"><primary>Song, Dug</primary></indexterm>
A modified version is distributed with Nmap.
Nmap can optionally link with the
<ulink role="hidepdf" url="http://www.openssl.org">OpenSSL
cryptography toolkit</ulink><indexterm significance="normal"><primary>OpenSSL</primary></indexterm>
for SSL version detection support.
The Nmap Scripting Engine uses an embedded version of
the <ulink role="hidepdf" url="http://www.lua.org">Lua programming
language</ulink>.<indexterm significance="normal"><primary>Lua programming language</primary></indexterm>
All of the third-party software described in this paragraph is freely
redistributable under BSD-style software licenses.</para>
</refsect2>
<refsect2 id="us-export"><title>United States Export Control Classification<indexterm significance="normal"><primary>export control</primary></indexterm></title>
<para>U.S. Export Control: Insecure.Com LLC believes that Nmap falls
under U.S. ECCN (export control classification number) 5D992. This
category is called <quote>Information Security software not controlled
by 5D002</quote>. The only restriction of this classification is AT
(anti-terrorism), which applies to almost all goods and denies export
to a handful of rogue nations such as Iran and North Korea. Thus
exporting Nmap does not require any special license, permit, or other
governmental authorization.</para>
</refsect2>
</refsect1>
</refentry>
<indexterm class="endofrange" startref="man-nmap1-indexterm" significance="normal"/>
</article>