Bab 2. Mendapatkan, Kompilasi, Instalasi, dan Menghapus Nmap
Daftar isiPengenalan
Nmap sering dapat diinstal atau upgrade dengan perintah tunggal, jadi jangan biarkan panjang bab ini menakut-nakuti Anda. Sebagian besar pembaca akan menggunakan tabel isi untuk melompat langsung ke bagian yang menyangkut mereka. Bab ini menjelaskan cara menginstal Nmap pada banyak platform, termasuk kompilasi kode sumber dan metode biner instalasi. Versi grafis dan baris perintah Nmap dijelaskan dan kontras. Instruksi penghapusan nmap juga disediakan jika Anda berubah pikiran.Pengujian Apakah Nmap Sudah Dipasang
Langkah pertama menuju Nmap mendapatkan adalah untuk memeriksa apakah Anda sudah memilikinya. Banyak distribusi sistem bebas operasi (termasuk sebagian Linux dan sistem BSD) datang dengan paket Nmap, meskipun mereka mungkin tidak akan diinstal secara default. Pada sistem Unix, membuka jendela terminal dan mencoba mengeksekusi perintah nmap--version . Jika Nmap ada dan dalam Anda PATH , Anda seharusnya melihat output mirip dengan yang di Contoh 2.1 .felix ~> nmap --version
Versi Nmap 4.76 (http://nmap.org)
felix ~>
PATH adalah salah set), pesan kesalahan seperti nmap: Command not found dilaporkan. Seperti contoh di atas menunjukkan, Nmap merespon perintah dengan mencetak nomor versinya (di sini 4.76 ).Bahkan jika sistem anda sudah memiliki salinan Nmap, Anda harus mempertimbangkan upgrade ke versi terbaru yang tersedia dari http://nmap.org/download.html . Versi yang lebih baru sering berjalan lebih cepat, memperbaiki bug penting, dan fitur sistem operasi dan database diperbarui versi layanan deteksi. Sebuah daftar perubahan sejak versi sudah ada di sistem anda dapat ditemukan di http://nmap.org/changelog.html .
Command-line dan Antarmuka Grafis
Nmap secara tradisional telah menjadi alat baris perintah dijalankan dari shell Unix atau (lebih baru) Windows command prompt. Hal ini memungkinkan para ahli untuk dengan cepat menjalankan perintah yang tidak persis apa yang mereka inginkan tanpa harus manuver melalui sekelompok panel konfigurasi dan pilihan bidang yang tersebar. Hal ini juga membuat lebih mudah untuk script Nmap dan memungkinkan mudah berbagi perintah yang berguna di antara komunitas pengguna.Satu Kelemahan dari pendekatan command-line adalah bahwa hal itu dapat menakutkan bagi pengguna baru dan jarang. Nmap menawarkan lebih dari seratus opsi baris perintah, meskipun banyak yang tidak jelas atau kontrol fitur debugging yang sebagian besar pengguna dapat diabaikan. Banyak grafis frontends telah diciptakan untuk para pengguna yang lebih memilih antarmuka GUI. Nmap secara tradisional termasuk GUI sederhana untuk Unix bernama NmapFE , Tapi itu diganti pada tahun 2007 oleh Zenmap, yang kita telah berkembang sejak tahun 2005. Zenmap jauh lebih kuat dan efektif daripada NmapFE, terutama dalam melihat hasil. Antarmuka berbasis tab Zenmap yang memungkinkan Anda mencari dan mengurutkan hasil, dan juga menelusuri mereka dalam beberapa cara (tuan rincian, baku output Nmap, dan port / host). Ia bekerja di Linux, Windows, Mac OS X, dan platform lainnya. Zenmap ini dibahas secara mendalam dalam Bab 12, Panduan Pengguna Zenmap GUI ' . Sisa buku ini berfokus pada baris perintah Nmap doa. Setelah Anda memahami bagaimana opsi baris perintah kerja dan dapat menginterpretasikan output, menggunakan Zenmap atau lain yang tersedia Nmap GUI mudah. Pilihan Nmap bekerja dengan cara yang sama apakah Anda memilih mereka dari tombol radio dan menu atau jenis mereka pada baris-perintah.
Men-download Nmap
Nmap.Org adalah sumber resmi untuk men-download Nmap kode sumber dan binari untuk Nmap dan Zenmap. Source code didistribusikan dalam bzip2 dan dikompresi gzip tar file, dan binari yang tersedia untuk Linux (RPM format), Windows (NSIS installer executable) dan Mac OS X (.dmg disk image). Cari semua ini di http://nmap.org/download.html .Memeriksa Integritas Nmap Downloads
Sering membayar untuk menjadi paranoid tentang integritas dari file download dari internet. Paket populer seperti Sendmail ( misalnya ), OpenSSH ( misalnya ), tcpdump, libpcap, BitchX, Fragrouter, dan banyak lainnya telah terinfeksi trojan berbahaya. Software distribusi situs pada Free Software Foundation, Debian, dan SourceForge juga telah berhasil dikompromikan. Ini belum pernah terjadi ke Nmap, tapi satu harus selalu berhati-hati. Untuk memverifikasi keaslian rilis Nmap, berkonsultasi dengan tanda tangan PGP terlepas atau hash kriptografi (termasuk SHA1 dan MD5) dikirim untuk rilis di direktori tanda tangan Nmap http://nmap.org/dist/sigs/?C=M&O = D .Mekanisme verifikasi paling aman terlepas PGP tanda tangan. Sebagai kunci penandatanganan tidak pernah disimpan di server produksi, bahkan seseorang yang berhasil kompromi server web tidak bisa memalsukan dan benar menandatangani rilis trojan. Sementara berbagai aplikasi dapat memverifikasi tanda tangan PGP, saya sarankan GNU Privacy Guard (GPG) .
Nmap rilis ditandatangani dengan kunci Penandatanganan Proyek Nmap khusus, yang dapat diperoleh dari keyserver besar atau http://nmap.org/data/nmap_gpgkeys.txt . Kunci saya adalah termasuk dalam file itu juga. Kunci dapat diimpor dengan perintah gpg - nmap_gpgkeys.txt impor. Anda hanya perlu melakukan ini sekali, maka Anda dapat memverifikasi semua Nmap rilis mendatang dari mesin tersebut. Sebelum mempercayai kunci, pastikan bahwa sidik jari cocok dengan nilai-nilai yang ditunjukkan pada Contoh 2.2 .
mendera ~> gpg --fingerprint nmap fyodorpub 1024D/33599B5F 2005/04/24
Sidik jari kunci = BB61 D057 C0D7 DCEF E730 996C 1AF6 EC50 3359 9B5F
uid Fyodor <fyodor@insecure.org>
sub 2048g/D3C2241C 2005/04/24
pub 1024D/6B9355D0 2005/04/24
Kunci sidik jari = 66AB 9A79 436D 8425 FDA0 E3F8 01AF 6B93 9F03 55D0
uid Nmap Proyek Menandatangani Kunci (http://insecure.org/)
sub 2048g/A50A6A94 2005/04/24
nmap-4.76.tar.bz2 dan nmap-4.76-win32.zip ), ada file yang sesuai di sigs direktori dengan .asc ditambahkan ke nama (misalnya nmap-4.76.tar.bz2.asc ). Ini adalah file tanda tangan terpisah.Dengan kunci PGP yang tepat dalam keyring Anda dan download file tanda tangan terpisah, memverifikasi sebuah rilis Nmap menggunakan perintah GPG tunggal, seperti yang ditunjukkan pada Contoh 2.3 . Bahwa contoh mengasumsikan bahwa file diverifikasi dapat ditemukan dalam direktori yang sama dengan hanya mengeluarkan ". Asc" dari nama file tanda tangan. Ketika itu tidak terjadi, hanya melewati nama file target sebagai argumen terakhir untuk GPG. Jika file tersebut telah dirusak dengan, hasilnya akan terlihat seperti Contoh 2.4 .
belasan> gpg --verify nmap-4.76.tar.bz2.ascgpg: Tanda tangan dibuat Jum 12 Sep 2008 02:03:59 PDT menggunakan kunci DSA ID 6B9355D0
gpg: tanda tangan baik dari "Kunci Penandatanganan Proyek Nmap (http://www.insecure.org/)"
belasan> gpg --verify nmap-4.76.tar.bz2.asc nmap-4.76-hacked.tar.bz2gpg: Tanda tangan dibuat Jum 12 Sep 2008 02:03:59 PDT menggunakan kunci DSA ID 6B9355D0
gpg: BAD signature dari "Kunci Penandatanganan Proyek Nmap (http://www.insecure.org/)"
sigs direktori dengan .digest.txt ditambahkan ke nama (misalnya nmap-4.76.tar.bz2.digest.txt ). Contohnya adalah ditunjukkan pada Contoh 2.5 . Ini adalah file tanda tangan terpisah. Hash dari file mencerna dapat diverifikasi menggunakan alat umum seperti gpg, sha1sum, atau md5sum, seperti yang ditunjukkan pada Contoh 2.6, "Memeriksa Nmap hash" . belasan> cat sigs/nmap-4.76.tgz.digest.txtnmap-4.76.tgz: MD5 = 54 B5 C9 F4 4C E3 1A E1 DD F6 7D 81 70 7C EB FE
nmap-4.76.tgz: SHA1 = 4374 CF9C A882 8F67 2C28 06D0 5DE9 D00E BCFA A403
nmap-4.76.tgz: RMD160 = AE7B 80EF 4CE6 DBAA 6E65 76F9 4A22 CA38 3B89 BD3A
nmap-4.76.tgz: SHA224 = 524D479E 717D98D0 2FB0A42B 9A4E6E52 4027C9B6 1D843F95
D419F87F
nmap-4.76.tgz: SHA256 = 0E960E05 53EB7647 0C8517A0 038092A3 969DB65C BE23C03F
D6DAEF1A CDCC9658
nmap-4.76.tgz: SHA384 = D52917FD 9EE6EE62 F5F456BF E245675D B6EEEBC5 0A287B27
3CAA4F50 B171DC23 FE7808A8 C5E3A49A 4A78ACBE A5AEED33
nmap-4.76.tgz: SHA512 = 826CD89F 7930A765 C9FE9B41 1DAFD113 2C883857 2A3A9503
E4C1E690 20A37FC8 37564DC3 45FF0C97 EF45ABE6 6CEA49FF
E262B403 A52F4ECE C23333A0 48DEDA66
belasan> gpg --print-md sha256 nmap-4.76.tgznmap-4.76.tgz: 0E960E05 53EB7647 0C8517A0 038092A3 969DB65C BE23C03F D6DAEF1A
CDCC9658
belasan> sha1sum nmap-4.76.tgzNmap-4.76.tgz 4374cf9ca8822c285de9d00e8f6706d0bcfaa403
belasan> md5sum nmap-4.76.tgzNmap-4.76.tgz 54b5c9e3f44c1adde17df68170eb7cfe
Mendapatkan Nmap dari Repositori (SVN) Subversion
Selain rilis stabil reguler dan pengembangan, kode sumber terbaru Nmap selalu tersedia menggunakan Subversion (SVN) sistem kontrol revisi . Hal ini memberikan fitur baru dan versi / update deteksi database SO segera seperti yang dikembangkan. The downside adalah bahwa revisi SVN kepala tidak selalu stabil seperti rilis resmi. Jadi SVN adalah yang paling bermanfaat untuk pengembang Nmap dan pengguna yang membutuhkan memperbaiki yang belum resmi dirilis.SVN akses tulis adalah sangat terbatas untuk pengembang Nmap atas, tetapi setiap orang memiliki akses baca ke repositori. Check out kode terbaru menggunakan perintah svn co - tamu username - password "" svn: / / svn.insecure.org / nmap /. Kemudian Anda kemudian dapat memperbarui kode sumber Anda dengan mengetikkan svn up dalam direktori kerja Anda. Para "tamu" username adalah diperlukan karena adanya bug svnserve otorisasi.
Sementara sebagian besar pengguna hanya mengikuti
/nmap direktori di svn (yang menarik di /nbase , /nsock , dan /zenmap sendiri), ada satu direktori menarik lainnya: /nmap-exp . Direktori ini berisi cabang eksperimental Nmap Nmap yang membuat pengembang ketika mereka ingin mencoba hal baru tanpa yang tepat Nmap mendestabilisasi. Ketika pengembang merasa bahwa cabang eksperimental siap untuk yang lebih luas pengujian skala, mereka umumnya akan email lokasi ke milis nmap-dev.Setelah Nmap diperiksa, Anda dapat membangun dari kode sumber seperti yang Anda lakukan dengan tarbal Nmap (dijelaskan kemudian dalam bab ini).
Jika Anda ingin real-time (atau dicerna) pemberitahuan dan diffs melalui email bila ada perubahan yang dibuat ke Nmap, mendaftar untuk mailing list nmap-svn di http://cgi.insecure.org/mailman/listinfo/nmap- svn .
nmap (1) - Linux halaman manual
Nama
nmap - Tool eksplorasi jaringan dan keamanan / scanner portRingkasan
nmap [Pindai Tipe ...] [Options] {spesifikasi target}Keterangan
Nmap ("Network Mapper") merupakan sebuah tool open source untuk eksplorasi jaringan dan audit keamanan. Ia dirancang untuk cepat memindai jaringan besar, meskipun bekerja dengan baik terhadap host tunggal. Nmap menggunakan paket IP raw dalam cara yang baru untuk menentukan apa host yang tersedia pada jaringan, layanan apa (nama aplikasi dan versi) host-host yang menawarkan, apa sistem operasi (dan versi OS) mereka sedang berjalan, apa jenis paket filter / firewall sedang digunakan, dan puluhan karakteristik lain. Meskipun Nmap umumnya digunakan untuk audit keamanan, banyak administrator sistem dan jaringan menganggapnya berguna untuk tugas-tugas rutin seperti inventori jaringan, mengelola jadwal layanan upgrade, dan host pemantauan atau uptime layanan.Output dari Nmap adalah sebuah daftar target yang diperiksa, dengan informasi tambahannya tergantung pada opsi yang digunakan. Kunci di antara informasi itu adalah "port menarik meja". Bahwa tabel berisi daftar nomor port dan protokol, nama layanan, dan negara. Statusnya adalah terbuka, disaring, tertutup, atau tanpa filter. Terbuka berarti bahwa aplikasi pada mesin target sedang mendengarkan untuk koneksi / paket pada port tersebut. Difilter berarti bahwa sebuah firewall, filter, atau penghalang jaringan lainnya memblokir port sehingga Nmap tidak dapat mengetahui apakah ia terbuka atau tertutup. Port yang tertutup memiliki aplikasi tidak mendengarkan pada mereka, meskipun mereka dapat terbuka kapanpun. Pelabuhan diklasifikasikan sebagai unfiltered ketika mereka responsif terhadap probe Nmap, namun Nmap tidak dapat menentukan apakah mereka terbuka atau tertutup. Nmap melaporkan kombinasi status open | filtered dan closed | filtered ketika ia tidak dapat menentukan mana dari dua negara menggambarkan sebuah port. Tabel port mungkin juga menyertakan detil versi software ketika deteksi versi telah diminta. Ketika sebuah pemeriksaan protokol IP diminta (-sO), Nmap memberikan informasi pada protokol IP yang didukung alih-alih mendengarkan port.
Selain tabel port yang menarik, Nmap dapat memberikan informasi lebih lanjut tentang target, termasuk nama reverse DNS, menebak sistem operasi, jenis perangkat, dan alamat MAC.
Sebuah Nmap yang umum ditunjukkan pada Contoh 14.1, "Seorang wakil Nmap scan". Nmap hanya argumen-argumen yang digunakan dalam contoh ini adalah-A, untuk mengaktifkan deteksi OS dan versi,-T4 untuk eksekusi lebih cepat, dan kemudian dua nama host target. Contoh 14.1. Seorang wakil Nmap scan.sp
# Nmap-A-T4 scanme.nmap.org bermain
Mulai nmap ( http://insecure.org/nmap/ )
Menarik port pada scanme.nmap.org (205.217.153.62):
(The 1663 port yang discan tetapi tidak ditampilkan di bawah ini di negara: disaring)
PORT NEGARA VERSI LAYANAN
22/tcp ssh OpenSSH 3.9p1 terbuka (protokol 1.99)
53/tcp terbuka domain penuh
70/tcp gopher ditutup
80/tcp terbuka http Apache httpd 2.0.52 ((Fedora))
Auth 113/tcp ditutup
Jenis perangkat: tujuan umum
Menjalankan: Linux 2.4.x | 2.5.X | 2.6.x
OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11
Uptime 33,908 hari (sejak Kam 21 Jul 03:38:03 2005)
Menarik port pada playground.nmap.org (192.168.0.40):
(The 1659 port yang discan tetapi tidak ditampilkan di bawah ini di negara: tertutup)
PORT NEGARA VERSI LAYANAN
135/tcp membuka MSRPC Microsoft Windows RPC
139/tcp terbuka NetBIOS-SSN
Ldap 389/tcp terbuka?
445/tcp microsoft-ds terbuka Microsoft Windows XP microsoft-ds
1002/tcp membuka jendela-icfw?
1025/tcp membuka MSRPC Microsoft Windows RPC
1720/tcp terbuka H.323/Q.931 CompTek AquaGateKeeper
5800/tcp terbuka vnc-http RealVNC 4.0 (Resolusi 400x250; VNC TCP port: 5900)
VNC VNC 5900/tcp terbuka (protokol 3.8)
MAC Address: 00: A0: CC: 63:85:4 B (Lite-on Komunikasi)
Jenis perangkat: tujuan umum
Menjalankan: Microsoft Windows NT/2K/XP
OS rincian: Microsoft Windows XP Pro RC1 + melalui rilis final
Info Layanan: OS: Windows, Windows XP
Nmap selesai: 2 alamat IP (2 host up) discan dalam 88,392 detik
Versi terbaru dari Nmap dapat diperoleh dari http://insecure.org/nmap/ . Versi terbaru dari man page tersedia dari http://insecure.org/nmap/man/ .
Ringkasan Pilihan
Ringkasan opsi ini ditampilkan ketika Nmap dijalankan tanpa argumen, dan versi terbaru selalu tersedia di http://insecure.org/nmap/data/nmap.usage.txt . Ini membantu orang mengingat pilihan yang paling umum, namun ia bukanlah pengganti untuk dokumentasi mendalam di seluruh manual ini. Beberapa opsi tersembunyi tidak disertakan di sini.Nmap 4.20RC1 ( http://insecure.org ) Penggunaan: nmap [Pindai Type (s)] [Options] {spesifikasi target} SPESIFIKASI TARGET: Bisa lulus nama host, alamat IP, jaringan, dll Ex: scanme.nmap.org , microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254-iL <inputfilename>: Masukan dari daftar host / jaringan-iR <num hosts>: Pilih target acak - exclude <host1 [, host2] [, host3 ],...>: Kecualikan host / jaringan - excludefile <exclude_file>: Kecualikan daftar dari berkas DISCOVERY PEMBAWA ACARA:-sL: Scan Daftar - daftar target hanya untuk memindai-sP: Ping Scan - pergi lebih jauh lagi daripada menentukan jika tuan rumah sedang online-P0: Perlakukan semua host secara online - skip host discovery -PS/PA/PU [portlist]: TCP SYN / ACK atau UDP penemuan untuk diberikan -PE/PP/PM port: ICMP echo, timestamp, dan netmask permintaan penemuan probe -n/-R: Jangan melakukan resolusi DNS / Selalu mengatasi [standar: kadang-kadang] - dns-server <serv1[,serv2],...>: Tentukan kustom DNS server - system-dns: Gunakan OS DNS resolver TEKNIK SCAN: -sS/sT/sA/sW/sM: TCP SYN / Connect () / ACK / Window / Maimon scan-sU: UDP Scan -sN/sF/sX: TCP Null, FIN, dan Xmas scan - scanflags <flags>: Sesuaikan scan TCP bendera-sI <zombie host[:probeport]>: Idlescan-sO: IP protocol scan-b <ftp relay host>: bounce memindai FTP PORT SPESIFIKASI DAN KETERTIBAN SCAN:-p <pelabuhan berkisar>: Hanya memindai port Ex ditentukan:-p22;-p1-65535;-p U: 53,111,137, T :21-25, 80,139,8080-F: Fast - Scan hanya port yang terdaftar dalam file nmap-services) - r: Scan port berurutan - jangan mengacak LAYANAN / VERSION DETECTION:-sV: Probe port terbuka untuk menentukan layanan / version info - version-intensity <level>: Set dari 0 (cahaya) sampai 9 (mencoba semua probe) - -versi-cahaya: Batasi probe paling mungkin (intensitas 2) - version-all: Coba setiap probe tunggal (intensitas 9) - version-trace: Tampilkan aktivitas pemeriksaan versi rinci (untuk debugging) DETEKSI OS:-O: Aktifkan deteksi OS (coba generasi 2 w / fallback ke 1)-O2: Hanya menggunakan sistem OS deteksi baru (tidak ada fallback)-O1: Hanya menggunakan (1 generasi) berusia OS sistem deteksi - osscan-limit: Batasi deteksi SO untuk target yang menjanjikan - osscan-menebak: Tebak OS yang lebih agresif WAKTU DAN KINERJA: Pilihan yang mengambil <time> dalam milidetik, kecuali Anda menambahkan 's' (detik), 'm' (menit), atau 'h' (jam) dengan nilai (misalnya 30m). -T [0-5]: Set timing template (lebih tinggi lebih cepat) <size> --min-hostgroup/max-hostgroup: host memindai Paralel kelompok ukuran <time> --min-parallelism/max-parallelism: paralelisasi Probe - <time> -min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout: Menentukan waktu penyelidikan round trip. - Max-retries <tries>: Caps angka transmisi ulang penyelidikan port scan. - Host-timeout <time>: Berikan sampai pada target setelah ini <time> --scan-delay/--max-scan-delay panjang: Mengatur penundaan antara probe FIREWALL / IDS PENGELAKAN DAN SPOOFING:-f; - mtu <val>: fragmen paket (opsional w / diberikan MTU)-D <decoy1,decoy2[,ME],...>: Jubah scan dengan umpan-S <IP_Address>: Spoof sumber alamat-e <iface>: Gunakan ditentukan antarmuka -g/--source-port <portnum>: Gunakan diberikan nomor port - data-length <num>: Tambahkan data acak untuk paket yang dikirim - ip-options <options>: Kirim paket dengan pilihan ip tertentu - ttl <val>: Set IP time-to-live medan - spoof-mac <mac address/prefix/vendor <nama: Spoof MAC address Anda - badsum: Kirim paket dengan OUTPUT TCP / UDP checksum palsu:-oN / -oX/-oS/-oG <file>: Output scan normal, XML, s | <ript kIddi3, dan format grepable, masing-masing, dengan nama file yang diberikan. -OA <basename>: Output dalam tiga format utama sekaligus-v: Meningkatkan tingkat verbositas (menggunakan dua kali untuk efek lebih)-d [level]: Set atau meningkatkan level debugging (Hingga 9 adalah bermakna) - terbuka: Hanya menampilkan terbuka (atau mungkin terbuka) port - packet-trace: Tampilkan semua paket yang dikirim dan diterima - iflist: antarmuka host Cetak dan rute (untuk debugging) - log-errors: Login kesalahan / peringatan ke file output normal format - append-output: Tambahkan ke daripada mengalahkan file output yang ditentukan - resume <filename>: Lanjutkan scan dibatalkan - stylesheet <path/URL>: XSL stylesheet untuk mengubah output XML ke HTML - webxml: Referensi stylesheet dari Insecure Org untuk XML lebih portabel - no-stylesheet:. Mencegah dari XSL stylesheet bergaul w / XML output MISC: -6: Aktifkan pemindaian-A IPv6: Mengaktifkan deteksi OS dan deteksi Versi - datadir <dirname>: Tentukan kustom file data Nmap lokasi --send-eth/--send-ip: Kirim menggunakan frame ethernet raw atau paket IP - istimewa: Asumsikan bahwa pengguna adalah sepenuhnya hak istimewa - privilege: Asumsikan pengguna memiliki hak istimewa socket mentah-V: Cetak nomor versi - h: Cetak halaman ini ringkasan membantu. CONTOH: nmap-v-A scanme.nmap.org nmap-v-sP 192.168.0.0/16 10.0.0.0 / 8 nmap-v-iR 10000-P0-p 80
Sasaran Spesifikasi
Semuanya pada baris perintah Nmap yang bukan pilihan (atau argumen opsi) dianggap sebagai spesifikasi host target. Kasus paling sederhana adalah untuk menentukan alamat IP target atau nama host untuk diperiksa.Kadang-kadang Anda ingin memeriksa seluruh jaringan host yang berdekatan. Untuk ini, Nmap mendukung pengalamatan CIDR-style. Anda dapat menambahkan
/ Numbits ke alamat IP atau nama host dan Nmap akan memeriksa setiap alamat IP yang numbits pertamanya sama dengan alamat IP referensi atau nama host yang diberikan. Misalnya, 192.168.10.0/24 akan memindai 256 host antara 192.168.10.0 (biner: 11000000 10101000 00001010 00000000) dan 192.168.10.255 (biner: 11000000 10101000 00001010 11111111), inklusif. 192.168.10.40/24 akan melakukan hal yang sama. Mengingat bahwa scanme.nmap.org host pada alamat IP 205.217.153.62, yang spesifikasi scanme.nmap.org/16 akan memeriksa sebanyak 65.536 alamat IP antara 205.217.0.0 dan 205.217.255.255. Nilai terkecil yang diijinkan adalah / 1, yang memindai setengah Internet. Nilai terbesar adalah 32, yang hanya akan memeriksa host atau alamat IP karena seluruh bit alamat tetap.
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 umumnya disiarkan alamat. Nmap mendukung hal ini melalui pengalamatan rentang oktet. Alih-alih menspesifikasikan alamat IP normal, anda dapat menentukan yang dipisahkan dengan koma 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 dan atau .255. 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. Ini semacam Sampling luas dapat bermanfaat untuk riset dan survei Internet.
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.
Nmap menerima spesifikasi beberapa host pada baris perintah, dan mereka tidak perlu jenis yang sama. Perintah nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 melakukan apa yang Anda harapkan.
Meskipun target biasanya dispesifikasikan pada perintah baris, opsi berikut juga tersedia untuk mengendalikan pemilihan target:
-IL <inputfilename> (Input dari daftar)
Membaca spesifikasi target dari inputfilename. Memberikan banyak daftar host sering canggung pada baris perintah, namun adalah keinginan umum. Sebagai contoh, DHCP server anda mungkin mengekspor daftar 10.000 lease saat ini yang ingin anda periksa. Atau mungkin Anda ingin untuk memindai semua alamat IP, kecuali bagi mereka untuk menemukan host menggunakan alamat IP statis yang tidak sah. Cukup menghasilkan daftar host untuk memindai dan lulus nama file ke Nmap sebagai sebuah argumen bagi opsi-iL. Entri dapat dalam salah satu format yang diterima oleh Nmap di perintah baris (alamat IP, nama host, CIDR, IPv6, atau rentang oktet). Setiap entri harus dipisahkan oleh satu atau lebih spasi, tab, atau baris baru. Anda dapat menentukan tanda hubung (-) sebagai nama file jika anda ingin Nmap membaca host dari input standar alih-alih dari sebuah file.
-IR <num hosts> (Pilih target acak)
Untuk Internet-survei dan riset lainnya, Anda mungkin ingin memilih target secara acak. Argumen num hosts memberitahu Nmap berapa banyak IP untuk menghasilkan. IP yang tidak diinginkan seperti dalam rentang alamat privat, multicast, atau tidak dialokasi secara otomatis akan dilewati. Argumen ini 0 dapat dispesifikasikan untuk pemeriksaan yang tidak pernah berakhir. Perlu diingat bahwa beberapa administrator jaringan pemeriksaan yang tidak terotorisasi terhadap jaringan mereka dan mungkin mengeluh. Gunakan opsi ini dengan resiko Anda sendiri! Jika Anda menemukan diri Anda benar-benar merasa bosan di sore hari yang hujan, coba perintah nmap-sS-PS80-iR 0-p 80 untuk mencari server web acak untuk browsing.
- Exclude <host1[,host2][,host3],...> (Kecualikan host / jaringan)
Menentukan daftar dipisahkan koma-target yang ingin dikecualikan dari pemeriksaan meskipun mereka adalah bagian dari rentang jaringan yang anda tentukan. Daftar yang Anda berikan menggunakan sintaks Nmap normal, sehingga dapat mencakup nama host, CIDR netblocks, rentang oktet, dll Hal ini dapat berguna ketika jaringan yang ingin anda periksa menyertakan tersentuh server-server kritis, sistem yang dikenal untuk bereaksi negatif untuk port scan, atau subnetwork yang dikelola oleh orang lain.
- Excludefile <exclude_file> (Kecualikan daftar dari file)
Ini menawarkan fungsionalitas yang sama dengan opsi - mengecualikan, kecuali bahwa target dikecualikan disediakan dalam ruang, newline, atau exclude_file tab terbatas ketimbang pada baris perintah.
Tuan Penemuan
Salah satu langkah pertama dalam misi network reconnaissance adalah mengurangi satu set (biasanya besar) dari rentang IP ke sebuah daftar host yang aktif atau menarik. Setiap port scanning setiap alamat IP tunggal lambat dan biasanya tidak diperlukan. 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 internal, sementara penetration tester eksternal mungkin menggunakan beragam probe dalam usahanya menghindari pembatasan firewall.Karena kebutuhan pencarian host sangat beragam, Nmap menawarkan berbagai opsi untuk kustomisasi teknik yang digunakan. Pencarian host seringkali disebut ping scan, namun ia lebih daripada sekedar paket echo request ICMP yang diasosiasikan dengan alat ping. Pengguna dapat melewati langkah ping dengan list scan (-sL) atau dengan menonaktifkan ping (-P0), atau melakukan kombinasi probe multi-port TCP SYN / ACK, UDP, ICMP dan probe. Tujuan probe ini adalah memperoleh respon yang menunjukkan bahwa alamat IP sedang aktif (sedang digunakan oleh host atau perangkat jaringan). Pada banyak jaringan, hanya sebagian kecil dari alamat IP yang aktif pada waktu tertentu. Hal ini terutama umum terjadi pada RFC1918-diberkati ruang alamat pribadi seperti 10.0.0.0 / 8. Jaringan tersebut memiliki 16 juta IP, namun saya telah melihatnya digunakan oleh perusahaan dengan kurang dari seribu mesin. Penemuan host dapat menemukan mesin-mesin dalam lautan alamat IP yang dialokasikan.
Jika opsi pencarian host tidak diberikan, Nmap mengirimkan sebuah paket TCP ACK yang ditujukan untuk port 80 dan permintaan ICMP Echo Request ke setiap mesin target. Pengecualian untuk ini adalah scan ARP digunakan untuk sembarang target yang ada pada jaringan ethernet lokal. Untuk user shell UNIX biasa, sebuah paket SYN dikirim bukan Jack menggunakan koneksi () system call. Default ini setara dengan-PA-PE pilihan. Penemuan host ini seringkali cukup ketika melakukan pemeriksaan jaringan lokal, namun yang lebih komprehensif probe pencarian yang direkomendasikan untuk audit keamanan.
-P * pilihan (yang memilih tipe ping) dapat digabungkan. Anda dapat meningkatkan peluang Anda untuk firewall yang ketat dengan mengirimkan banyak jenis probe menggunakan port TCP yang berbeda / bendera dan kode ICMP. Juga mencatat bahwa penemuan ARP (-PR) secara baku dilakukan terhadap target pada jaringan ethernet lokal bahkan bila anda menspesifikasikan opsi-P *, karena hampir selalu lebih cepat dan lebih efektif.
Secara default, Nmap melakukan pencarian host dan lalu melakukan scan port terhadap setiap host yang ditentukan online. Hal ini berlaku bahkan jika Anda menentukan jenis non-standar pencarian host seperti probe UDP (-PU). Baca tentang opsi-sP untuk mempelajari bagaimana melakukan hanya pencarian host, atau menggunakan-P0 untuk melewati pencarian host dan port scan semua host target. Kontrol opsi pencarian host berikut:
-SL (Scan Daftar)
Scan daftar merupakan sebuah bentuk pencarian host yang hanya menampilkan setiap host pada jaringan (s) yang ditentukan, tanpa mengirimkan paket ke host target. Secara default, Nmap tetap melakukan resolusi reverse-DNS pada host untuk mengetahui namanya. Hal ini sering mengejutkan berapa banyak informasi yang berguna hostname sederhana memberikan. Sebagai contoh, fw.chi adalah nama firewall satu perusahaan di Chicago. Nmap juga melaporkan jumlah total alamat IP pada bagian akhir. Scan daftar merupakan sebuah pemeriksaan untuk memastikan bahwa Anda memiliki alamat IP yang tepat untuk target anda. Jika host menemukan nama domain yang tidak Anda kenal, perlu penyelidikan lanjutan untuk mencegah pemeriksaan jaringan perusahaan yang tidak tepat.
Karena gagasannya adalah hanya menampilkan daftar host target, opsi untuk fungsionalitas lebih tinggi seperti port scanning, deteksi SO, atau scanning ping tidak dapat dikombinasikan dengan ini. Jika Anda ingin menonaktifkan ping namun masih ingin melakukan fungsionalitas tingkat tinggi, membaca tentang opsi-P0.
-SP (Ping Scan)
Opsi ini memberitahu Nmap untuk hanya melakukan scan ping (host discovery), lalu mencetak host yang menanggapi pemeriksaan. Tidak ada pengujian lebih lanjut (seperti scan port atau deteksi SO) dilakukan. Ini adalah satu langkah lebih mengganggu daripada list scan, dan sering dapat digunakan untuk tujuan yang sama. Hal ini memungkinkan reconnaissance ringan atas jaringan target tanpa menarik banyak perhatian. Mengetahui berapa banyak host yang up yang lebih berharga bagi penyerang dari daftar yang disediakan oleh memindai daftar setiap IP dan nama host.
Administrator sistem sering menemukan opsi ini berharga juga. Hal ini dapat dengan mudah digunakan untuk menghitung mesin yang tersedia pada ketersediaan server jaringan atau monitor. Hal ini sering disebut ping sweep, dan lebih handal daripada mem-ping alamat broadcast karena banyak host tidak membalas query broadcast.
Opsi-sP mengirimkan permintaan ICMP echo dan sebuah paket TCP ke port 80 secara default. Ketika dilakukan oleh user biasa, sebuah paket SYN dikirim (menggunakan koneksi () panggilan) ke port 80 pada target. Ketika user dengan privilege berusaha memeriksa target pada jaringan lokal ethernet, permintaan ARP (-PR) digunakan kecuali - send-ip. Opsi-sP dapat dikombinasikan dengan tipe probe pencarian lainnya (opsi-P *, kecuali-P0) untuk fleksibilitas yang lebih besar. Jika salah satu opsi tipe probe dan nomor port yang digunakan, probe default (ACK dan echo request) akan di-override. Ketika firewall ketat di antara host sumber yang menjalankan Nmap dan jaringan target, menggunakan teknik lanjutan dianjurkan. Jika tidak host dapat luput ketika firewall drop probe atau responnya.
-P0 (ping Tidak)
Opsi ini melompati tahap pencarian Nmap secara utuh. Biasanya, Nmap menggunakan tahap ini untuk menentukan mesin aktif untuk pemeriksaan lebih. Secara baku, Nmap hanya melakukan probe seperti scan port, deteksi versi, atau deteksi SO terhadap host yang ditemukan up. Peniadaan pencarian host dengan-P0 menyebabkan Nmap melakukan fungsi pemeriksaan yang diminta terhadap setiap alamat IP target yang dispesifikasikan. Jadi jika target kelas B address space berukuran (/ 16) ini ditentukan pada baris perintah, semua 65.536 alamat IP yang dipindai. Bahwa karakter pilihan kedua di-P0 adalah nol dan bukan huruf O. Pencarian host yang tepat akan dilewati sebagaimana dengan list scan, tapi bukannya berhenti dan menampilkan daftar target, Nmap untuk melakukan fungsi yang diminta sebagaimana bila setiap IP target aktif .
-PS [portlist] (TCP SYN Ping)
Opsi ini mengirimkan sebuah paket TCP kosong dengan flag SYN diset. Port tujuan baku adalah 80 (dapat dikonfigurasi pada waktu kompilasi dengan merubah DEFAULT_TCP_PROBE_PORT dalam nmap.h), namun port alternatif dapat dispesifikasikan sebagai parameter. Sebuah daftar dipisahkan koma port bahkan dapat ditentukan (misalnya-PS22, 23,25,80,113,1050,35000), di mana probe kasus akan dicoba terhadap setiap port secara paralel.
Flag SYN memberitahu sistem remote bahwa anda berusaha untuk membuat sambungan. Normalnya port tujuan tertutup, dan sebuah paket RST (reset) akan dikirimkan kembali. Jika port terbuka, target akan melakukan langkah kedua dari TCP 3-way-handshake dengan menanggapi dengan paket TCP SYN / ACK. Mesin yang menjalankan Nmap lalu memutuskan koneksi tersebut dengan menanggapi dengan RST alih-alih mengirimkan sebuah paket ACK yang akan melengkapi 3-way-handshake dan membuat koneksi penuh. Paket RST yang dikirim oleh kernel dari mesin yang menjalankan Nmap sebagai tanggapan tak terduga SYN / ACK, bukan oleh Nmap sendiri.
Nmap tidak peduli apakah port terbuka atau tertutup. Entah RST atau SYN / ACK yang didiskusikan di atas memberitahu Nmap bahwa host tersedia dan responsif.
Pada kotak UNIX, hanya user privilege root umumnya dapat mengirim dan menerima paket raw TCP. Untuk pengguna biasa, secara otomatis sebuah workaround digunakan dimana system call connect () dimulai terhadap setiap port target. Hal ini memiliki efek mengirimkan paket SYN ke host target, dalam upaya untuk membuat sambungan. Jika connect () kembali dengan sukses cepat atau kegagalan ECONNREFUSED, stack TCP di bawahnya telah menerima SYN / ACK atau RST dan host ditandai tersedia. Jika usaha koneksi dibiarkan hingga tercapai timeout, host ditandai sebagai down. Workaround ini juga digunakan untuk koneksi IPv6, karena dukungan paket baku bangunan IPv6 belum tersedia di Nmap.
-PA [portlist] (TCP ACK Ping)
Ping TCP ACK hampir serupa dengan ping SYN yang baru didiskusikan. Bedanya, karena Anda mungkin bisa menebak, bahwa flag TCP ACK diset alih-alih flag SYN. Seperti sebuah paket ACK tersebut memberitahu data pada koneksi TCP, tetapi tidak ada koneksi. Sehingga host remote harus selalu menanggapi dengan paket RST, mengungkapkan keberadaan mereka dalam proses.
The-PA opsi menggunakan port default yang sama dengan probe SYN (80) dan juga dapat mengambil daftar port tujuan dalam format yang sama. Jika user tanpa privilege mencobanya, atau dispesifikasikan target IPv6, yang menghubungkan () solusi yang didiskusikan sebelumnya akan digunakan. Workaround ini tidak sempurna karena connect () sebenarnya mengirimkan paket SYN dan bukan paket ACK.
Alasan untuk menawarkan SYN dan ACK probe ping adalah untuk memaksimalkan peluang melewati firewall. Banyak administrator mengkonfigurasi router dan firewall sederhana untuk memblokir paket SYN incoming kecuali yang ditujukan untuk layanan publik seperti situs web perusahaan atau mail server. Hal ini mencegah koneksi incoming lainnya ke organisasi, sementara memungkinkan pengguna untuk melakukan koneksi outgoing ke Internet. Pendekatan non-stateful ini membutuhkan sedikit sumber daya pada firewall / router dan didukung luas oleh filter hardware dan software. Perangkat lunak Netfilter / iptables firewall Linux menawarkan opsi - syn untuk mengimplementasikan pendekatan stateless ini. Ketika aturan firewall bernegara seperti ini berada di tempat, SYN ping probe (-PS) kemungkinan akan diblokir ketika dikirim ke port target ditutup. Dalam kasus ini, probe ACK akan bersinar karena memotong kanan melalui aturan-aturan ini.
Jenis lain firewall umum lainnya menggunakan rule stateful yang drop paket tidak diharapkan. Fitur ini mulanya hanya ditemukan pada firewall high-end, meskipun telah menjadi jauh lebih umum selama bertahun-tahun. Sistem Netfilter / iptables Linux mendukung ini melalui opsi - state, yang mengkategorikan paket berdasarkan status koneksi. Sebuah probe SYN lebih mungkin untuk bekerja melawan sistem seperti itu, sebagai paket ACK yang tidak terduga umumnya diakui sebagai palsu dan menjatuhkan. Sebuah solusi untuk masalah ini adalah dengan mengirimkan probe SYN dan ACK dengan memberikan opsi-PS dan-PA.
-PU [portlist] (UDP Ping)
Opsi pencarian host lainnya adalah ping UDP, yang mengirim kosong (kecuali - data-length dispesifikasikan) paket UDP ke port yang diberikan. Portlist mengambil format yang sama dengan yang telah dibahas-PS dan-PA pilihan. Jika tidak ada port yang ditentukan, default adalah 31338. Baku ini dapat dikonfigurasi pada waktu kompilasi dengan mengubah DEFAULT_UDP_PROBE_PORT dalam nmap.h. Sebuah port yang sangat tidak umum, digunakan secara baku karena mengirim ke port terbuka seringkali tidak diharapkan untuk jenis pemeriksaan ini.
Setelah memukul port ditutup pada mesin target, probe UDP harus memperoleh sebuah paket ICMP port unreachable kembali. Hal ini memberitahu Nmap bahwa mesin up dan tersedia. Banyak jenis kesalahan ICMP, seperti host / network unreachables atau TTL exceeded menandakan host down atau tidak terjangkau. Kurangnya respon juga ditafsirkan dengan cara ini. Jika sebuah port terbuka, kebanyakan layanan akan mengabaikan paket kosong dan gagal mengirim tanggapan. Ini adalah mengapa port default adalah 31338 penyelidikan, yang sangat tidak mungkin digunakan. Beberapa layanan, seperti chargen, akan menanggapi paket UDP kosong, dan karenanya memberitahu Nmap bahwa mesin tersedia.
Keuntungan utama jenis scan ini adalah bahwa ia melewati firewall dan filter yang hanya memeriksa TCP. Sebagai contoh, saya pernah memiliki Linksys BEFW11S4 wireless broadband router. Antarmuka eksternal dari perangkat ini memfilter seluruh port TCP secara default, namun probe UDP tetap memberikan pesan port unreachable dan karenanya memberitahu perangkat.
-PE;-PP;-PM (ICMP Ping Jenis)
Selain TCP UDP yang tidak biasa dan tipe pencarian host dibahas sebelumnya, Nmap dapat mengirimkan paket standar yang dikirim oleh program ping. Nmap mengirimkan sebuah paket ICMP tipe 8 (echo request) paket ke alamat IP target, mengharapkan tipe 0 (Echo Reply) dari host yang tersedia. Sayangnya untuk pengeksplorasi jaringan, banyak host dan firewall yang memblokir paket-paket ini, daripada menanggapi seperti yang dipersyaratkan oleh [1] RFC 1122. Untuk alasan ini, scan ICMP-only relatif tidak handal terhadap target tak dikenal melalui Internet. Namun untuk administrator sistem yang memonitor jaringan internal, mereka dapat menjadi pendekatan yang praktis dan efisien. Gunakan opsi-PE untuk menggunakan perilaku echo request.
Meski echo request merupakan standar query ping ICMP, Nmap tidak berhenti di situ. Standar ICMP ([2] RFC 792) juga menentukan permintaan timestamp, meminta informasi, dan paket address mask request sebagai kode 13, 15 dan 17, masing-masing. Walaupun tujuan nyata untuk pertanyaan ini adalah untuk mempelajari informasi seperti masker alamat dan waktu saat ini, mereka dapat dengan mudah digunakan untuk pencarian host. Sebuah sistem yang balasan up dan tersedia. Nmap tidak mengimplementasikan paket informasi saat permintaan, karena mereka tidak didukung secara luas. RFC 1122 berkeras bahwa "sebuah host TIDAK SEHARUSNYA mengimplementasikan pesan-pesan". Timestamp dan alamat query mask dapat dikirim dengan-PP dan-PM pilihan, masing-masing. Reply timestamp (ICMP kode 14) atau reply Alamat mask (kode 18) memberitahukan bahwa host tersedia. Kedua query ini bermanfaat ketika admin khusus memblokir paket-paket echo request namun lupa bahwa query ICMP lainnya dapat digunakan untuk tujuan yang sama.
-PR (ARP Ping)
Salah satu skenario penggunaan Nmap yang umum adalah untuk memindai LAN ethernet. Pada kebanyakan LAN, terutama yang menggunakan RFC1918-diberkati rentang alamat privat, mayoritas alamat IP tidak digunakan pada waktu tertentu. Ketika Nmap mencoba untuk mengirim paket IP baku seperti permintaan ICMP echo, sistem operasi harus menentukan alamat hardware tujuan (ARP) yang sesuai dengan IP target sehingga ia dapat mengirimkan frame ethernet. Hal ini seringkali lambat dan bermasalah, karena sistem operasi tidak ditulis dengan harapan bahwa mereka akan perlu melakukan jutaan request ARP atas host tidak tersedia dalam jangka waktu singkat.
Scan ARP menempatkan Nmap dan algoritma dioptimalkan dalam menangani request ARP. Dan jika mendapat respon balik, Nmap tidak perlu khawatir tentang berbasis IP paket ping karena ia telah mengetahui bahwa host up. Hal ini membuat scan ARP jauh lebih cepat dan lebih dapat diandalkan daripada scan berbasis IP. Jadi hal itu dilakukan secara default ketika memeriksa host ethernet bahwa Nmap mendeteksi ada pada jaringan ethernet lokal. Bahkan jika tipe ping yang berbeda (seperti-PE atau-PS) yang ditentukan, Nmap menggunakan ARP bukan untuk salah satu target yang ada pada LAN yang sama. Jika Anda benar-benar tidak ingin melakukan scan ARP, berikan opsi - send-ip.
-N (Tidak resolusi DNS)
Memberitahu Nmap untuk tidak melakukan resolusi reverse DNS pada alamat IP aktif yang ditemukannya. Karena DNS dapat lambat meskipun dengan built-in Nmap resolver paralel, pilihan ini dapat memangkas kali pemindaian.
-R (DNS resolusi untuk semua target)
Memberitahu Nmap untuk selalu melakukan resolusi reverse DNS pada alamat IP target. Normalnya reverse DNS hanya dilakukan terhadap (online) host.
- System-dns (Gunakan sistem DNS resolver)
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 lusinan) dilakukan secara paralel untuk meningkatkan kinerja. Tentukan opsi ini untuk menggunakan penyelesai sistem anda, bukan (satu IP pada suatu waktu melalui getnameinfo () panggilan). Hal ini lebih lambat dan jarang bermanfaat kecuali anda menemukan bug dalam resolver paralel Nmap (mohon beritahu kami jika Anda melakukannya). Resolver sistem selalu digunakan untuk scan IPv6.
- Dns-server <server1[,server2],...> (Server digunakan untuk query DNS reverse)
Secara default Nmap akan mencoba untuk menentukan server DNS anda (untuk resolusi rDNS) dari file resolv.conf anda (UNIX) atau registri (Win32). Atau, Anda dapat menggunakan opsi ini untuk menspesifikasikan server alternatif. Pilihan ini tidak diindahkan bila anda menggunakan - system-dns atau melakukan scan IPv6. Menggunakan beberapa server DNS seringkali lebih cepat, terutama jika Anda memilih server otoritatif untuk ruang IP target anda. Opsi ini juga dapat meningkatkan siluman, karena request anda dapat diberikan ke sembarang server DNS rekursif di internet.
Opsi ini juga berguna ketika memeriksa jaringan privat. Terkadang hanya beberapa name server yang memberikan informasi rDNS yang tepat, dan Anda mungkin tidak tahu di mana mereka berada. Anda dapat memindai jaringan untuk port 53 (mungkin dengan deteksi versi), lalu coba scan list Nmap (-sL) menetapkan setiap server nama satu per satu dengan - dns-server sampai Anda menemukan satu yang bekerja.
Dasar Scanning Port
Meskipun Nmap telah tumbuh dalam fungsi selama bertahun-tahun, ia mulai sebagai sebuah scanner port yang efisien, dan tetap menjadi fungsi utamanya. Perintah sederhana nmap target lebih dari 1660 port TCP pada host target. Ketika banyak scanner port secara tradisional membagi seluruh port ke dalam status terbuka atau tertutup, Nmap lebih granular. Ini membagi port menjadi enam negara: terbuka, tertutup, disaring, disaring, open | filtered, atau tertutup | disaring.Negara-negara ini bukan sifat intrinsik dari pelabuhan itu sendiri, tapi menggambarkan bagaimana Nmap melihat mereka. Sebagai contoh, scan Nmap dari jaringan yang sama dengan target mungkin menampilkan port 135/tcp sebagai terbuka, sementara scan pada saat yang sama dengan opsi yang sama dari Internet mungkin menunjukkan bahwa port tersebut disaring.
Port enam negara yang diakui oleh Nmap
buka
Sebuah aplikasi secara aktif menerima koneksi TCP atau UDP paket pada port ini. Menemukan ini seringkali merupakan tujuan utama scanning port. Keamanan berpikiran orang 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 pengguna yang sah. Port terbuka juga menarik bagi scan bukan keamanan karena mereka menunjukkan layanan yang tersedia untuk digunakan pada jaringan.ditutup
Sebuah port tertutup dapat diakses (ia menerima dan menanggapi paket probe Nmap), namun tidak ada aplikasi yang mendengarkan padanya. Mereka dapat membantu dalam menunjukkan bahwa host up pada alamat IP (host discovery, atau ping scanning), dan sebagai bagian dari deteksi OS. Karena port yang tertutup bisa dijangkau, mungkin patut pemindaian kemudian dalam beberapa kasus sampai terbuka. Administrator mungkin ingin mempertimbangkan untuk memblok port tersebut dengan firewall. Lalu mereka akan muncul dalam status filtered, yang akan didiskusikan.
tersaring
Nmap tidak dapat menentukan apakah port terbuka karena packet filtering mencegah probenya mencapai port. Filter ini dapat dilakukan dari perangkat firewall khusus, aturan pada router, atau host berbasis perangkat lunak firewall. Port ini membuat penyerang frustrasi karena mereka memberikan sedikit informasi. Terkadang mereka menanggapi dengan pesan kesalahan ICMP misalnya tipe 3 kode 13 (destination unreachable: komunikasi dilarang secara administratif), tetapi filter yang hanya drop probe tanpa menanggapi jauh lebih umum. Ini Nmap kekuatan untuk mencoba beberapa kali hanya dalam kasus penyelidikan itu turun karena kemacetan jaringan daripada penyaringan. Hal ini memperlambat proses scan.
unfiltered
Status unfiltered berarti bahwa port dapat diakses, namun Nmap tidak dapat menentukan apakah ia terbuka atau tertutup. Hanya scan ACK, yang digunakan untuk memetakan 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.
open | filtered
Nmap port dalam status ini ketika tidak dapat menentukan apakah port terbuka atau disaring. Hal ini terjadi untuk jenis pemeriksaan ketika port terbuka tidak memberi respon. Kurangnya tanggapan dapat pula berarti bahwa packet filter drop probe atau respon yang diberikan. Jadi Nmap tidak tahu pasti apakah port terbuka atau disaring. UDP, Protokol IP, FIN, Null, dan Xmas port mengklasifikasikan cara ini.
closed | filtered
Status ini digunakan ketika Nmap tidak dapat menentukan apakah port tertutup atau disaring. Hal ini hanya digunakan untuk memindai Menganggur IPID.
Teknik Scanning Port
Sebagai seorang pemula yang melakukan perbaikan otomotif, saya dapat berjuang selama berjam-jam mencoba untuk menyesuaikan alat sederhana saya (palu, lakban, kunci pas, dll) untuk tugas di tangan. Ketika saya gagal total dan derek mobil tua saya ke seorang montir yang nyata, 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 yang sesuai (atau kombinasi) untuk tugas yang diberikan. Pengguna berpengalaman dan script kiddies, di sisi lain, mencoba untuk memecahkan setiap masalah dengan default SYN scan. Karena Nmap gratis, satu-satunya penghalang menguasai scanning port adalah pengetahuan. Itu tentu saja mengalahkan dunia otomotif, mana mungkin membutuhkan keahlian tinggi untuk menentukan bahwa anda butuh kompresor pegas strut, maka Anda masih harus membayar ribuan dolar untuk itu.Kebanyakan jenis scan hanya tersedia untuk pengguna istimewa. Hal ini karena mereka mengirim dan menerima paket raw, yang membutuhkan akses root pada sistem UNIX. Menggunakan account administrator pada Windows disarankan, meski terkadang Nmap dapat bekerja untuk pengguna unprivileged ketika WinPcap telah dimuatkan ke SO. Memerlukan hak root merupakan sebuah batasan serius ketika Nmap dirilis pada tahun 1997, karena banyak user hanya mempunyai akses ke shared shell. Sekarang, dunia berbeda. Komputer yang lebih murah, lebih banyak orang selalu-pada akses internet langsung, dan desktop sistem UNIX (termasuk Linux dan MAC OS X) yang lazim. Sebuah versi Nmap Windows kini tersedia, memungkinkan untuk berjalan di lebih banyak desktop. Untuk semua alasan ini, pengguna memiliki sedikit alasan untuk menjalankan Nmap dari akun shared shell yang terbatas. Ini merupakan keberuntungan, karena opsi privilege membuat Nmap lebih powerful dan fleksibel.
Meski Nmap berusaha untuk menghasilkan hasil yang akurat, perlu diingat bahwa semua pandangannya didasarkan pada paket yang dikembalikan oleh mesin target (atau firewall di depan mereka). Host tersebut dapat dipercaya dan tanggapan dimaksudkan untuk membingungkan atau mengacaukan Nmap. Yang lebih umum adalah non-RFC-compliant host yang tidak menanggapi sebagaimana yang seharusnya atas probe Nmap. FIN, Null, dan Xmas terutama rentan terhadap masalah ini. Isu tersebut adalah spesifik untuk jenis scan tertentu dan didiskusikan dalam entri jenis scan individual.
Bagian ini mendokumentasikan selusin atau lebih teknik scan port yang didukung oleh Nmap. Hanya satu metode yang dapat digunakan pada satu waktu, kecuali bahwa memindai UDP (-sU) dapat dikombinasikan dengan salah satu jenis scan TCP. Sebagai bantuan memori, opsi jenis scan port adalah dalam bentuk-s C, di mana C merupakan karakter utama dalam nama scan, biasanya yang pertama. Satu-satunya pengecualian untuk ini adalah FTP usang bounce scan (-b). Secara default, Nmap melakukan Scan SYN, meski ia menggantinya dengan scan connect bila user tidak memiliki privilege untuk mengirim paket raw (membutuhkan akses root pada UNIX) atau jika dispesifikasikan target IPv6. Dari scan yang ada di bagian ini, unprivileged user hanya dapat menjalankan ftp scan menghubungkan dan mental.
-SS (TCP SYN scan)
SYN scan merupakan opsi scan baku dan paling populer untuk alasan yang baik. Hal ini dapat dilakukan dengan cepat, memeriksa ribuan port per detik pada jaringan yang cepat tidak dihalangi oleh firewall mengganggu. 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 Nmap Fin / Null / Xmas, Maimon dan scan Menganggur lakukan. Hal ini juga memungkinkan pembedaan yang tegas dan handal antara status open, closed, dan disaring.
Teknik ini sering disebut sebagai setengah terbuka scanning, karena anda tidak membuka koneksi TCP penuh. Anda mengirim sebuah paket SYN, seperti jika Anda akan membuka koneksi sesungguhnya dan kemudian menunggu tanggapan. SYN / ACK menandakan port sedang mendengarkan (open), RST (reset) merupakan indikasi dari pendengar non-. Jika tidak ada respon yang diterima setelah beberapa kali pengiriman ulang, port ditandai sebagai filtered. Port juga ditandai filtered bila diterima kesalahan ICMP unreachable (tipe 3, kode 1,2, 3, 9, 10, atau 13) yang diterima.
-ST (TCP connect scan)
TCP connect scan default jenis scan TCP SYN scan ketika bukanlah suatu pilihan. Ini adalah kasus ketika pengguna tidak memiliki privilege untuk paket raw atau ketika melakukan pemeriksaan jaringan IPv6. Alih-alih menulis paket raw sebagaimana dilakukan jenis scan lainnya, Nmap meminta sistem operasi yang mendasari untuk membuat koneksi dengan mesin target dan port dengan memberikan koneksi () system call. Ini adalah tingkat tinggi yang sama sistem panggilan bahwa web browser, klien P2P, dan kebanyakan jaringan lainnya-aplikasi digunakan untuk membuat sambungan. Ini adalah bagian dari interface pemrograman yang dikenal sebagai Berkeley Sockets API. Ketimbang membaca tanggapan paket raw dari kawat, Nmap menggunakan API ini untuk memperoleh informasi status setiap usaha koneksi.
Bila SYN scan tersedia, biasanya pilihan yang lebih baik. Nmap kurang memiliki kendali atas tingkat tinggi menghubungkan () panggilan daripada paket raw, membuatnya kurang efisien. System call membuat koneksi lengkap untuk membuka port target daripada reset setengah terbuka yang dilakukan SYN scan. Hal ini tidak hanya memakan waktu lebih lama dan membutuhkan lebih banyak paket untuk memperoleh informasi yang sama, tapi mesin target kemungkinan mencatat koneksi. Sebuah IDS yang baik akan mendeteksi, namun kebanyakan mesin tidak memiliki sistem alarm tersebut. Kebanyakan layanan pada sistem UNIX rata-rata Anda akan menambahkan catatan ke syslog, dan kadang-kadang pesan kesalahan yang rumit, ketika Nmap menghubungkan dan kemudian menutup koneksi tanpa mengirim data. Sungguh menyedihkan layanan crash ketika hal ini terjadi, meskipun tidak umum. Administrator yang melihat serangkaian usaha koneksi di lognya dari sistem tunggal harus tahu bahwa dia telah terhubung dipindai.
-SU (UDP scan)
Sementara layanan yang paling populer di Internet menggunakan protokol TCP, [3] layanan UDP luas dipergunakan. DNS, SNMP, dan DHCP (port 53, 161/162, dan 67/68) adalah tiga yang paling umum. Karena 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.
Scan UDP diaktifkan dengan opsi-sU. Hal ini dapat digabungkan dengan jenis scan TCP seperti SYN scan (-sS) untuk memeriksa kedua buah protokol yang sama.
Scan UDP bekerja dengan mengirimkan header (tidak ada data) kosong UDP ke setiap port yang diinginkan. Jika diperoleh kesalahan ICMP port unreachable (tipe 3, kode 3), port ditutup. Kesalahan ICMP lainnya (tipe 3, kode 1, 2, 9, 10, atau 13) menandakan port sebagai filtered. Kadang-kadang, sebuah layanan akan menanggapi dengan paket UDP, membuktikan bahwa itu adalah terbuka. Jika tidak ada respon yang diterima setelah transmisi ulang, port ini diklasifikasikan sebagai open | filtered. Ini berarti bahwa port bisa terbuka, atau mungkin packet filter memblokir komunikasi. Versi scan (-sV) dapat digunakan untuk membantu membedakan antara port yang terbuka dengan yang disaring.
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 batas scan SYN atau connect, banyak host tingkat pesan ICMP port unreachable secara default. Linux dan Solaris terutama sangat ketat tentang hal ini. Sebagai contoh, kernel Linux 2.4.20 membatasi pesan destination unreachable ke satu per detik (dalam net/ipv4/icmp.c).
Nmap mendeteksi pembatasan ini dan memperlambat kerjanya untuk menghindari banjir jaringan dengan paket-paket tidak bahwa mesin target akan turun. Sayangnya, batas ala Linux dengan satu paket per detik membuat 65.536 scan port mengambil lebih dari 18 jam. Ide untuk mempercepat scan UDP Anda termasuk pemeriksaan lebih banyak host secara paralel, melakukan scan cepat hanya port populer dulu, pemeriksaan di belakang firewall, dan menggunakan - host-timeout untuk melewati host lambat.
-SN,-sF,-sX (TCP Null, FIN, dan Xmas)
Ketiga jenis scan (bahkan kemungkinan lebih dengan opsi - scanflags yang dijelaskan pada bagian berikutnya) mengeksploitasi kelemahan halus dalam TCP [4] RFC untuk membedakan antara port terbuka dan tertutup. Halaman 65 mengatakan bahwa "jika [tujuan] port state adalah .... TERTUTUP segmen masuk tidak mengandung RST RST menyebabkan yang akan dikirim dalam respon." Maka halaman berikutnya mendiskusikan paket yang dikirim untuk membuka port tanpa SYN, RST, atau ACK bit set, menyatakan bahwa: "Anda tidak mungkin untuk sampai ke sini, tetapi jika Anda melakukannya, drop segmen, dan kembali."
Ketika pemindaian sistem compliant dengan RFC teks ini, setiap paket tidak mengandung SYN, RST, atau ACK bit akan menghasilkan suatu RST yang dikembalikan jika port yang ditutup dan tidak ada respon sama sekali jika port terbuka. Selama tidak satupun dari mereka termasuk tiga bit, kombinasi dari tiga lainnya (FIN, PSH, dan URG) adalah OK. Nmap mengeksploitasi celah ini dengan tiga jenis scan:
Null scan (-sN)
Tidak mengirimkan bit (header flag tcp adalah 0)FIN scan (-sF)
Hanya menset bit FIN TCP.Xmas scan (-sX)
Set FIN, PSH, URG dan bendera, menerangi paket seperti sebuah pohon Natal.Ketiga jenis scan yang persis sama dalam perilaku kecuali untuk flag TCP yang ditetapkan dalam paket probe. Jika diterima paket RST, port dianggap closed, tidak ada respon berarti open | filtered. Port ditandai filtered bila diterima kesalahan ICMP unreachable (tipe 3, kode 1, 2, 3, 9, 10, atau 13) yang diterima.
Keuntungan utama jenis scan ini adalah bahwa mereka dapat menyusup melalui non-stateful firewall dan router packet filtering. Keuntungan lain adalah bahwa scan ini lebih tersembunyi bahkan bila dibandingkan dengan SYN scan. Jangan mengandalkan hal ini - paling modern IDS produk dapat dikonfigurasi untuk mendeteksi mereka. Kelemahan besar adalah bahwa tidak semua sistem mengikuti RFC 793 untuk surat itu. Sejumlah sistem mengirim respon RST atas probe tanpa perduli apakah port terbuka atau tidak. Hal ini membuat seluruh port dianggap sebagai closed. 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 sekalipun. Kekurangan lainnya adalah scan ini adalah bahwa mereka tidak dapat membedakan port terbuka yang filtered tertentu, meninggalkan Anda dengan tanggapan open | filtered.
-SA (TCP ACK scan)
Scan ini berbeda dari yang lain didiskusikan sejauh ini bahwa ia tidak pernah menentukan terbuka (atau bahkan open | filtered) port. Hal ini digunakan untuk memetakan aturan firewall, menentukan apakah mereka stateful atau tidak dan port mana yang disaring.
Paket probe scan ACK hanya memiliki flag ACK (kecuali anda menggunakan - scanflags). Ketika pemindaian sistem yang tidak disaring, port open dan closed keduanya akan mengembalikan paket RST. Nmap kemudian menandakan mereka sebagai unfiltered, yang berarti bahwa mereka dapat dicapai oleh paket ACK, tapi apakah mereka open atau closed. Port yang tidak merespon, atau mengirim pesan kesalahan ICMP (tipe 3, kode 1, 2, 3, 9, 10, atau 13), diberi label disaring.
-Sw (TCP Window scan)
Memindai jendela persis sama dengan ACK scan kecuali bahwa ia mengeksploitasi detil implementasi pada sistem tertentu yang membedakan port terbuka dengan port tertutup, daripada selalu menampilkan unfiltered ketika RST dikembalikan. Hal ini dilakukan 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. Jadi, bukannya selalu daftar port sebagai unfiltered ketika menerima kembali RST, memindai Jendela daftar port sebagai open atau closed jika nilai TCP Window dalam reset tersebut positif atau nol, masing-masing.
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 yang tertutup. Tentu saja, adalah mungkin mesin benar-benar tidak memiliki port terbuka. Jika kebanyakan port yang diperiksa adalah closed namun beberapa angka port umum (seperti 22, 25, 53) adalah filtered, sistem ini paling mungkin rentan. Kadang-kadang, sistem akan menunjukkan perilaku sebaliknya. Jika scan anda menunjukkan bahwa 1000 port terbuka dan 3 port tertutup atau disaring, maka ketiga mungkin sangat baik menjadi orang-orang benar-benar terbuka.
-SM (TCP Maimon scan)
Scan Maimon ini dinamai penemunya, Uriel Maimon. Ia menjelaskan teknik ini dalam Phrack Magazine issue # 49 (November 1996). Nmap, yang menyertakan teknik ini, dirilis dua isu kemudian. Teknik ini adalah persis sama dengan Null, FIN, dan Xmas, kecuali probenya adalah FIN / ACK. Menurut RFC 793 (TCP), paket RST harus dihasilkan dalam menanggapi seperti probe apakah port terbuka atau tertutup. Namun demikian, Uriel memperhatikan bahwa banyak turunan BSD sistem drop paket jika port terbuka.
- Scanflags (Custom TCP scan)
User Nmap mahir tidak perlu membatasi diri pada jenis scan yang tersedia. Opsi - scanflags memungkinkan anda merancang scan anda sendiri dengan menspesifikasikan sembarang flag TCP. Biarkan aliran kreatif Anda jus, sementara menghindari sistem deteksi intrusi yang hanya vendor paged melalui man page Nmap menambahkan aturan khusus!
Argumen - scanflags dapat berupa nilai flag numerik seperti 9 (PSH dan FIN), namun menggunakan nama simbolik lebih mudah. Hanya bubur bersama setiap kombinasi URG, ACK, PSH, RST, SYN, dan FIN. Sebagai contoh, - scanflags URGACKPSHRSTSYNFIN menset semuanya, meskipun tidak sangat berguna untuk pemindaian. Urutan spesifikasi tidaklah relevan.
Selain dengan menspesifikasikan flag yang diinginkan, Anda dapat menentukan jenis scan TCP (seperti-sA atau-sF). Jenis dasar tersebut memberitahu Nmap bagaimana menginterpretasikan respon. Sebagai contoh, SYN scan menganggap tidak ada tanggapan-untuk menunjukkan port disaring, sementara FIN scan memperlakukan sama sebagai open | filtered. Nmap akan berperilaku dengan cara yang sama hal ini untuk jenis scan dasar, kecuali bahwa ia akan menggunakan flag TCP yang Anda tentukan sebagai gantinya. Jika Anda tidak menentukan tipe dasar, SYN scan digunakan.
-SI <zombie host[:probeport]> (Idlescan)
Metode scan canggih memungkinkan untuk port TCP yang benar-benar buta scan target (artinya tidak ada paket dikirim ke target dari alamat IP anda yang sebenarnya). Sebaliknya, 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 kriteria tertentu). Jenis scan menarik ini terlalu kompleks untuk dijelaskan dalam panduan referensi ini, sehingga saya menulis dan menaruh paper informal dengan detil penuh di http://insecure.org/nmap/idlescan.html .
Selain sangat tersembunyi (karena sifat blind-nya), jenis scan ini mengijinkan pemetaan relasi kepercayaan berbasis IP antara mesin. Daftar port menampilkan port terbuka dari perspektif host zombi. Jadi Anda dapat mencoba memeriksa target dengan menggunakan beragam zombi yang anda anggap terpercaya (melalui aturan router / packet filter).
Anda dapat menambahkan titik dua diikuti nomor port pada host zombi jika anda ingin memeriksa port tertentu pada zombi untuk perubahan IPID. Jika tidak Nmap akan menggunakan port menggunakan secara default untuk tcp ping (80).
-SO (scan protokol IP)
Protokol memindai IP memungkinkan Anda untuk menentukan protokol IP (TCP, ICMP, IGMP, dsb) yang didukung oleh mesin target. Ini bukan teknis scan port, karena ia menggunakan nomor protokol IP, bukan TCP atau port UDP nomor. Namun ia tetap menggunakan opsi-p 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. Jadi cukup dekat dengan scan port sehingga berada di sini.
Selain berguna dalam dirinya sendiri, scan protokol mendemonstrasikan kekuatan perangkat lunak open source. Meskipun ide dasarnya cukup sederhana, saya tidak berpikir untuk menambahkan atau menerima permintaan untuk fungsionalitas tersebut. Lalu pada musim panas tahun 2000, Gerhard Rieger dikandung ide tersebut, menulis patch yang bagus untuk mengimplementasikannya, dan mengirimnya ke milis nmap-hacker. Saya menggabungkan patch yang ke Nmap dan merilis versi baru di hari berikutnya. Sedikit software komersial memiliki user yang cukup antusias untuk merancang dan memberikan kontribusi perbaikan!
Scan protokol bekerja dengan cara yang sama dengan scan UDP. Alih-alih beriterasi atas field nomor port paket UDP, ia mengirim header paket IP dan beriterasi pada field 8-bit protokol IP. Header biasanya kosong, tidak berisi data dan bahkan header yang sesuai untuk protokol yang diklaim. Tiga pengecualian adalah TCP, UDP, dan ICMP. Sebuah header protokol yang sesuai untuk mereka disertakan karena beberapa sistem tidak akan mengirimnya dan karena Nmap telah memiliki fungsi untuk menciptakan mereka. Alih-alih mengamati pesan ICMP port unreachable, scan protocol mencari pesan ICMP protocol unreachable. Jika Nmap menerima respon dalam sembarang protokol dari host target, Nmap menandai protokol tersebut sebagai open. Diperoleh kesalahan protokol ICMP (tipe 3, kode 2) menyebabkan protokol ditandai sebagai closed kesalahan ICMP unreachable lainnya (tipe 3, kode 1, 3, 9, 10, atau 13) menyebabkan protokol untuk ditandai filtered (meskipun mereka membuktikan bahwa ICMP open di waktu yang sama). Jika tidak ada respon yang diterima setelah transmisi ulang, protokol ditandai open | filtered
-B <ftp relay host> (FTP scan bounce)
Sebuah fitur menarik protokol FTP ([5] RFC 959) adalah dukungan untuk apa yang disebut koneksi ftp proxy yang. Hal ini memungkinkan user untuk terhubung 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 fitur ini adalah membuat server FTP ke host port scan lainnya. Cukup minta server FTP untuk mengirim file ke setiap port yang menarik dari host target. Pesan kesalahan akan menjelaskan apakah port terbuka atau tidak. Ini adalah cara yang baik untuk melewati firewall karena server FTP organisasi sering ditempatkan di mana mereka memiliki akses ke host internal daripada host Internet. Nmap mendukung scan bounce ftp dengan opsi-b. Dibutuhkan argumen dari bentuk username: password @ server:. Server port adalah nama atau alamat IP dari sebuah server FTP yang rentan. Sebagaimana dengan URL normal, anda dapat menghilangkan username: password, sehingga menggunakan login anonim (user: password anonim:-wwwuser @) digunakan. Nomor port (dan kolon sebelumnya) dapat dihilangkan juga, dalam hal default FTP port (21) pada server digunakan.
Kerentanan ini meluas di tahun 1997 ketika Nmap dirilis, namun sebagian besar telah diperbaiki. Server yang rentan masih ada, sehingga patut dicoba ketika semuanya gagal. Jika melewati firewall adalah tujuan Anda, scan jaringan target untuk port 21 (atau bahkan untuk sembarang layanan ftp jika anda scan seluruh port dengan deteksi versi), lalu coba scan bounce. Nmap akan memberitahu anda apakah host rentan atau tidak. Jika Anda hanya ingin menutupi jejak anda, anda tidak perlu (dan, pada kenyataannya, 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.
Pelabuhan Spesifikasi Dan Orde Pindai
Selain semua metode scan yang telah dijelaskan sebelumnya, Nmap menawarkan opsi untuk menspesifikasikan port mana yang dipindai dan apakah urutan scan secara acak atau berurutan. Secara baku, Nmap scan semua port sampai dengan dan termasuk 1024 serta port yang lebih tinggi nomor yang terdaftar dalam file nmap-services untuk protokol (s) sedang dipindai.-P <port ranges> (Hanya memindai port tertentu)
Opsi ini menentukan port yang ingin Anda scan dan meniadakan nilai baku. Nomor port individu adalah OK, dan juga rentang yang dipisahkan oleh tanda hubung (misalnya 1-1023). Nilai awal dan / atau akhir rentang dapat dihilangkan, menyebabkan Nmap untuk menggunakan 1 dan 65535, masing-masing. Jadi Anda dapat menentukan-p-untuk memeriksa port dari 1 sampai 65535. Port scanning nol diizinkan jika Anda tentukan secara eksplisit. Untuk pemeriksaan protokol IP (-sO), opsi ini menspesifikasikan nomor protokol yang ingin anda untuk memindai (0-255).
Ketika memeriksa port TCP dan UDP, anda dapat menentukan protokol tertentu dengan nomor port dengan T: atau U:. Kualifikasi ini berlangsung sampai Anda tentukan qualifier lain. Sebagai contoh, argumen-p U: 53,111,137, T :21-25, 80,139,8080 akan memeriksa port UDP 53111, dan 137, serta port TCP yang disebutkan. Perhatikan bahwa untuk memindai UDP & TCP, anda harus menspesifikasikan-sU dan paling tidak satu jenis scan TCP (seperti-sS,-sF, atau-sT). Jika tidak diberikan qualifier protokol, nomor port akan ditambahkan ke seluruh daftar protokol.
-F (Cepat (port terbatas) scan)
Menentukan bahwa Anda hanya ingin untuk memindai port yang terdaftar dalam file nmap-services yang datang dengan nmap (atau file protokol untuk-sO). Ini jauh lebih cepat daripada memindai semua port 65535 pada host. Karena daftar ini berisi begitu banyak port TCP (lebih dari 1200), perbedaan kecepatan dari standar TCP scan (sekitar 1650 port) tidak dramatis. Perbedaannya bisa sangat besar jika Anda menentukan sendiri kecil Anda nmap-layanan file dengan menggunakan opsi - datadir.
-R (Jangan mengacak port)
Secara default, 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 menentukan-r untuk pemeriksaan port secara berurutan.
Layanan Dan Versi Deteksi
Arahkan Nmap ke mesin remote dan ia dapat memberitahu anda bahwa port 25/tcp, 80/tcp, dan 53/udp terbuka. Menggunakan nmap-layanan database-nya dari sekitar 2.200 layanan yang dikenal, Nmap akan melaporkan bahwa port tersebut mungkin sesuai dengan sebuah mail server (SMTP), web server (HTTP), dan name server (DNS) masing-masing. Pencocokan ini biasanya akurat - sebagian besar daemon yang mendengarkan TCP port 25 adalah, pada kenyataannya, server mail. Namun, Anda tidak seharusnya terpaku pada hal ini! Orang-orang dapat dan menjalankan layanan pada port-port aneh.Bahkan jika Nmap benar, dan server hipotetis di atas menjalankan server SMTP, HTTP, dan DNS server, yang tidak banyak informasi. Ketika melakukan penilaian kerentanan (atau inventori jaringan) atas perusahaan atau klien, Anda benar-benar ingin mengetahui server mail dan DNS dan versi yang berjalan. Memiliki angka versi yang akurat akan membantu secara dramatis dalam menentukan eksploitasi yang server adalah rentan terhadap. Deteksi versi membantu anda memperoleh informasi ini.
Setelah 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 nmap-service-probes mengandung probe untuk melakukan query berbagai 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), nomor versi, hostname, jenis device (misal printer, router), OS keluarga (misalnya Windows, Linux) dan terkadang detil lainnya seperti apakah X server terbuka untuk koneksi, versi protokol SSH, atau nama pengguna KaZaA). Tentu saja, kebanyakan layanan tidak memberikan semua informasi ini. Jika Nmap dikompilasi dengan dukungan OpenSSL, ia akan koneksi ke server SSL untuk mendapatkan layanan yang berada di belakang lapisan enkripsi. Ketika ditemukan layanan RPC, Nmap RPC grinder (-sR) secara otomatis digunakan untuk menentukan program dan angka versi RPC. Some UDP ports are left in the open|filtered state after a UDP port scan is unable to determine whether the port is open or filtered. Version detection will try to elicit a response from these ports (just as it does with open ports), and change the state to open if it succeeds. open|filtered TCP ports are treated the same way. Note that the Nmap -A option enables version detection among other things. A paper documenting the workings, usage, and customization of version detection is available at http://insecure.org/nmap/vscan/ .
Ketika Nmap menerima respon dari sebuah layanan namun tidak dapat mencocokkannya ke database-nya, ia akan mencetak fingerprint khusus dan URL bagi Anda 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. Thanks to these submissions, Nmap has about 3,000 pattern matches for more than 350 protocols such as smtp, ftp, http, etc.
Version detection is enabled and controlled with the following options:
-sV (Version detection)
Mengaktifkan deteksi versi, seperti didiskusikan di atas. Alternatively, you can use -A to enable both OS detection and version detection.
--allports (Don't exclude any ports from version detection)
By default, Nmap version detection skips TCP port 9100 because some printers simply print anything sent to that port, leading to dozens of pages of HTTP get requests, binary SSL session requests, etc. This behavior can be changed by modifying or removing the Exclude directive in nmap-service-probes , or you can specify --allports to scan all ports regardless of any Exclude directive.
--version-intensity <intensity> (Set version scan intensity)
When performing a version scan ( -sV ), nmap sends a series of probes, each of which is assigned a rarity value between 1 and 9. The lower-numbered probes are effective against a wide variety of common services, while the higher numbered ones are rarely useful. Tingkat intensitas yang menentukan probe harus diterapkan. Semakin tinggi angkanya, semakin besar kemungkinan layanan akan diidentifikasi dengan benar. Namun, scan dengan intensitas tinggi membutuhkan waktu lebih lama. Intensitas harus antara 0 dan 9. Default adalah 7. When a probe is registered to the target port via the nmap-service-probes ports directive, that probe is tried regardless of intensity level. Hal ini memastikan bahwa probe DNS akan selalu dicoba terhadap sembarang port terbuka 53, probe SSL akan dilakukan terhadap 443, dll
--version-light (Enable light mode)
This is a convenience alias for --version-intensity 2 . Mode ringan ini membuat pemeriksaan versi lebih cepat, tetapi mungkin kurang dapat mengidentifikasi layanan.
--version-all (Try every single probe)
An alias for --version-intensity 9 , ensuring that every single probe is attempted against each port.
--version-trace (Trace version scan activity)
Hal ini membuat Nmap mencetak info debugging yang ekstensif tentang pemeriksaan versi yang sedang dilakukan. It is a subset of what you get with --packet-trace .
-sR (RPC scan)
This method works in conjunction with the various port scan methods of Nmap. It takes all the TCP/UDP ports found open and floods them with SunRPC program NULL commands in an attempt to determine whether they are RPC ports, and if so, what program and version number they serve up. Thus you can effectively obtain the same info as rpcinfo -p even if the target's portmapper is behind a firewall (or protected by TCP wrappers). Umpan tidak saat ini bekerja dengan RPC scan. This is automatically enabled as part of version scan ( -sV ) if you request that. As version detection includes this and is much more comprehensive, -sR is rarely needed.
Os Detection
Salah satu yang paling dikenal fitur Nmap adalah deteksi SO menggunakan TCP / IP stack fingerprinting. Nmap mengirimkan serangkaian paket TCP dan UDP ke host remote dan menguji setiap bit tanggapan. After performing dozens of tests such as TCP ISN sampling, TCP options support and ordering, IPID sampling, and the initial window size check, Nmap compares the results to its nmap-os-fingerprints database of more than 1500 known OS fingerprints and prints out the OS details if there is a match. Each fingerprint includes a freeform textual description of the OS, and a classification which provides the vendor name (eg Sun), underlying OS (eg Solaris), OS generation (eg 10), and device type (general purpose, router, switch, game console, etc).Jika Nmap tidak dapat menebak OS mesin, dan kondisinya bagus (misalnya, setidaknya satu port terbuka dan satu port ditutup ditemukan), Nmap akan memberikan URL yang dapat anda gunakan untuk menyerahkan fingerprint jika anda tahu (dengan pasti) OS berjalan pada mesin. Dengan melakukan ini anda berkontribusi ke database sistem operasi yang dikenali Nmap dan karenanya ia akan lebih akurat untuk semua orang.
OS detection enables several other tests which make use of information that is gathered during the process anyway. One of these is uptime measurement, which uses the TCP timestamp option (RFC 1323) to guess when a machine was last rebooted. This is only reported for machines which provide this information. Another is TCP Sequence Predictability Classification. Ini mengukur seberapa sulit itu adalah untuk membangun sebuah koneksi TCP ditempa terhadap remote host. Hal ini berguna untuk mengeksploitasi sumber-relasi trust berbasis IP (rlogin, filter firewall, dsb) atau untuk menyembunyikan sumber serangan. Spoofing jenis ini jarang dilakukan lagi, namun banyak mesin masih rentan untuk itu. Angka kesulitan aktualnya berdasarkan pada sampling statistik dan mungkin berfluktuasi. It is generally better to use the English classification such as "worthy challenge" or "trivial joke". This is only reported in normal output in verbose ( -v ) mode. When verbose mode is enabled along with -O , IPID Sequence Generation is also reported. Most machines are in the "incremental" class, which means that they increment the ID field in the IP header for each packet they send. Hal ini membuat mereka rentan terhadap pengumpulan beberapa informasi canggih dan serangan spoofing.
A paper documenting the workings, usage, and customization of OS detection is available at http://insecure.org/nmap/osdetect/ .
Deteksi SO diaktifkan dan dikendalikan dengan opsi-opsi berikut:
-O (Enable OS detection)
Memungkinkan deteksi SO, seperti didiskusikan di atas. Alternatively, you can use -A to enable both OS detection and version detection. 2nd generation OS detection is tried first. If that fails, Nmap will either print out the host fingerprint and ask you to submit it (if you are certain about what the target host is running), or Nmap will fall back to the 1st generation OS detection system in case its larger database has a match.
-O2 (2nd Generation OS Detection Only)
Enables 2nd generation OS detection, but never falls back to the old (1st generation) system, even if it fails to find any match. This saves time and can reduce the number of packets sent to each target.
-O1 (1nd Generation OS Detection Only)
Tells Nmap to only use the old OS detection system. If -O2 just gives you a fingerprint to submit, but you don't know what OS the target is running, try -O1 . But in that case, don't submit the fingerprint as you don't know for sure whether -O1 guess correctly. If it was perfect, we wouldn't have bothered to create -O2 .
This option, and all other vestiges of the old OS detection system, will likely be removed in late 2006 or in 2007.
--osscan-limit (Limit OS detection to promising targets)
Deteksi SO jauh lebih efektif jika setidaknya satu terbuka dan tertutup port TCP ditemukan. Set opsi ini dan Nmap tidak akan melakukan deteksi SO terhadap host yang tidak memenuhi kriteria ini. This can save substantial time, particularly on -P0 scans against many hosts. It only matters when OS detection is requested with -O or -A .
--osscan-guess ; --fuzzy (Guess OS detection results)
Ketika Nmap tidak dapat mendeteksi pertandingan OS yang sempurna, kadang-kadang menawarkan di dekat-pertandingan sebagai kemungkinan. Pertandingan harus sangat dekat untuk Nmap untuk melakukan hal ini secara default. Either of these (equivalent) options make Nmap guess more aggressively. Nmap tetap akan memberitahu anda ketika kecocokan tidak sempurna dicetak dan menampilkan tingkat kepercayaan (persentase) untuk setiap dugaan.
--max-os-tries (Set the maximum number of OS detection tries against a target)
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 kali saat kondisi tidak begitu baik. Specifying a lower --max-os-tries value (such as 1) speeds Nmap up, though you miss out on retries which could potentially identify the OS. Atau, nilai tinggi mungkin diatur untuk memungkinkan retries bahkan lebih ketika kondisi memungkinkan. Hal ini jarang dilakukan, kecuali untuk menghasilkan fingerprint yang lebih baik untuk penyerahan dan integrasi ke database SO Nmap. This option only affects second generation OS detection ( -O2 , the default) and not the old system ( -O1 ).
Timing And Performance
One of my highest Nmap development priorities has always been performance. A default scan ( nmap hostname ) of a host on my local network takes a fifth of a second. That is barely enough time to blink, but adds up when you are scanning tens or hundreds of thousands of hosts. Selain itu, beberapa opsi scan seperti pemeriksaan UDP dan deteksi versi dapat meningkatkan waktu pemeriksaan secara substansial. Jadi bisa konfigurasi firewall tertentu, terutama pembatasan rate respon. Meskipun Nmap menggunakan paralelisme dan algoritma canggih untuk mempercepat scan ini, pengguna memiliki kendali penuh atas jalannya Nmap. Pengguna ahli hati-hati kerajinan perintah Nmap untuk memperoleh informasi yang mereka hanya peduli dengan batasan waktu mereka.Teknik untuk memperbaiki waktu pemeriksaan mencakup menghilangkan tes non-kritis, dan mengupgrade ke versi terakhir Nmap (perbaikan kinerja dibuat secara rutin). Optimisasi parameter pewaktuan juga dapat membuat perbedaan yang substansial. Orang-orang pilihan tercantum di bawah ini.
Some options accept a time parameter. This is specified in milliseconds by default, though you can append 's', 'm', or 'h' to the value to specify seconds, minutes, or hours. So the --host-timeout arguments 900000, 900s, and 15m all do the same thing.
--min-hostgroup <numhosts> ; --max-hostgroup <numhosts> (Adjust parallel scan group sizes)
Nmap memiliki kemampuan untuk scan port atau versi memindai host secara paralel. Nmap melakukan hal ini dengan membagi ruang IP target ke dalam kelompok dan kemudian memeriksa satu kelompok pada suatu waktu. Secara umum, kelompok yang lebih besar lebih efisien. The downside adalah bahwa hasil host tidak dapat disediakan hingga seluruh kelompok selesai. Jadi jika Nmap dimulai dengan kelompok berukuran 50, user tidak akan menerima laporan (kecuali update yang diberikan dalam mode verbose) hingga 50 host pertama selesai.
Secara default, Nmap menggunakan pendekatan kompromi untuk konflik ini. Ini dimulai dengan ukuran kelompok serendah lima sehingga hasil pertama datang dengan cepat dan kemudian meningkatkan groupsize untuk setinggi 1024. Angka baku tergantung pada opsi yang diberikan. Untuk alasan efisiensi, Nmap menggunakan ukuran kelompok yang lebih besar untuk UDP atau sedikit-port TCP scan.
When a maximum group size is specified with --max-hostgroup , Nmap will never exceed that size. Specify a minimum size with --min-hostgroup and Nmap will try to keep group sizes above that level. Nmap mungkin harus menggunakan kelompok-kelompok lebih kecil daripada yang Anda tentukan jika tidak ada host target cukup kiri pada antarmuka yang diberikan untuk memenuhi minimum yang ditentukan. Keduanya dapat digunakan untuk menset ukuran kelompok dalam rentang tertentu, namun hal ini jarang diperlukan.
Penggunaan utama dari 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, tuan rumah ukuran kelompok 2048 atau lebih mungkin bermanfaat.
--min-parallelism <numprobes> ; --max-parallelism <numprobes> (Adjust probe parallelization)
Pilihan 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 memungkinkan probe yang beredar lebih sedikit. Angka probe ideal akan meningkat seiring jaringan membuktikan dirinya layak. Opsi ini menempatkan batas minimum atau maksimum pada variabel tersebut. By default, the ideal parallelism can drop to 1 if the network proves unreliable and rise to several hundred in perfect conditions.
The most common usage is to set --min-parallelism to a number higher than one to speed up scans of poorly performing hosts or networks. Ini adalah opsi berisiko untuk bermain dengan, karena setelan terlalu tinggi akan mempengaruhi akurasi. Pengaturan ini juga mengurangi kemampuan Nmap untuk mengendalikan paralelisme secara dinamis berdasarkan kondisi jaringan. A value of ten might be reasonable, though I only adjust this value as a last resort.
The --max-parallelism option is sometimes set to one to prevent Nmap from sending more than one probe at a time to hosts. This can be useful in combination with --scan-delay (discussed later), although the latter usually serves the purpose well enough by itself.
--min-rtt-timeout <time> , --max-rtt-timeout <time> , --initial-rtt-timeout <time> (Adjust probe timeouts)
Nmap memelihara sebuah nilai timeout untuk menentukan berapa lama ia akan menunggu respon probe sebelum ia menyerah atau mentransmisi ulang probe. Hal ini dihitung berdasarkan waktu respon probe sebelumnya. Jika latensi jaringan menunjukkan signifikan dan bervariasi, nilai timeout ini dapat meningkat ke beberapa detik. Ia juga dimulai dari tingkat konservatif (tinggi) dan mungkin tetap seperti itu untuk sementara waktu ketika Nmap scan host yang tidak responsif.
Specifying a lower --max-rtt-timeout and --initial-rtt-timeout than the defaults can cut scan times significantly. This is particularly true for pingless ( -P0 ) scans, and those against heavily filtered networks. 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.
If all the hosts are on a local network, 100 milliseconds is a reasonable aggressive --max-rtt-timeout value. If routing is involved, ping a host on the network first with the ICMP ping utility, or with a custom packet crafter such as hping2 that is more likely to get through a firewall. Lihatlah waktu perjalanan maksimum putaran dari sepuluh paket atau lebih. You might want to double that for the --initial-rtt-timeout and triple or quadruple it for the --max-rtt-timeout . I generally do not set the maximum rtt below 100ms, no matter what the ping times are. Nor do I exceed 1000ms.
--min-rtt-timeout is a rarely used option that could be useful when a network is so unreliable that even Nmap's default is too aggressive. Since Nmap only reduces the timeout down to the minimum when the network seems to be reliable, this need is unusual and should be reported as a bug to the nmap-dev mailing list.
--max-retries <numtries> (Specify the maximum number of port scan probe retransmissions)
Ketika Nmap tidak menerima respon atas probe scan port, hal ini dapat berarti bahwa port disaring. Atau mungkin probe atau respon hanya hilang pada jaringan. Hal ini juga kemungkinan bahwa 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 pada port. Sementara ini bermanfaat untuk akurasi, juga memperpanjang waktu pemeriksaan. Ketika kinerja sangat penting, scan dapat dipercepat dengan membatasi jumlah transmisi ulang yang diperbolehkan. You can even specify --max-retries 0 to prevent any retransmissions, though that is rarely recommended.
The default (with no -T template) is to allow ten retransmissions. Jika jaringan tampak handal dan host target tidak membatasi, Nmap biasanya melakukan hanya satu transmisi ulang. So most target scans aren't even affected by dropping --max-retries to a low value such as three. Nilai-nilai tersebut secara substansial dapat mempercepat scan yang lambat (terbatas tingkat) host. You usually lose some information when Nmap gives up on ports early, though that may be preferable to letting the --host-timeout expire and losing all information about the target.
--host-timeout <time> (Give up on slow target hosts)
Some hosts simply take a long time to scan. Hal ini mungkin karena perangkat keras jaringan tidak berkinerja baik atau tidak dapat diandalkan atau perangkat lunak, menilai paket untuk membatasi, atau firewall yang terlalu ketat. Beberapa persen host paling lambat yang diperiksa dapat menghabiskan sebagian besar waktu pemeriksaan. Kadang-kadang yang terbaik adalah untuk memotong kerugian dan melewati host-host tersebut. Specify --host-timeout with the maximum amount of time you are willing to wait. I often specify 30m to ensure that Nmap doesn't waste more than half an hour on a single host. Note that Nmap may be scanning other hosts at the same time during that half an hour as well, so it isn't a complete loss. Sebuah host yang timeout akan dilewati. Tidak tabel port, deteksi SO, atau deteksi versi akan dicetak untuk host tersebut.
--scan-delay <time> ; --max-scan-delay <time> (Adjust delay between probes)
Pilihan ini menyebabkan Nmap untuk menunggu setidaknya jumlah yang diberikan waktu antara setiap pemeriksaan yang dikirimkan ke sebuah host yang diberikan. Hal ini terutama bermanfaat dalam hal pembatasan. Solaris mesin (antara yang lainnya) biasanya akan menanggapi paket probe scan UDP dengan hanya satu pesan ICMP per detik. Setiap lebih dari yang dikirim oleh Nmap akan boros. A --scan-delay of 1s will keep Nmap at that slow rate. Nmap berusaha untuk mendeteksi pembatasan rate dan menyesuaikan delay scan, namun tidak ada salahnya untuk menentukan secara eksplisit bila anda telah tahu rate terbaik.
Ketika Nmap menyesuaikan delay scan ke atas untuk mengatasi dengan tingkat membatasi, scan melambat secara dramatis. Opsi - max-scan-delay menspesifikasikan delay terbesar yang dibolehkan Nmap. Menetapkan nilai ini terlalu rendah dapat menyebabkan transmisi ulang paket yang tidak perlu dan port luput ketika target mengimplementasikan pembatasan rate ketat.
Another use of --scan-delay is to evade threshold based intrusion detection and prevention systems (IDS/IPS).
--defeat-rst-ratelimit
Many hosts have long used rate limiting to reduce the number of ICMP error messages (such as port-unreachable errors) they send. Beberapa sistem menggunakan batas tingkat yang sama dengan (reset) paket RST yang mereka hasilkan. This can slow Nmap down dramatically as it adjusts its timing to reflect those rate limits. You can tell Nmap to ignore those rate limits (for port scans such as SYN scan which don't treat nonresponsive ports as open) by specifying --defeat-rst-ratelimit .
Using this option can reduce accuracy, as some ports will appear nonresponse because Nmap didn't wait long enough for a rate-limited RST response. With a SYN scan, the non-response results in the port being labeled filtered rather than the closed state we see when RST packets are received. This optional is useful when you only care about open ports, and distinguishing between closed and filtered ports isn't worth the extra time.
-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (Set a timing template)
While the fine grained timing controls discussed in the previous section are powerful and effective, some people find them confusing. Selain itu, memilih nilai yang tepat terkadang membutuhkan waktu lebih lama daripada pemeriksaan Anda mencoba untuk mengoptimalkan. Sehingga Nmap menawarkan pendekatan yang lebih sederhana, dengan enam template waktu. You can specify them with the -T option and their number (0 - 5) or their name. The template names are paranoid (0), sneaky (1), polite (2), normal (3), aggressive (4), and insane (5). Dua yang pertama adalah untuk menghindari IDS. Modus Sopan memperlambat scan untuk menggunakan bandwidth yang kurang dan sumber daya mesin target. Normal mode is the default and so -T3 does nothing. Mode Aggressive mempercepat scan dengan membuat asumsi bahwa Anda berada di jaringan yang cepat dan handal. Finally Insane mode assumes that you are on an extraordinarily fast network or are willing to sacrifice some accuracy for speed.
Template ini memungkinkan pengguna untuk menentukan bagaimana mereka ingin agresif, dan membiarkan Nmap memilih nilai-nilai waktu yang tepat. The templates also make some minor speed adjustments for which fine grained control options do not currently exist. For example, -T4 prohibits the dynamic scan delay from exceeding 10ms for TCP ports and -T5 caps that value at 5 milliseconds. Templates can be used in combination with fine grained controls, and the fine-grained controls will you specify will take precedence over the timing template default for that parameter. I recommend using -T4 when scanning reasonably modern and reliable networks. Keep that option even when you add fine grained controls so that you benefit from those extra minor optimizations that it enables.
If you are on a decent broadband or ethernet connection, I would recommend always using -T4 . Some people love -T5 though it is too aggressive for my taste. People sometimes specify -T2 because they think it is less likely to crash hosts or because they consider themselves to be polite in general. They often don't realize just how slow -T Polite really is. Mereka scan dapat mengambil sepuluh kali lebih lama daripada scan default. Machine crashes and bandwidth problems are rare with the default timing options ( -T3 ) and so I normally recommend that for cautious scanners. Menghilangkan deteksi versi jauh lebih efektif daripada bermain dengan nilai pewaktuan dalam mengurangi masalah ini.
While -T0 and -T1 may be useful for avoiding IDS alerts, they will take an extraordinarily long time to scan thousands of machines or ports. For such a long scan, you may prefer to set the exact timing values you need rather than rely on the canned -T0 and -T1 values.
The main effects of T0 are serializing the scan so only one port is scanned at a time, and waiting five minutes between sending each probe. T1 and T2 are similar but they only wait 15 seconds and 0.4 seconds, respectively, between probes. T3 is Nmap's default behavior, which includes parallelization. T4 does the equivalent of --max-rtt-timeout 1250 --initial-rtt-timeout 500 --max-retries 6 and sets the maximum TCP scan delay to 10 milliseconds. T5 does the equivalent of --max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --max-retries 2 --host-timeout 15m as well as setting the maximum TCP scan delay to 5ms.2.1. Address Resolution Protocol (ARP) | ||
Bab 2. Ethernet | ||
2.1. Address Resolution Protocol (ARP)
Address Resolution Protocol (ARP) melayang dalam bayang-bayang jaringan paling. Karena kesederhanaannya, jika dibandingkan dengan protokol layer yang lebih tinggi, ARP jarang terasa pada rutinitas administrator jaringan. Semua IP-capable modern sistem operasi menyediakan dukungan untuk ARP. Alternatif biasa untuk ARP static link-layer-ke-IP pemetaan.ARP mendefinisikan pertukaran antara antarmuka jaringan yang terhubung ke segmen media Ethernet dalam rangka untuk memetakan alamat IP ke alamat lapisan link pada permintaan. Link alamat lapisan hardware alamat (meskipun mereka tidak berubah ) pada kartu Ethernet dan alamat IP adalah alamat logis ditugaskan untuk mesin terpasang ke Ethernet. Selanjutnya dalam bab ini, link alamat lapisan mungkin dikenal oleh banyak nama yang berbeda: Ethernet alamat, Media Access Control (MAC) alamat, dan bahkan alamat hardware. Disputably, istilah yang benar dari perspektif kernel adalah "link layer alamat" karena alamat ini dapat diubah (pada kartu Ethernet banyak) melalui alat baris perintah. Namun demikian, istilah ini tidak realistis yang berbeda dan dapat digunakan secara bergantian.
2.1.1. Sekilas Address Resolution Protokol
Address Resolution Protocol (ARP) ada hanya untuk lem bersama-sama lapisan jaringan IP dan Ethernet. Karena perangkat keras jaringan seperti switch, hub, dan jembatan beroperasi pada frame Ethernet, mereka tidak menyadari data lapisan yang lebih tinggi dilakukan oleh frame [ 9 ]. Demikian pula, perangkat lapisan IP, operasi pada paket IP harus mampu mengirimkan data IP mereka pada Ethernets. ARP mendefinisikan percakapan dengan yang host yang mampu dapat bertukar pemetaan IP Ethernet dan alamat IP.ARP digunakan untuk menemukan alamat Ethernet yang terkait dengan alamat IP yang diinginkan. Ketika mesin memiliki paket terikat untuk IP pada sebuah jaringan Ethernet yang terhubung secara lokal, ia akan mengirim frame broadcast Ethernet yang berisi sebuah permintaan ARP ke Ethernet. Semua mesin dengan alamat broadcast Ethernet yang sama akan menerima paket [ 10 ]. Jika mesin menerima permintaan ARP dan IP host yang diminta, ia akan merespon dengan alamat lapisan link yang akan menerima paket untuk alamat IP NB,. Yang
arp_filter sysctl akan mengubah perilaku ini agak. Setelah pemohon menerima paket respon, ia mengaitkan alamat MAC dan alamat IP. Informasi ini disimpan dalam cache ARP . Cache arp dapat dimanipulasi dengan ip tetangga dan arp perintah. Untuk mempelajari bagaimana dan kapan untuk memanipulasi cache ARP, lihat Bagian B.1, "arp" .
Pada Contoh 1.2, "Pengujian reachability dari host lokal terhubung dengan ping" , kami menggunakan ping untuk menguji reachability dari
masq-gw . Menggunakan packet sniffer untuk menangkap urutan paket pada Ethernet sebagai akibat dari tristan upaya 's untuk melakukan ping, memberikan contoh ARP tertangkap basah. Konsultasikan peta contoh jaringan untuk sebuah representasi visual dari tata letak jaringan di mana lalu lintas ini terjadi. Ini adalah percakapan tipikal antara dua komputer bertukar menangani perangkat keras yang relevan agar mereka dapat melewati paket IP, dan terdiri dari dua frame Ethernet.
Contoh 2.1. Percakapan ARP ditangkap dengan tcpdump [ 11 ]
Ini frame broadcast Ethernet, diidentifikasi oleh alamat tujuan Ethernet dengan semua set bit (ff: ff: ff: ff: ff: ff) berisi permintaan ARP dari tristan untuk alamat IP 192.168.99.254. Permintaan mencakup sumber alamat link layer dan alamat IP dari pemohon, yang menyediakan informasi yang cukup bagi pemilik alamat IP untuk membalas dengan alamat lapisan dalam koleksi. | |
Jawaban ARP dari masq-gw termasuk link layer dengan alamat dan deklarasi kepemilikan dari alamat IP yang diminta. Perhatikan bahwa jawaban ARP respon unicast ke permintaan siaran. Payload dari ARP berisi pemetaan alamat link layer.Mesin yang memprakarsai permintaan ARP ( tristan ) sekarang memiliki informasi yang cukup untuk merangkum sebuah paket IP dalam sebuah frame Ethernet dan maju ke alamat link layer penerima (00:80: C8: f8: 5c: 73). | |
Dua akhir paket dalam Contoh 2.1, "percakapan ARP ditangkap dengan tcpdump" menampilkan header link layer paket ICMP dan dienkapsulasi dipertukarkan antara dua host. Memeriksa ARP cache pada masing-masing host akan mengungkapkan entri pada setiap host untuk alamat lapisan host lain link. |
Sebuah penggunaan lebih langka dari ARP ARP serampangan, di mana mesin mengumumkan kepemilikan dari alamat IP pada segmen media. Para arping utilitas dapat menghasilkan ini ARP frame beralasan. Kernel linux akan menghormati serampangan ARP frame [ 12 ].
Contoh 2.2. ARP perdeo balasan frame
|
Frame ARP permintaan yang tidak diminta, di sisi lain, adalah siaran permintaan ARP diprakarsai oleh host memiliki alamat IP.
Contoh 2.3. Permintaan ARP yang tidak diminta frame
|
Untuk menghindari tabrakan alamat IP pada jaringan dinamis (di mana host yang menghidupkan dan mematikan, menghubungkan dan memutuskan hubungan dan sebaliknya mengubah alamat IP) deteksi alamat duplikat menjadi penting. Untungnya, arping menyediakan fungsi ini juga. Sebuah skrip startup bisa termasuk utilitas arping dalam mode deteksi alamat duplikat untuk memilih antara alamat IP atau metode untuk memperoleh alamat IP.
Contoh 2.4. Gandakan Deteksi Alamat dengan ARP
|
2.1.2. ARP Cache
Dalam istilah sederhana, cache ARP adalah pemetaan alamat IP disimpan dengan alamat link layer. Sebuah cache ARP meniadakan kebutuhan untuk percakapan permintaan / ARP untuk setiap paket IP dipertukarkan. Tentu, efisiensi ini datang dengan harga. Setiap host mempertahankan ARP cache sendiri, yang dapat menjadi usang ketika tuan rumah diganti, atau bergerak alamat IP dari satu host ke yang lain. Cache ARP juga dikenal sebagai meja tetangga.Untuk menampilkan cache ARP, mengagumkan terhormat dan cross-platform arp kiriman tugasnya. Seperti dengan banyak alat iproute2, informasi lebih lanjut tersedia melalui ip tetangga dibandingkan dengan arp. Contoh 2.5, "daftar cache ARP dengan arp dan tetangga ip" di bawah ini mengilustrasikan perbedaan output antara output dari dua alat yang berbeda.
Contoh 2.5. ARP cache listing dengan arp dan tetangga ip
|
Entri dalam cache ARP secara periodik dan secara otomatis diverifikasi kecuali terus-menerus digunakan. Seiring dengan
net/ipv4/neigh/$DEV/gc_stale_time , ada sejumlah parameter lain dalam net/ipv4/neigh/$DEV yang mengontrol berakhirnya entri dalam cache ARP. Ketika tuan rumah sedang down atau terputus dari Ethernet, ada periode waktu dimana host lain mungkin memiliki entri ARP cache untuk host terputus. Setiap mesin lain dapat menampilkan meja tetangga dengan alamat lapisan link dari host baru terputus. Karena ada link baru dikenal-baik alamat pada lapisan IP mana itu terjangkau, entri akan mematuhi. Pada
gc_stale_time keadaan entri akan berubah, yang mencerminkan kebutuhan untuk memverifikasi reachability dari alamat lapisan link. Ketika host terputus gagal untuk menanggapi permintaan ARP, entri tabel tetangga akan ditandai sebagai incomplete Berikut adalah negara-negara yang mungkin untuk entri dalam tabel tetangga.
Tabel 2.1. Aktif entri ARP cache negara
Entri ARP cache negara | arti | tindakan jika digunakan |
permanen | tidak pernah berakhir; tidak pernah diverifikasi | ulang menggunakan counter |
noarp | berakhirnya normal; tidak pernah diverifikasi | ulang menggunakan counter |
terjangkau | yang normal berakhirnya | ulang menggunakan counter |
basi | masih dapat digunakan; kebutuhan verifikasi | ulang menggunakan counter; negara perubahan untuk menunda |
penundaan | jadwal permintaan ARP; kebutuhan verifikasi | ulang menggunakan counter |
penyelidikan | mengirim permintaan ARP | ulang menggunakan counter |
tidak lengkap | pertama permintaan ARP dikirim | mengirim permintaan ARP |
gagal | tidak ada respon yang diterima | mengirim permintaan ARP |
tristan cache ARP 's pada jaringan contoh baru saja diputus. Ada serangkaian peristiwa yang akan terjadi sebagai tristan entri ARP cache 's untuk 192.168.99.7 berakhir dan akan dijadwalkan untuk verifikasi. Bayangkan bahwa perintah berikut dijalankan untuk menangkap masing-masing negara segera sebelum berubah status. Contoh 2.6. ARP cache batas waktu
Sebelum masuk telah berakhir untuk 192.168.99.7, tapi setelah tuan rumah telah terputus dari jaringan. Selama waktu ini, tristan akan terus mengirimkan frame Ethernet dengan alamat bingkai tujuan yang ditetapkan ke alamat link layer sesuai dengan entri ini. | |
Telah gc_stale_time detik sejak masuk telah diverifikasi, sehingga negara telah berubah menjadi basi. | |
Ini entri dalam tabel tetangga telah diminta. Karena entri tersebut dalam keadaan basi, alamat link layer digunakan, tapi sekarang kernel perlu untuk memverifikasi keakuratan alamat. Kernel akan segera mengirim permintaan ARP untuk alamat IP tujuan. | |
Kernel secara aktif melakukan resolusi alamat untuk catatan tersebut. Ini akan mengirim total ucast_solicit frame ke alamat link terakhir diketahui lapisan untuk mencoba untuk memverifikasi reachability alamat. Gagal ini, ia akan mengirim mcast_solicit siaran frame sebelum mengubah negara ARP cache dan kembali kesalahan untuk setiap layanan lapisan yang lebih tinggi. | |
Setelah semua upaya untuk mencapai alamat tujuan telah gagal, entri akan muncul dalam tabel tetangga di negara ini. |
mcast_solicit permintaan ARP sampai menerima jawaban. Selama periode penemuan, entri ARP cache akan terdaftar dalam keadaan tidak lengkap. Jika pencarian tidak berhasil setelah jumlah tertentu permintaan ARP, entri ARP cache akan terdaftar dalam keadaan gagal. Jika lookup tidak berhasil, kernel memasuki respon ke dalam cache ARP dan me-reset timer konfirmasi dan update. Setelah diterimanya jawaban ARP sesuai, kernel masuk respon ke cache ARP dan me-reset timer konfirmasi dan update.
Untuk mesin tidak menggunakan pemetaan statis untuk lapisan link dan alamat IP, ARP menyediakan pada pemetaan permintaan. Sisa dari bagian ini akan mencakup metode yang tersedia di bawah linux untuk mengontrol protokol resolusi alamat.
2.1.3. ARP Supresi
Lengkap penindasan ARP tidak sulit sama sekali. ARP penekanan dapat dicapai di bawah linux pada basis per-antarmuka dengan menetapkan bendera noarp pada setiap interface Ethernet. Menonaktifkan ARP akan memerlukan pemetaan tabel tetangga statis untuk semua host yang ingin paket pertukaran di Ethernet.Untuk menekan ARP pada interface hanya menggunakan link ip dev $ DEV mengatur arp off seperti pada Contoh B.7, "Menggunakan link yang ip diatur untuk mengubah bendera perangkat" atau ifconfig $ DEV-arp seperti pada Contoh C.5, "Mengatur bendera antarmuka dengan ifconfig " . Lengkapi penindasan ARP akan mencegah host dari mengirim request ARP atau menanggapi dengan balasan ARP.
2.1.4. Masalah ARP Flux
Ketika kotak linux terhubung ke segmen jaringan dengan beberapa kartu jaringan, masalah potensial dengan alamat lapisan link ke pemetaan alamat IP dapat terjadi. Mesin dapat menanggapi permintaan ARP dari kedua interface Ethernet. Pada mesin menciptakan permintaan ARP, beberapa jawaban dapat menyebabkan kebingungan, atau lebih buruk lagi, non-deterministik populasi cache ARP. Dikenal sebagai ARP fluks [ 13 ], ini dapat menyebabkan efek mungkin membingungkan bahwa IP non-deterministik bermigrasi melalui alamat link layer ganda. Sangat penting untuk memahami bahwa fluks ARP biasanya hanya mempengaruhi host yang memiliki koneksi fisik untuk media yang sama atau broadcast domain.Ini adalah ilustrasi sederhana dari masalah dalam jaringan di mana sebuah server memiliki dua adapter Ethernet yang terhubung ke segmen media yang sama. Mereka tidak perlu memiliki alamat IP dalam jaringan IP yang sama untuk jawaban ARP untuk dihasilkan oleh setiap antarmuka. Perhatikan dua balasan pertama yang diterima dalam menanggapi permintaan broadcast ARP. Ini balasan datang dari alamat link layer bertentangan dalam menanggapi permintaan ini. Juga perhatikan waktu yang lebih besar diperlukan untuk mengirim dan menerima host untuk proses broadcast ARP frame permintaan dari frame unicast yang mengikuti (probe dua dan tiga).
Contoh 2.7. ARP fluks
|
arp_filter sysctl , sementara solusi umum untuk kernel 2.2 mengambil keuntungan dari hidden sysctl . Kedua solusi mengubah perilaku ARP pada basis antarmuka per dan hanya jika fungsi telah diaktifkan. Solusi alternatif yang memberikan lebih banyak kontrol ARP (mungkin didokumentasikan di sini di kemudian hari) meliputi Julian Anastasov itu ip arp nya alat dan bendera noarp rute . Sementara alat-alat yang dikandung dalam perjalanan dari Linux Virtual Server proyek, mereka memiliki aplikasi praktis luar alam ini.
2.1.4.1. ARP fluks pencegahan dengan arp_filter
Salah satu metode untuk mencegah ARP fluks melibatkan penggunaan net/ipv4/conf/$DEV/arp_filter . Singkatnya, penggunaan arp_filter menyebabkan penerima (dalam kasus di bawah , real-server ) untuk melakukan rute lookup untuk menentukan interface yang akan digunakan untuk mengirim balasan, bukan perilaku default ( ditampilkan di atas ), menjawab dari semua Ethernet interface yang menerima permintaan tersebut. Para
arp_filter solusi dapat memiliki efek yang tidak diinginkan jika rute hanya untuk tujuan adalah melalui salah satu kartu jaringan. Pada Contoh 2.8, "Koreksi ARP fluks dengan conf/$DEV/arp_filter " , real-client akan menunjukkan ini. Ini contoh instruktif harus menyoroti kekurangan dari arp_filter solusi dalam jaringan yang sangat kompleks di mana lebih halus-grained diperlukan. Secara umum,
arp_filter cukup solusi memecahkan masalah ARP fluks. Pertama, host tidak menghasilkan permintaan ARP untuk jaringan yang mereka tidak memiliki rute langsung (lihat Bagian 4.2, "Routing untuk Jaringan Lokal Terhubung" ) dan kedua, ketika seperti rute ada, tuan rumah biasanya memilih alamat sumber dalam jaringan yang sama sebagai tujuan. Jadi, arp_filter solusi adalah solusi umum yang baik, namun tidak cukup mengatasi kebutuhan sesekali untuk kontrol yang lebih atas permintaan ARP dan balasan. Contoh 2.8. Koreksi ARP fluks dengan
conf/$DEV/arp_filter Set variabel sysctl untuk mengaktifkan arp_filter fungsionalitas. Setelah ini, Anda mungkin berharap bahwa ARP balasan untuk 10.10.20.67 hanya akan mengiklankan alamat link layer pada eth0 (00:80: C8: e8: 1e: fc). | |
Berikut adalah perilaku yang diharapkan. Hanya satu jawaban datang untuk IP 10.10.20.67 setelah arp_filter sysctl telah diaktifkan. Jawabannya berasal dari antarmuka pada real-server yang sebenarnya host alamat IP. Perhatikan bahwa alamat sumber pada permintaan ARP adalah 10.10.20.33, dan bahwa permintaan ARP penyebab real-server untuk melakukan pencarian di rute 10.10.20.33 untuk memilih antarmuka dari mana untuk mengirim balasan. | |
Di sini, real-client permintaan link layer alamat host 192.168.100.1, tetapi sumber IP pada paket permintaan (dipilih sesuai dengan aturan untuk pemilihan sumber alamat ) adalah 10.10.20.33. Ketika real-server mendongak rute ke tujuan ini, ia memilih eth0, dan menjawab dengan alamat link layer eth0 nya. Kebutuhan jaringan konvensional seharusnya tidak bertabrakan dengan ini keanehan dari arp_filter teknik pencegahan ARP fluks. | |
Hapus entri dalam tabel tetangga sebelum pengujian lagi. | |
Dengan menambahkan alamat IP dalam jaringan yang sama dengan tujuan (yang akan lebih umum di mana beberapa jaringan IP berbagi medium yang sama atau domain broadcast), kernel sekarang dapat memilih alamat sumber yang berbeda untuk paket permintaan ARP. | |
Perhatikan alamat sumber dari permintaan ARP sekarang 192.168.100.2. Ketika real-server melakukan lookup rute untuk tujuan 192.168.100.0/24, jalan yang dipilih adalah melalui eth1. Paket balasan ARP sekarang memiliki alamat link layer benar. |
arp_filter solusi harus cukup, tapi pengetahuan ini dapat menjadi kunci dalam menentukan apakah atau tidak solusi alternatif, seperti solusi penyaringan ARP diperlukan. 2.1.4.2. ARP fluks pencegahan dengan hidden
Masalah ARP fluks juga dapat diperangi dengan patch kernel oleh Julian Anastasov, yang dimasukkan ke dalam seri kernel 2.2.14 +, tetapi tidak pernah ke seri 2.4 + kernel. Oleh karena itu, fungsi mungkin tidak tersedia di semua kernel. Para sysctl
net/ipv4/conf/$DEV/hidden matikan generasi balasan ARP untuk IP yang diminta. Ini menandai sebuah antarmuka dan semua alamat IP-nya terlihat dengan antarmuka lain untuk tujuan permintaan ARP. Ketika sebuah permintaan ARP tiba pada antarmuka apapun, tes kernel untuk melihat apakah alamat IP lokal host mana saja di mesin. Jika IP ditemukan pada semua interface, kernel akan menghasilkan jawaban. Karena ini tidak selalu diinginkan, yang
hidden sysctl dapat digunakan. Hal ini mencegah kernel dari menemukan alamat IP ketika pengujian untuk melihat apa alamat IP secara lokal host. Kernel selalu dapat menemukan IP host pada antarmuka yang paket tiba, tetapi tidak dapat menemukan alamat yang hidden . Seperti yang ditunjukkan pada Contoh 2.9, "Koreksi ARP fluks dengan
net/$DEV/hidden " , tidak hanya dapat ARP fluks dikoreksi, tetapi informasi sensitif mengenai alamat IP yang tersedia pada kotak linux dapat dijamin [ 14 ]. Hal ini membuat hidden sysctl bermanfaat untuk mencegah pengungkapan yang tidak diinginkan melalui IP ARP pada multi-homed host, selain untuk mencegah fluks ARP pada host yang terhubung ke media jaringan yang sama. Contoh 2.9. Koreksi ARP fluks dengan
net/$DEV/hidden |
[ 10 ] Kernel menggunakan alamat broadcast Ethernet dikonfigurasi pada perangkat link layer. Hal ini jarang sesuatu tetapi ff: ff: ff: ff: ff: ff. Dalam peristiwa yang luar biasa bahwa ini bukan alamat broadcast Ethernet di jaringan Anda, lihat Bagian B.3.7, "Mengubah perangkat keras atau alamat Ethernet siaran dengan mengatur link yang ip" .
[ 11 ] tcpdump adalah salah satu dari sejumlah utilitas untuk menonton paket terlihat untuk sebuah antarmuka. Untuk pengenalan lebih lanjut untuk tcpdump, lihat Bagian G.5, "tcpdump" .
[ 12 ] Saya telah berulang kali diuji menggunakan arping dalam mode ARP serampangan, dan telah menemukan bahwa kernel linux muncul untuk menghormati ARP beralasan. Ini adalah kejutan. Apakah ada yang punya ide tentang hal ini? Harus penelitian!
[ 13 ] Saya telah melihat hal itu disebut nama selain ARP fluks - orang di luar sana mendengar hal ini sesuatu yang disebut selain ARP fluks?
[ 14 ] Pertimbangkan masquerading firewall yang menjawab permintaan ARP pada segmen publik untuk host IP pada antarmuka internal. Jumlah ini eksposur sengaja menangani internal, dan dapat digunakan oleh penyerang sebagai bagian dari operasi pengumpulan data atau pengintaian pada jaringan.
2.2. Proxy ARP | ||
Bab 2. Ethernet | ||
2.2. Proxy ARP
Kadang-kadang, jaringan IP harus dipecah menjadi segmen terpisah. ARP proxy dapat digunakan untuk peningkatan kontrol atas paket dipertukarkan antara dua host atau untuk membatasi paparan antara dua host dalam sebuah jaringan IP tunggal. Teknik proxy ARP biasa digunakan untuk menempatkan perangkat dengan fungsi lapisan yang lebih tinggi antara dua host lain. Dari sudut pandang praktis, ada sedikit perbedaan antara fungsi sebuah jembatan packet-filtering dan firewall proxy yang melakukan ARP. Cara dengan mana perangkat sela menerima paket, bagaimanapun, adalah sangat berbeda.Contoh 2.10. Proxy ARP Diagram Jaringan

masq-gw ) merespon untuk semua pertanyaan ARP pada nama terjangkau IP pada interface lain daripada antarmuka yang query tiba. FIXME; manual proxy ARP (lihat juga Bagian 9.3, "Breaking jaringan dalam dua dengan proxy ARP" ), kernel Proxy ARP, dan sysctl baru didukung
net/ipv4/conf/$DEV/medium_id . Untuk penjelasan singkat dari penggunaan medium_id, lihat komentar Julian .
FIXME; Kernel Proxy ARP dengan sysctl
net/ipv4/conf/$DEV/proxy_arp . Catatan .... sampai bagian ini ditulis, ini posting oleh Don Cohen agak instruktif.
2.3. ARP filtering | ||
Bab 2. Ethernet | ||
2.3. ARP filtering
Bagian ini harus menjadi bagian dari "ghetto" yang akan mencakup dokumentasi di arp ip. Tidak ada lagi untuk menambahkan di sini pada saat (prioritas rendah).
|
FIXME; menambahkan beberapa paragraf di arp ip dan bendera noarp.
2.4. Menghubungkan ke Ethernet 802.1q VLAN | ||
Bab 2. Ethernet | ||
2.4. Menghubungkan ke Ethernet 802.1q VLAN
Virtual LAN adalah cara untuk mengambil sebuah saklar tunggal dan membagi ke dalam segmen media yang logis. Sebuah port switch tunggal dalam switch VLAN mampu-dapat membawa paket-paket dari LAN virtual dan linux dapat memahami format frame Ethernet ini. Untuk lebih lanjut tentang ini, lihat situs implementasi VLAN 802.1q linux .Kernel dalam seri 2,4 an memiliki dukungan untuk VLAN dimasukkan ke dalam rilis saham. Alat vconfig, namun perlu dikompilasi terhadap kernel untuk menyediakan konfigurabilitas userland dari dukungan kernel untuk VLAN.
Ada beberapa item dari catatan yang dapat mencegah adopsi cepat dari dukungan VLAN bawah linux. Ben McKeegan menulis sebuah ringkasan yang baik dari MTU / MRU isu yang berkaitan dengan VLAN dan 10/100 Ethernet. Gigabit Ethernet driver tidak sembelih dengan masalah ini. Pertimbangkan untuk menggunakan kartu Ethernet gigabit sejak awal untuk menghindari potensi masalah.
Contoh 2.11. Membawa sebuah antarmuka VLAN
|
Dokumentasi ini sangat jarang. Kunjungi situs utama dan arsip milis VLAN .
2,5. Link Agregasi dan Ketersediaan tinggi dengan Bonding | ||
Bab 2. Ethernet | ||
2,5. Link Agregasi dan Ketersediaan tinggi dengan Bonding
Vendor jaringan telah lama menawarkan fungsi untuk menggabungkan bandwidth di link fisik untuk switch. Hal ini memungkinkan sebuah mesin (sering server) untuk mengobati beberapa koneksi fisik untuk beralih unit sebagai link logis tunggal. Moniker standar untuk teknologi ini adalah IEEE 802.3ad, meskipun dikenal dengan nama umum dari trunking trunking, pelabuhan dan agregasi link. Penggunaan konvensional ikatan bawah linux merupakan implementasi dari agregasi link .Sebuah penggunaan yang terpisah dari driver yang sama memungkinkan kernel untuk menyajikan antarmuka logis tunggal untuk dua link fisik untuk dua switch yang terpisah. Hanya satu link yang digunakan pada waktu tertentu. Dengan menggunakan media antarmuka sinyal mengalami kegagalan independen untuk mendeteksi ketika saklar atau link menjadi tidak dapat digunakan, kernel bisa, transparan untuk userspace dan layanan aplikasi lapisan, gagal koneksi fisik cadangan. Meskipun tidak umum, kegagalan switch, antarmuka jaringan, dan kabel dapat menyebabkan pemadaman. Sebagai komponen dari perencanaan ketersediaan tinggi, teknik ini ikatan dapat membantu mengurangi jumlah titik tunggal kegagalan.
Untuk informasi lebih lanjut tentang ikatan, lihat
Documentation/networking/bonding.txt dari pohon kode sumber linux. 2.5.1. Link Agregasi
Ikatan untuk agregasi link harus didukung oleh kedua titik akhir. Dua mesin linux terhubung melalui kabel crossover dapat mengambil keuntungan dari agregasi link. Sebuah mesin tunggal yang dihubungkan dengan dua kabel fisik ke switch yang mendukung trunking port dapat menggunakan agregasi link ke saklar. Setiap saklar konvensional akan menjadi ineffably bingung dengan alamat hardware pada port muncul secara bersamaan.Contoh 2.12. Link agregasi ikatan
|
Ini Halaman lunak Beowulf menjelaskan secara sedikit lebih detail alasan dan aplikasi praktis dari ikatan saluran linux (untuk agregasi link).
2.5.2. Ketersediaan Tinggi
Ikatan dukungan di bawah linux adalah bagian dari solusi ketersediaan yang tinggi. Untuk entry point ke dalam kompleksitas ketersediaan tinggi dalam hubungannya dengan linux, melihat linux-ha.org situs. Untuk menjaga terhadap lapisan dua (switch) dan lapisan satu (kabel) kegagalan, mesin dapat dikonfigurasi dengan koneksi fisik untuk perangkat saklar terpisah sementara presentasi antarmuka logis tunggal untuk userspace.Nama antarmuka dapat ditentukan oleh pengguna. Hal ini umumnya
bond0 atau sesuatu yang serupa. Sebagai antarmuka logis, dapat digunakan dalam routing tabel dan oleh tcpdump . Antarmuka obligasi, ketika diciptakan, tidak memiliki alamat link layer. Pada contoh di bawah, suatu alamat secara manual ditambahkan ke antarmuka. Lihat Contoh 2.12, "Link ikatan agregasi" untuk contoh dari laporan sopir ikatan pengaturan alamat lapisan link ketika perangkat pertama adalah diperbudak oleh ikatan (tidak yang terdengar kejam!).
Contoh 2.13. Ketersediaan tinggi ikatan
|
MASTER dan SLAVE bendera jelas laporan sifat hubungan antara interface. Juga, interface Ethernet menunjukkan antarmuka utama melalui kata kunci master bond0 . Perhatikan juga, bahwa semua tiga dari berbagi lapisan antarmuka alamat link yang sama,
00:80:c8:e7:ab:5c . FIXME; Apa doe DEBUG, AUTOMEDIA, PORTSEL, NOTRAILERS artinya?
Network Tools (Praktikum 1)
PendahuluanA) Latar Belakang
Dalam dunia Networking / Jaringan, kita sangat membutuhkan tool-tool atau alat bantu yang dapat mempermudah kita dalam melakukan pekerjaan administrasi jaringan. Tool-tool dalam mengadministrasi jaringan itu sendiri banyak sekali. Dari bermacam-macam tool yang tersedia, tool-tool yang bersifat penting dalam administrasi jaringan yaitu Etherman (Etherape), Swatch, Tcp Wrappers, dan Nmap.
B) Tujuan Pembelajaran
1. Mahasiswa mampu menggunakan tools jaringan yang ada.
2. Mahasiswa memahami perintah – perintah dasar konfigurasi jaringan
3. Mahasiswa memahami konsep layering.
C) Dasar Teori
Dalam melakukan tugas-tugas administrasi sistem, administrator sistem mau tidak mau akan banyak berhubungan dengan tools – tools pendukung. Tanpa bantuan tool ini pekerjaan administrasi akan sulit dijalankan.
1) Etherman – Tool yang berbasis GUI yang menampilkan representasi dari komunikasi – komunikasi ethernet secara real time. Tool ini sekarang berkembang dan memiliki turunan yaitu etherape.
Etherape – graphical network monitor turunan dari etherman.
EtherApe adalah graphical network monitor untuk Unix yang di turunkan dari etherman. Mengusung fitur link layer, ip dan TCP mode, ia menampilkan aktivitas network secara grafis. Host dan link berubah sesuai trafik. Protokol ditampilkan warna – warni. Tool ini juga mensupport Ethernet, FDDI, Token Ring, ISDN, PPP dan SLIP device. Ia mampu menapis trafik untuk ditampilkan, dan dapat membaca trafik dari file juga langsung dari network. Instalasi Etherape di Ubuntu adalah sebagai berikut : sudo apt-get install etherape
jika ingin melihat deskripsi dan option-option yang digunakan bisa dilihat di link ini ;
http://www.irongeek.com/i.php?page=backtrack-3-man/etherape
untuk menjalankan tool etherape ini, command-line yang di ketik adalah sebagai berikut ;
$ sudo etherape

2) Nmap – The Network Mapper (Pemeta Jaringan)
Nmap (“Network Mapper”) adalah utility open source dan bebas untuk eksplorasi jaringan atau auditing sekuriti. Banyak sistem administrator dan network administrator mendapati tool ini juka berguna untuk network inventory, managing service upgrade schedule, dan monitoring host atau service uptime.
Nmap menggunakan raw IP packet dengan cara unik menentukan apakah host – host ada di network atau tidak, service (nama dan versi aplikasi) yang ada di host, sistem operasi (dan versi OS) yang digunakan, jenis packet filter/firewall yang dipakai, dan puluhan kemampuan lainnya. Ia didesain agar dapat menscan dengan cepat jaringan skala besar, tetapi bekerja baik di single host. Nmap berjalan di banyak sistem operasi. Tersedia versi console plus grafis. Instalasi Nmap di Ubuntu sebagai berikut : sudo aptitude install nmap. Bila kamu menghendaki fronted nmap, installah package berikut : sudo aptitude install zenmap.
syntax dasar Nmap adalah Nmap tipe opsi target, perintah tersebut di jalankan lewat command prompt. contoh :
nmap -sS 192.168.0.10
catatan: proses scan mungkin membutuhkan proses beberapa menit, kalau target mempunyai sistem keamanan yang ketat atau pemilihan opsi scan yang terlalu banyak / rumit, proses scan bisa saja menjadi semakin lama. hasil scan dari Nmap aka terlihat seperti ini
Starting Nmap 5.21 ( http://nmap.org ) at 2010-02-27 23:52 EST
Nmap scan report for 10.0.0.1
Host is up (0.0015s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
53/tcp open domain
5009/tcp open airport-admin
10000/tcp open snet-sensor-mgmt
MAC Address: 00:11:24:6B:43:E2 (Apple Computer)
Device type: WAP|printer
Running: Apple embedded, Canon embedded, Kyocera embedded, Xerox embedded
OS details: VxWorks: Apple AirPort Extreme v5.7 or AirPort Express v6.3; Canon imageRUNNER printer (5055, C3045, C3380, or C5185); Kyocera FS-4020DN printer; or Xerox Phaser 8860MFP printer
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.21 seconds
seperti yang kita lihat, Nmap menampilkan banyak sekali data. pertama dia akan mengecek apakah target aktif atau tidak. kedua di akan mengecek port mana saja yang terbuka, dan sekaligus mencoba menebak OS apa yg berjalan di sistem. contoh di atas adalah scan terhadap Apple Airport Extreme Router. dan sebagai bonusnya, Nmap memberi tahu perangkat keras apa saja yang sedang terhubung ke jaringan (dalam contoh ini adalah printer) berikut ini adalah contoh scan terhadap Ubuntu 9.10
Sebuah gambaran pemeriksaan Nmap
# nmap -A -T4 scanme.nmap.org
Starting Nmap ( http://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
dari contoh di atas kit bisa melihat bahwa target memiliki HP NIC (workstation dari Hewllet Packard), menjalankan kernal linux antara versi 2.6.19 dan 2.6.31. anda mungkin tidak bisa mendapatkan detail identifikasi dari sistem operasi yang mamakai linux (satu lagi keunggulan linux daripada microsoft)
contoh – contoh di atas menggunakan jaringan lokal karena memang hanya untuk pembelajaran saja. saran saya bila ingin berlatih anda bisa scan jaringan lokal anda terlebih dahulu dan pastikan anda mempunyai izin untuk melakukannya. bila anda tidak mempunyai jaringan lokal / memakai komputer pribadi, anda bisa melakukan scan di scanme.nmap.org sebagai target. karena scanme.nmap.org memang ditujukan untuk latihan. dan jangan mencoba untuk scan jaringan yang anda tidak mempunyai izin dan hak untuk melakukannya
anda juga bisa scan terhadap banyak target. bila anda memakai IP address, anda memberikan rentang target yang spesifik seperti 192.168.0.1-10, yang berarti scan scan terhadap alamat 192.168.0.1 sampai 192.168.0.10. atau bisa juga menggunakan 192.168.0.1/24 untuk scan terhadap alamat 192.186.0.1 sampai dengan 192.168.0.255(batas rentang alamat IP)
bila anda hanya mempunyai hostnames dan tak mengetahui alamat IP nya anda bisa memisahkannya dengan spasi. contoh:
nmap -sS target1.domain.com target2.domain.com
bila anda menjalakan Nmap tanpa opsi (misal: nmap target.domain.com). nmap hanya akan menampilkan daftar port yang terbuka saja
Interesting ports on target.hostname.com (10.0.0.88):
Not shown: 1711 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.228 seconds
dan anda bisa melihat port yang terbuka adalah 22 (ssh), 80 (http), 3306(mysql). nmap mengenali 6 keadaan dari port yaitu open, closed, filtered, unfiltered, open|filtered, closed,|filtered. Nmap docs untuk memahami lebih lanjut tentang keadaan port
kini Nmap sudah hadir dalam format GUI yang bernama Zenmap, Zenmap mempunyai semua kemampuan Nmap. kelebihan Zenmap adalah menampilkan report dalam bentuk gambar yang tentunya lebih mudah untuk dimengerti. tapi saran saya (dan juga kebanyakan orang) belajarlah lewat command prompt terlebih dahulu, agar anda semakin mudah dalam memahami Nmap
Jika ingin melihat lebih jelas tentang tool nmap, bisa klik link dibawah ini;
http://nmap.org/man/id/ atau http://linux.die.net/man/1/nmap
3) Swatch
Program swatch dapat memantau segala macam log dan merespons peristiwa-peristiwa tertentu ketika itu terjadi. Konsepnya cukup sederhana. Swatch akan memonitor file log untuk kita, misalnya, file /var/log/syslog, dan ketika peristiwa tertentu terjadi (peristiwa ini dikonfigurasi dalam file config swatch) dan sudah login di file log, swatch dapat merespon dengan mengeksekusi program, mengirim email ke sysadmin atau mengirim pesan ke konsol mana swatch sedang dijalankan.
Sebuah contoh sederhana dari swatch dalam tindakan. Jika Anda adalah satu-satunya sysadmin webserver, Anda mungkin ingin diberitahu jika seseorang mencoba untuk login ke server Anda (bisa lewat ssh atau layanan otentikasi lainnya).Menjadi satu-satunya admin webserver, tidak ada orang lain yg bisa masuk pada sistem. Siapa pun kecuali admin yg mencoba untuk login ke sistem jelas tidak berada di sana dan mungkin memiliki niat buruk. Dalam hal ini, Anda dapat mengatur swatch untuk memonitor file auth.log untuk upaya logon yg gagal dan upaya logon yg sukses dan kemudian mengirimkan email log setiap kali mereka yg berupaya untuk masuk. Tentu saja ini akan memberitahu Anda bahkan ketika Anda login pada mesin, karena ini mungkin lebih praktis jika Anda memiliki sistem tanpa pengawasan (mungkin Anda sedang berlibur atau pergi untuk urusan bisnis).
Berikut cara installnya : sudo apt-get install swatch
1. RFC 1122
2. RFC 792
3. UDP
4. TCP RFC
5. RFC 959
6. IP protocol
7. Nmap::Scanner
8. Nmap::Parser
9. Atribusi Creative Commons License
10. Apache Software Foundation
11. Libpcap portable packet capture library
12. WinPcap library
13. PCRE library
14. Libdnet
15. OpenSSL cryptography toolkit
Tidak ada komentar:
Posting Komentar