Langsung ke konten utama

Tutorial Dasar GSocket dan gs-netcat di Windows dan Ubuntu

GSocket atau Global Socket Toolkit adalah kumpulan tool yang memungkinkan dua komputer membuat koneksi TCP melalui Global Socket Relay Network (GSRN). Salah satu tool di dalamnya adalah gs-netcat.

Berbeda dengan koneksi TCP tradisional yang biasanya membutuhkan alamat IP dan port tujuan, GSocket memungkinkan dua endpoint saling menemukan berdasarkan sebuah shared secret. Koneksi antarendpoint kemudian dapat dilindungi dengan enkripsi end-to-end.

Gambaran Cara Kerja

Secara sederhana:

Windows
   |
   | outbound connection
   v
Global Socket Relay Network
   ^
   | outbound connection
   |
Ubuntu

Artinya Ubuntu tidak harus membuka sebuah port publik khusus agar endpoint GSocket dapat berkomunikasi.

Ini berbeda dengan SSH langsung:

Windows
   |
   | SSH
   v
IP Ubuntu:22

Pada SSH biasa, Windows harus mengetahui IP atau domain server serta port SSH yang dapat dijangkau.

Apakah gs-netcat Tersedia di Windows?

Ya. GSocket menyediakan gs-netcat yang dapat digunakan pada Windows. Namun program ini bukan bawaan Windows sehingga harus dipasang atau disiapkan terlebih dahulu.

https://github.com/hackerschoice/gsocket

Misalnya binary tersedia di:

C:\Tools\gsocket\gs-netcat.exe

Buka PowerShell kemudian masuk ke folder tersebut:

cd C:\Tools\gsocket

Cek apakah program dapat dijalankan:

.\gs-netcat.exe --help

Jika berhasil, bantuan penggunaan gs-netcat akan ditampilkan.

Instalasi GSocket di Ubuntu

Pada Debian atau Ubuntu, paket GSocket dapat tersedia dengan nama:

gsocket

Perbarui daftar paket:

sudo apt update

Kemudian instal:

sudo apt install gsocket

Setelah instalasi selesai, cek lokasi program:

which gs-netcat

Atau:

command -v gs-netcat

Kemudian cek bantuan:

gs-netcat --help

Mengecek Versi

Pada Ubuntu:

gs-netcat --version

Pada Windows PowerShell:

.\gs-netcat.exe --version

Apa Fungsi -s?

Contoh:

gs-netcat -s "SECRET"

Parameter -s digunakan untuk menentukan shared secret.

Konsepnya berbeda dengan login menggunakan username dan password. Kedua endpoint menggunakan secret yang sama agar dapat saling menemukan dan membangun koneksi.

PC A
secret = ABCXYZ
      \
       \
        GSRN
       /
      /
PC B
secret = ABCXYZ

Contoh Shared Secret

Misalnya:

C2wNo5Ux7VenJ78tYgEhnT

Maka bentuk dasar penggunaan secret tersebut adalah:

gs-netcat -s "C2wNo5Ux7VenJ78tYgEhnT"

Shared secret sebaiknya diperlakukan seperti password. Jangan menampilkan secret asli pada artikel publik, screenshot, repository GitHub, forum, atau log yang dapat dibaca orang lain.

Jika secret tersebut benar-benar digunakan pada sistem aktif dan pernah dipublikasikan, sebaiknya buat secret baru.

Tentang Parameter -i

Contoh yang sering ditemukan:

gs-netcat -s "C2wNo5Ux7VenJ78tYgEhnT" -i

Parameter -i bukan hanya berarti login biasa. Pada GSocket, opsi tersebut berkaitan dengan mode terminal atau command shell interaktif.

Dengan kata lain, ketika sebuah dokumentasi menampilkan:

gs-netcat -s "SECRET" -i

koneksi tersebut dapat digunakan sebagai terminal interaktif apabila endpoint lainnya memang telah dikonfigurasi untuk menyediakan shell.

Kemampuan remote shell seperti ini sebaiknya hanya digunakan pada komputer atau server milik sendiri serta dengan kontrol akses dan audit yang sesuai.

Perbedaan gs-netcat dengan Netcat

Jangan tertukar antara:

nc

dan:

gs-netcat

nc adalah Netcat biasa.

Sedangkan gs-netcat merupakan bagian dari Global Socket Toolkit dan dapat menggunakan jaringan relay GSocket.

Perbedaan dengan SSH

SSH biasanya bekerja seperti ini:

Windows
   |
   | ssh user@IP
   v
Ubuntu :22

Sedangkan GSocket secara sederhana:

Windows
     \
      GSRN
     /
Ubuntu

Pada SSH, komputer client biasanya harus mengetahui alamat server. SSH juga mempunyai sistem autentikasi dan administrasi yang lengkap seperti:

  • Username
  • Password
  • SSH Key
  • Host Key
  • User Permission
  • SFTP
  • SCP
  • Port Forwarding

GSocket lebih berfokus pada pembuatan jalur komunikasi antara dua endpoint melalui relay. Karena itu, GSocket dan SSH tidak sepenuhnya merupakan pengganti satu sama lain.

Untuk Administrasi VPS

Jika tujuan utama adalah mengelola VPS Ubuntu milik sendiri dari Windows, metode yang umum digunakan adalah SSH dengan SSH key.

Windows
   |
   | SSH Key Authentication
   v
Ubuntu

Jika tidak ingin membuka SSH langsung ke seluruh internet, dapat menggunakan private VPN terlebih dahulu.

Windows
   |
Private VPN
   |
Ubuntu
   |
SSH

Dengan metode tersebut, SSH tetap menyediakan autentikasi user, host verification, logging, permission, serta fitur administrasi standar.

Ringkasan

gs-netcat merupakan salah satu program dalam GSocket atau Global Socket Toolkit. Program ini dapat digunakan pada Linux maupun Windows.

Parameter -s digunakan untuk menentukan shared secret yang digunakan oleh endpoint GSocket.

Sedangkan parameter -i berkaitan dengan interactive command shell atau terminal interaktif, bukan sekadar parameter login biasa.

Untuk administrasi server sehari-hari, SSH dengan SSH key dan jaringan private atau VPN biasanya lebih mudah dikontrol, dicatat, dan diaudit.

Postingan populer dari blog ini

3 Cara Otomatis Replace index.php di Linux Ubuntu: Systemd, Cron, dan Shell Loop

Ada beberapa cara untuk membuat Linux Ubuntu otomatis mengganti atau memperbarui file: /var/www/html/index.php secara berkala dari script lokal. Tiga metode yang paling umum adalah: Systemd Service + Timer Cron Shell Loop + nohup Di bawah ini adalah contoh implementasinya. 1. Menggunakan Systemd Service + Timer Metode ini paling cocok untuk VPS atau server Ubuntu normal yang menggunakan systemd . Buat script update sudo nano /usr/local/bin/update-index.sh Isi: #!/bin/sh cat > /var/www/html/index.php <<'EOF' <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Website</title> </head> <body> <h1>INDEX OTOMATIS</h1> </body> </html> EOF Beri permission execute: sudo chmod +x /usr/local/bin/update-index.sh Buat service sudo nano /etc/systemd/system/update-index.service Isi: [Unit] Description=Update index.php [Service] Type=oneshot ExecStart=/usr/local...