GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan Perintah Netcat dengan Contoh

Perintah Netcat (nc) adalah alat yang ampuh untuk menganalisis koneksi jaringan, memindai port yang terbuka, mentransfer data, dll. Ini adalah utilitas jaringan untuk membaca dari dan menulis ke koneksi jaringan menggunakan protokol TCP atau UDP.

Cara menginstal netcat

Ini adalah alat lintas platform dan tersedia untuk Linux, macOS, Windows dan BSD. Kita akan menginstal netcat pada mesin Ubuntu 18.04 menggunakan apt install atau kompilasi dari kode sumber.

Instalasi menggunakan apt cukup sederhana, Anda hanya perlu mengetikkan perintah berikut di terminal:

sudo apt install netcat

Di CentOS 8

Ncat dapat diinstal dengan paket nmap di RHEL 8/CentOS 8. Gunakan perintah dnf seperti di bawah ini

sudo dnf install nmap

Cara menginstal netcat dari kode sumber

Mengkompilasi netcat dari kode sumber tidak semudah menginstal melalui apt install , tetapi jika Anda mengikuti langkah-langkah di bawah ini, Anda dapat menginstalnya dengan mudah.

Download source code dari website netcat dengan perintah berikut

wget http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz

Ekstrak arsip yang baru diunduh. Untuk melakukannya, Anda dapat menjalankan:

tar -xzvf netcat-0.7.1.tar.gz

cd ke direktori yang berisi kode sumber paket dan ketik ./configure untuk mengonfigurasi paket untuk sistem Anda.

cd netcat-0.7.1
./configure

Jika Anda mendapatkan pesan kesalahan seperti ini - "tidak ada kompiler C yang dapat diterima yang ditemukan di $PATH" saat menjalankan perintah ./configure, pastikan Anda telah menginstal kompiler gcc. Untuk menginstalnya ketik perintah berikut:

apt-get install build-essential

Menjalankan configure butuh beberapa saat.

Setelah konfigurasi berhasil selesai jalankan:

sudo make

dan

sudo make install

Anda dapat menghapus program biner dan file objek dari direktori kode sumber dengan mengetikkan make clean . Untuk juga menghapus file yang configure dibuat, jalankan make distclean perintah.

Contoh Netcat

Sebelum mulai menjelajahi beberapa perintah netcat, penting untuk diketahui bahwa jika Anda mengikat ke port terkenal (0-1023) dengan nc, Anda memerlukan hak akses root. Jika tidak, Anda dapat menjalankan nc sebagai pengguna biasa.

1) Uji apakah port TCP tertentu dari host jarak jauh terbuka

nc -vn 192.168.40.146 2424

Keluaran jika port 2424 pada server jauh ditutup

nc: connect to 192.168.40.146 port 2424 (tcp) failed: Connection refused

Keluaran jika port pada server jauh dibuka (misalnya port 22)

Connection to 192.168.40.146 22 port [tcp/*] succeeded!
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4

2) Lakukan pemindaian port TCP terhadap host jarak jauh

Perintah di bawah ini akan memeriksa port dari 20 hingga 25 pada host jarak jauh dan mencetak hasilnya.

nc -vnz -w 1 192.168.40.146 20-25

Outputnya akan terlihat seperti ini

nc: connect to 192.168.40.146 port 20 (tcp) failed: Connection refused
nc: connect to 192.168.40.146 port 21 (tcp) failed: Connection refused
Connection to 192.168.40.146 22 port [tcp/*] succeeded!
nc: connect to 192.168.40.146 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.40.146 port 24 (tcp) failed: Connection refused
nc: connect to 192.168.40.146 port 25 (tcp) failed: Connection refused

3) Lakukan pemindaian port UDP terhadap host jarak jauh

nc -vnzu 192.168.40.146 1-65535

Output hanya akan menampilkan port yang memungkinkan koneksi udp.

Connection to 192.168.40.146 2424 port [udp/*] succeeded!
Connection to 192.168.40.146 12354 port [udp/*] succeeded!

4) Kirim paket UDP uji ke host jarak jauh

echo -n "udp test" | nc -u -w1 192.168.40.146 2424

Perintah di atas akan mengirim paket UDP uji dengan batas waktu 1 detik ke host jarak jauh di port 2424

5) Salin file (mis., test.txt) dari satu host ke host lain

Di host penerima (192.168.40.146 dalam kasus saya) jalankan:

nc -lp 2424 > test.txt

Pada host pengirim (192.168.40.144) jalankan perintah berikut:

nc 192.168.40.146 2424 < test.txt

Ini akan menyalin file test.txt dari host pengirim ke host penerima melalui port 2424. pastikan untuk mengizinkan koneksi masuk pada port 2424 pada host penerima.

6) Mentransfer seluruh direktori (termasuk isinya) dari satu host ke host lain

Di host penerima, jalankan:

nc -l 2424 | tar xvf -

Pada host pengirim jalankan perintah berikut:

tar cvf - /path/to/dir | nc 192.168.40.146 2424

7) Buat cadangan terkompresi dari hard drive (mis., /dev/sdc) pada host jarak jauh

Pada host jarak jauh jalankan:

nc -lp 2424 | sudo dd of=/path/to/image.img.gz

Pada host lokal jalankan perintah berikut:

dd if=/dev/sdc | gzip -c | nc 192.168.40.146 2424

8) Memulihkan hard drive (mis. /dev/sdc) dari image disk terkompresi yang disimpan di host jarak jauh

Di host lokal jalankan:

nc -lp 2424 | gunzip -c | sudo dd of=/dev/sdc

Pada remote host jalankan perintah berikut:

cat /path/to/image.img.gz | nc 192.168.40.144 2424

9) Jalankan obrolan online tidak aman antara dua host

Pada satu host (misalnya 192.168.40.144) jalankan perintah di bawah ini:

nc -lp 2424

Pada host lain (misalnya 192.168.40.146) jalankan perintah berikut:

nc 192.168.40.144 2424

Setelah menjalankan perintah ini, apa pun yang diketik di kedua terminal akan terlihat di kedua mesin host.

10) Jalankan server web dengan halaman web statis

Jalankan perintah di bawah ini pada host lokal (misalnya 192.168.40.144) untuk memulai server web yang melayani test.html pada port 80. Perhatikan bahwa Anda harus menjalankan dengan hak sudo karena 80 berada dalam jangkauan port terkenal (1-1023)

while true; do sudo nc -lp 80 < test.html; done

Sekarang buka http://192.168.40.144/test.html dari host lain untuk mengaksesnya.

11) Dengarkan pada port TCP menggunakan alamat IPv6

Anda dapat menggunakan perintah berikut untuk mengizinkan nc menggunakan alamat IPv6 saat mendengarkan pada port TCP.

nc -6 -l 2424

Periksa apakah itu berfungsi dengan perintah di bawah ini

sudo netstat -nap | grep 2424

Outputnya akan terlihat seperti ini

tcp6 0 0 :::2424 :::* LISTEN 15665/nc

12) Streaming file video dari server agar klien dapat menonton video streaming menggunakan pemutar video (mis., mplayer)

Di server video (192.168.40.144):

cat sample_video.avi | nc -l 2424

Pada host klien (192.168.40.146):

nc 192.168.40.144 2424 | mplayer -vo x11 -cache 3000 -

Baca Juga:

  • Cara menggunakan Perintah Linux Netcat sebagai Pemindai Port
  • Cara Membuat Obrolan Sederhana dengan netcat di Linux

Seperti yang Anda lihat netcat adalah alat yang hebat untuk jaringan TCP/IP dan ini adalah salah satu alat paling favorit sysadmin ketika datang untuk melakukan pemecahan masalah dan eksperimen terkait jaringan. Itulah mengapa banyak distro Linux dikirimkan dengan netcat yang sudah diinstal sebelumnya.


Linux
  1. Cara Menggunakan Perintah 'cat' dan 'tac' dengan Contoh di Linux

  2. Cara Menggunakan Perintah Hexdump Linux dengan Contoh Praktis

  3. Perintah SCP di Linux:Cara Menggunakannya, dengan Contoh

  1. Cara Menggunakan Perintah ethtool dengan Contoh

  2. SSH ke Port Selain 22:Bagaimana Melakukannya (dengan Contoh)

  3. Cara Menggunakan Perintah RMmod Di Linux Dengan Contoh

  1. Cara Menggunakan Perintah IP di Linux dengan Contoh

  2. Cara Menggunakan Perintah Linux Cat (Dengan Contoh)

  3. Cara Menggunakan Perintah sleep Linux dengan Contoh