GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan Perintah nmap

Nmap adalah alat pemindaian jaringan yang kuat untuk audit keamanan dan pengujian penetrasi. Ini adalah salah satu alat penting yang digunakan oleh administrator jaringan untuk memecahkan masalah konektivitas jaringan dan pemindaian port.

Nmap juga dapat mendeteksi alamat Mac, jenis OS, versi layanan, dan banyak lagi.

Artikel ini menjelaskan dasar-dasar cara menggunakan nmap perintah untuk melakukan berbagai tugas jaringan.

Menginstal Nmap #

Nmap adalah program multi-platform yang dapat diinstal pada semua sistem operasi utama. Awalnya dirilis sebagai alat khusus Linux, dan kemudian di-porting ke sistem lain seperti BSD, Windows, dan macOS.

Jika Anda lebih suka GUI daripada baris perintah, Nmap juga memiliki antarmuka pengguna grafis yang disebut Zenmap.

Paket biner resmi tersedia untuk diunduh dari halaman unduhan Nmap.

Prosedur penginstalan sangat mudah dan bervariasi sesuai dengan sistem operasi Anda.

Menginstal Nmap di Ubuntu dan Debian #

Nmap tersedia dari repositori default Ubuntu dan Debian. Untuk menginstalnya, jalankan:

sudo apt updatesudo apt install nmap

Menginstal Nmap di CentOS dan Fedora #

Di CentOS dan turunan Red Hat lainnya, jalankan:

sudo dnf install nmap

Menginstal Nmap di macOS #

pengguna macOS dapat menginstal Nmap dengan mengunduh paket instalasi “.dmg” dari situs Nmap atau melalui Homebrew:

brew install nmap

Menginstal Nmap di Windows #

Nmap versi Windows memiliki beberapa keterbatasan, dan umumnya sedikit lebih lambat daripada versi UNIX.

Opsi termudah untuk menginstal Nmap di Windows adalah mengunduh dan menjalankan file exe penginstalan sendiri.

Anda dapat menjalankan Nmap di Windows baik dari baris perintah atau dengan meluncurkan program Zenmap. Untuk informasi lebih lanjut tentang cara menggunakan Nmap di Windows, periksa petunjuk penggunaan pasca-instal.

Menggunakan Nmap #

Nmap biasanya digunakan untuk mengaudit keamanan jaringan, pemetaan jaringan, mengidentifikasi port yang terbuka, dan mencari perangkat online.

Sintaks sederhana dari nmap perintahnya adalah sebagai berikut:

nmap [Options] [Target...]

Contoh paling dasar dalam menggunakan Nmap adalah memindai satu target sebagai pengguna standar tanpa menentukan opsi apa pun:

nmap scanme.nmap.org

Saat dipanggil sebagai pengguna non-root yang tidak memiliki hak paket mentah, nmap menjalankan pemindaian koneksi TCP. (-sT ) diaktifkan secara default dalam mode unprivileged.

Outputnya akan terlihat seperti ini, termasuk informasi dasar tentang pemindaian dan daftar port TCP yang terbuka dan terfilter.

Starting Nmap 7.91 ( https://nmap.org ) at 2020-12-16 20:19 CET
Nmap scan report for cast.lan (192.168.10.121)
Host is up (0.048s latency).
Not shown: 981 closed ports
PORT     STATE    SERVICE
21/tcp   open     ftp
22/tcp   open     ssh
25/tcp   open     smtp
53/tcp   open     domain
80/tcp   open     http
110/tcp  open     pop3
143/tcp  open     imap
443/tcp  open     https
587/tcp  open     submission
993/tcp  open     imaps
995/tcp  open     pop3s
1025/tcp open     NFS-or-IIS
1080/tcp open     socks
8080/tcp open     http-proxy
8081/tcp open     blackice-icecap

Nmap done: 1 IP address (1 host up) scanned in 1.78 seconds

Opsi pemindaian paling populer adalah pemindaian TCP SYN (-sS ) yang lebih cepat daripada opsi koneksi dan bekerja melawan semua tumpukan TCP yang sesuai.

-sS diaktifkan secara default saat nmap dipanggil sebagai pengguna dengan hak administratif:

sudo nmap 192.168.10.121

Untuk hasil yang lebih detail, gunakan peningkatan verbositas dengan -v atau -vv :

sudo nmap -vv 192.168.10.121

Untuk melakukan pemindaian UDP, jalankan perintah dengan (-sU ) opsi sebagai pengguna root:

sudo nmap -sU 192.168.10.121

Untuk daftar lengkap metode pemindaian port, kunjungi halaman dokumentasi Nmap.

Nmap juga mendukung alamat IPv6. Untuk menentukan host IPv6 gunakan -6 pilihan:

sudo nmap -6 fd12:3456:789a:1::1

Menentukan Host Target #

Nmap memperlakukan semua argumen yang bukan opsi sebagai host target.

Argumen dianggap opsi jika dimulai dengan tanda hubung tunggal atau ganda (- , -- ).

Opsi paling sederhana adalah meneruskan satu atau beberapa alamat target atau nama domain:

nmap 192.168.10.121 host.to.scan

Anda dapat menggunakan notasi CIDR untuk menentukan rentang jaringan:

nmap 192.168.10.0/24

Untuk menentukan rentang oktet gunakan karakter tanda hubung. Misalnya, untuk memindai 192.168.10.1 , 192.168.11.1 , dan 192.168.12.1 :

nmap 192.168.10-12.1

Karakter lain yang dapat Anda gunakan untuk menentukan target adalah koma. Perintah berikut menargetkan host yang sama dengan yang di atas:

nmap 192.168.10,11,12.1

Anda dapat menggabungkan semua formulir:

nmap 10.8-10.10,11,12.0/28  192.168.1-2.100,101

Untuk memastikan Anda menentukan host yang benar sebelum memindai, gunakan opsi pemindaian daftar (-sL ), yang hanya mencantumkan target tanpa menjalankan pemindaian:

nmap -sL 10.8-10.10,11,12.0/28  192.168.1-2.100,101

Jika Anda ingin mengecualikan target yang termasuk dalam rentang yang Anda tentukan, gunakan --exclude pilihan:

nmap 10.8-10.10,11,12.0/28 --exclude 10.10.12.12

Menentukan dan Memindai Port #

Secara default, Nmap melakukan pemindaian cepat untuk 1000 port paling populer. Port ini bukan 1.000 port pertama yang berurutan, tetapi 1.000 port yang paling umum digunakan mulai dari 1 hingga 65389.

Untuk memindai semua port dari 1 hingga 65535, gunakan -p- pilihan:

nmap -p- 192.168.10.121

Setiap port dapat berada dalam salah satu status berikut:

  • buka - Program yang berjalan pada port merespons permintaan.
  • ditutup - Tidak ada program yang berjalan di port, dan tuan rumah membalas permintaan.
  • difilter - Tuan rumah tidak membalas permintaan.

Misalnya, untuk memindai hanya port 443, Anda akan menggunakan perintah berikut:

nmap -p 443 192.168.10.121

Untuk menentukan lebih dari satu port, pisahkan port target dengan koma:

nmap -p 80,443 192.168.10.121

Rentang port dapat ditentukan dengan simbol tanda hubung. Misalnya, untuk memindai semua port UDP mulai dari 1 hingga 1024, Anda akan menjalankan:

sudo nmap -sU -p 1-1024 192.168.10.121

Semua digabungkan:

nmap -p 1-1024,8080,9000 192.168.10.121

Port juga dapat ditentukan menggunakan nama port. Misalnya, untuk memindai port 22, ssh, Anda dapat menggunakan:

nmap -p ssh 192.168.10.121

Ping Scanning #

Untuk melakukan pemindaian ping atau penemuan host, aktifkan nmap perintah dengan -sn pilihan:

sudo nmap -sn 192.168.10.0/24

-sn option memberitahu Nmap hanya untuk menemukan host online dan tidak melakukan scan port. Ini berguna saat Anda ingin dengan cepat menentukan host mana yang aktif dan berjalan.

Menonaktifkan Resolusi Nama DNS #

Perilaku default Nmap adalah melakukan resolusi reverse-DNS untuk setiap host yang ditemukan, yang meningkatkan waktu pemindaian.

Saat memindai jaringan besar, sebaiknya nonaktifkan resolusi DNS terbalik dan percepat pemindaian. Untuk melakukannya, jalankan perintah dengan -n pilihan:

sudo nmap -n 192.168.10.0/16

OS, Layanan, dan Deteksi Versi #

Nmap dapat mendeteksi sistem operasi host jarak jauh menggunakan sidik jari tumpukan TCP/IP. Untuk menjalankan deteksi OS, jalankan perintah dengan -O pilihan:

sudo nmap -O scanme.nmap.org

Jika Nmap dapat mendeteksi OS host, itu akan mencetak sesuatu seperti di bawah ini:

...
Device type: general purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.4
Network Distance: 18 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 26.47 seconds

Biasanya, layanan sistem mendengarkan pada port standar yang terkenal dan dicadangkan untuk mereka. Misalnya, jika port 22 yang sesuai dengan layanan SSH terbuka, Anda akan menganggap bahwa server SSH berjalan di host. Namun, Anda tidak dapat benar-benar yakin karena orang dapat menjalankan layanan pada port apa pun yang mereka inginkan.

Dengan deteksi layanan dan versi, Nmap akan menunjukkan kepada Anda program apa yang didengarkan pada port dan versi program.

Untuk memindai layanan dan versi, gunakan -sV pilihan:

sudo nmap -sV scanme.nmap.org
...
PORT      STATE    SERVICE      VERSION
19/tcp    filtered chargen
22/tcp    open     ssh          OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp    open     http         Apache httpd 2.4.7 ((Ubuntu))
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
9929/tcp  open     nping-echo   Nping echo
31337/tcp open     tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
...

Anda juga dapat memindai OS, Versi, dan menjalankan traceroute dalam satu perintah menggunakan -A pilihan:

sudo nmap -A 192.168.10.121

Keluaran Nmap #

Secara default, Nmap mencetak informasi ke output standar (stdout).

Jika Anda memindai jaringan besar atau memerlukan informasi untuk penggunaan nanti, Anda dapat menyimpan hasilnya ke file.

Nmap menyediakan beberapa tipe keluaran. Untuk menyimpan output dalam format normal, gunakan -oN pilihan diikuti dengan nama file:

sudo nmap -sU -p 1-1024 192.168.10.121 -oN output.txt

Opsi paling populer adalah menyimpan output dalam format XML. Untuk melakukannya, gunakan -oX pilihan:

sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xml

Format lain yang berguna adalah keluaran grepable, yang dapat diuraikan dengan alat Unix standar seperti grep , awk dan cut . Output grepable ditentukan dengan -oG pilihan:

sudo nmap -sU -p 1-1024 192.168.10.121 -oG output

Mesin Skrip Nmap #

Salah satu fitur Nmap yang paling kuat adalah mesin skripnya. Nmap dikirimkan dengan ratusan skrip, dan Anda juga dapat menulis skrip Anda sendiri dalam bahasa Lua.

Anda dapat menggunakan skrip untuk mendeteksi malware dan backdoor, melakukan serangan brute force, dan banyak lagi.

Misalnya, untuk memeriksa apakah host tertentu telah disusupi, Anda dapat menggunakan:

nmap -sV --script http-malware-host scanme.nmap.org

Kesimpulan #

Nmap adalah alat sumber terbuka yang digunakan terutama oleh administrator jaringan untuk menemukan host dan port pemindaian.

Harap perhatikan bahwa di beberapa negara, memindai jaringan tanpa izin adalah tidak sah.


Linux
  1. Cara menggunakan perintah grep Linux

  2. Cara menggunakan perintah history di Linux

  3. Cara Menggunakan Perintah id di Linux

  1. Bagaimana cara menggunakan perintah nama dasar?

  2. Cara Menggunakan Perintah nmap di Linux

  3. Cara menggunakan perintah "layar" di Linux

  1. Cara Menggunakan Perintah vmstat

  2. Cara Menggunakan Perintah sejarah Linux

  3. Cara Menggunakan Perintah baca Bash