GNU/Linux >> Belajar Linux >  >> Linux

8 Contoh Perintah Praktis Linux Netcat NC

Netcat atau nc adalah utilitas jaringan untuk men-debug dan menyelidiki jaringan.

Utilitas ini dapat digunakan untuk membuat koneksi TCP/UDP dan menyelidikinya. Penggunaan terbesar dari utilitas ini adalah dalam skrip di mana kita perlu menangani soket TCP/UDP.

Dalam artikel ini kita akan mempelajari tentang perintah netcat dengan beberapa contoh praktis.

1. Netcat dalam Arsitektur Server-Client

Utilitas netcat dapat dijalankan dalam mode server pada port tertentu yang mendengarkan koneksi masuk.

$ nc -l 2389

Juga, dapat digunakan dalam mode klien mencoba untuk terhubung pada port(2389) yang baru saja dibuka

$ nc localhost 2389

Sekarang, jika kita menulis beberapa teks di sisi klien, itu akan mencapai sisi server. Ini buktinya :

$ nc localhost 2389
HI, server

Di terminal tempat server berjalan :

$ nc -l 2389
HI, server

Jadi kita melihat bahwa utilitas netcat dapat digunakan dalam komunikasi soket server klien.

2. Gunakan Netcat untuk Mentransfer File

Utilitas netcat juga dapat digunakan untuk mentransfer file. Di sisi klien, misalkan kita memiliki file bernama 'testfile' yang berisi :

$ cat testfile
hello test

dan di sisi server kami memiliki file kosong 'test'

Sekarang, kami menjalankan server sebagai :

$ nc -l 2389 > test

dan jalankan klien sebagai :

cat testfile | nc localhost 2389

Sekarang, ketika kita melihat file 'test' di akhir server, kita melihat :

$ cat test
hello test

Jadi kami melihat bahwa data file telah ditransfer dari klien ke server.

3. Netcat Mendukung Batas Waktu

Ada kasus ketika kita tidak ingin koneksi tetap terbuka selamanya. Dalam hal ini, melalui sakelar '-w' kita dapat menentukan batas waktu dalam koneksi. Jadi setelah detik yang ditentukan bersama dengan flag -w, koneksi antara klien dan server dihentikan.

Server :

nc -l 2389

Klien :

$ nc -w 10 localhost 2389

Sambungan di atas akan dihentikan setelah 10 detik.

CATATAN :Jangan gunakan flag -w dengan flag -l di sisi server karena dalam kasus ini flag -w tidak akan berpengaruh dan koneksi tetap terbuka selamanya.

4. Netcat Mendukung Konektivitas IPV6

Bendera -4 atau -6 menentukan bahwa utilitas netcat harus menggunakan jenis alamat mana. -4 memaksa nc untuk menggunakan alamat IPv4 sementara -6 memaksa nc untuk menggunakan alamat IPv6.

Server :

$ nc -4 -l 2389

Klien :

$ nc -4 localhost 2389

Sekarang, jika kita menjalankan perintah netstat, kita melihat :

$ netstat | grep 2389
tcp        0      0 localhost:2389          localhost:50851         ESTABLISHED
tcp        0      0 localhost:50851         localhost:2389          ESTABLISHED

Kolom pertama pada output di atas akan berisi postfix '6' jika alamat IPv6 digunakan. Karena dalam kasus ini tidak, maka koneksi antara server dan klien dibuat menggunakan alamat IPv4.

Sekarang, Jika kita memaksa nc untuk menggunakan alamat IPv6

Server :

$ nc -6 -l 2389

Klien :

$ nc -6 localhost 2389

Sekarang, jika kita menjalankan perintah netstat, kita melihat :

$ netstat | grep 2389
tcp6       0      0 localhost:2389          localhost:33234         ESTABLISHED
tcp6       0      0 localhost:33234         localhost:2389          ESTABLISHED

Jadi sekarang postfix '6' dengan 'tcp' menunjukkan bahwa nc sekarang menggunakan alamat IPv6.

5. Nonaktifkan Membaca dari STDIN di Netcat

Fungsionalitas ini dapat dicapai dengan menggunakan flag -d. Dalam contoh berikut, kami menggunakan tanda ini di sisi klien.

Server :

$ nc -l 2389

Klien :

$ nc -d localhost 2389
Hi

Teks 'Hai' tidak akan dikirim ke server karena menggunakan opsi -d, pembacaan dari stdin telah dinonaktifkan.

6. Paksa Server Netcat untuk Tetap Up

Jika klien netcat terhubung ke server dan kemudian setelah beberapa saat klien terputus maka biasanya server netcat juga berakhir.

Server :

$ nc -l 2389

Klien :

$ nc localhost 2389
^C

Server :

$ nc -l 2389
$

Jadi, dalam contoh di atas kita melihat bahwa begitu klien terputus, server juga dihentikan.

Perilaku ini dapat dikontrol dengan menggunakan tanda -k di sisi server untuk memaksa server tetap terjaga bahkan setelah klien terputus.

Server :

$ nc -k -l 2389

Klien :

$ nc localhost 2389
^C

Server :

$ nc -k -l 2389

Jadi kita melihat bahwa dengan menggunakan opsi -k server tetap aktif meskipun klien terputus.

7. Konfigurasikan Klien Netcat untuk Tetap Up setelah EOF

Klien Netcat dapat dikonfigurasi untuk tetap terjaga setelah EOF diterima. Dalam skenario normal, jika klien nc menerima karakter EOF maka karakter tersebut akan segera dihentikan tetapi perilaku ini juga dapat dikontrol jika flag -q digunakan. Bendera ini mengharapkan angka yang menggambarkan jumlah detik untuk menunggu sebelum klien berhenti (setelah menerima EOF)

Klien harus dimulai seperti :

nc  -q 5  localhost 2389

Sekarang jika klien pernah menerima EOF maka akan menunggu selama 5 detik sebelum berhenti.

8. Gunakan Netcat dengan Protokol UDP

Secara default semua soket yang dibuat utilitas nc adalah protokol TCP tetapi utilitas ini juga berfungsi dengan protokol UDP. Untuk mengaktifkan protokol UDP, flag -u digunakan.

Server :

$ nc -4 -u -l 2389

Klien :

$ nc -4 -u localhost 2389

Sekarang, server dan klien dikonfigurasi untuk menggunakan protokol UDP. Ini dapat dikonfirmasi dengan perintah netstat berikut. Jadi kita melihat bahwa koneksi ini sekarang menggunakan protokol UDP.

$ netstat | grep 2389
udp        0      0 localhost:42634         localhost:2389          ESTABLISHED

Linux
  1. 7 Contoh Praktis Perintah cd di Linux

  2. 5 Contoh Praktis perintah chgrp di Linux

  3. Perintah cp di Linux:7 Contoh Praktis

  1. Perintah Shutdown Linux:5 Contoh Praktis

  2. Contoh Praktis Perintah rsync di Linux

  3. 10 Contoh Perintah Linux nm Praktis

  1. 16 Contoh Praktis perintah LS Linux untuk Pemula

  2. 5 Contoh Praktis Perintah Kepala di Linux

  3. 5 Contoh Praktis Perintah dd di Linux