Nmap Scripting Engine (NSE)
Nmap Scripting Engine (NSE) adalah salah satu fitur Nmap yang paling powerful dan fleksibel. Ia memungkinkan user untuk menulis (dan membagi) skrip sederhana (menggunakan bahasa pemrograman Lua, ) 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.
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.
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
safe
, intrusive
, malware
, version
, discovery
, vuln
, auth
, and default
. These are all described
at https://nmap.org/book/nse-usage.html#nse-categories
.
Nmap Scripting Engine dijelaskan lebih rinci
di https://nmap.org/book/nse.html
dan dikendalikan oleh opsi-opsi berikut ini:
-sC
Melakukan scan skrip menggunakan sejumlah skrip baku. Ia merupakan ekivalen
--script=default
. Beberapa skrip dalam kategori ini dianggap intrusif dan tidak seharusnya dijalankan terhadap jaringan target tanpa ijin.--script
<script-categories>
|<directory>
|<filename>
|allMenjalankan scan skrip (seperti
-sC
) 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 :--datadir/
;$NMAPDIR/
;~/.nmap/
(tidak dicari pada Windows);NMAPDATADIR
/ or./
. Ascripts/
subdirektori juga dicari untuk setiap direktori ini.Jika diberikan sebuah direktori dan ditemukan, Nmap memuat seluruh skrip NSE (semua nama file yang berakhiran dengan
.nse
) dari direktori tersebut. Nama file tanpa ekstensinse
akan diabaikan. Nmap tidak mencari secara rekursif ke subdirektori untuk mencari skrip. Jika diberikan nama file individual, ekstensi file tidak perlu harusnse
.Skrip Nmap secara baku disimpan dalam subdirektori
scripts
direktori data Nmap (lihathttps://nmap.org/book/data-files.html
). Demi efisiensi, skrip diindeks dalam database yang disimpan dalamscripts/script.db
. yang mendaftar kategori atau kategori-kategori yang dimiliki skrip. Berikan argumenall
untuk menjalankan seluruh skrip dalam database skrip Nmap.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.
--script-args
<name1>
=<value1>
,<name2>
={<name3>
=<value3>
},<name4>
=<value4>
Membolehkan anda memberik argumen ke skrip NSE. Argument diberikan sebagai pasangan
name=value
. 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 dalamargument-table
. Nilai dapat berupa string atau tabel (dilingkupi oleh ‘{
’ dan ‘}
’). Sebagai contoh, anda dapat memberikan argumen :user=bar,pass=foo,whois={whodb=nofollow+ripe}
. 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 (sepertiwhois
dalam contoh ini).--script-trace
Opsi ini melakukan apa yang dilakukan oleh
--packet-trace
, 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.--packet-trace
juga mengaktifkan tracing skrip.--script-updatedb
Opsi ini mengupdate database skrip yang ditemukan dalam
scripts/script.db
yang digunakan Nmap untuk menentukan skrip baku dan kategori yang tersedia. Opsi ini digunakan bila anda menambah atau mengurangi skrip NSE dari direktori bakuscripts
atau bila anda merubah kategori sembarang skrip. Opsi ini biasanya digunakan sendirian: nmap --script-updatedb.