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.