Saya biasa menggunakan scp dan simple webserver seperti yang disediakan oleh python jika ingin memindahkan satu atau lebih file dari sebuah mesin linux ke mesin linux lainnya (atau windows). Tapi, baru-baru ini saya lihat tutorial singkat di Youtube untuk men-transfer file dengan cara yang lebih efektif, yaitu menggunakan netcat. Saya sebut sebagai cara tersimpel setidaknya karena 3 alasan:
- Paketnya tersedia di semua distro linux
- Instalasinya mudah, dan
- Penggunaannya relatif lebih mudah dan lebih praktis dibanding cara lainnya.
Instalasi#
Distro | Command |
---|---|
Debian/Ubuntu | sudo apt install netcat-traditional |
Arch Linux | sudo pacman -Sy gnu-netcat |
Opensuse | sudo zypper install gnu-netcat |
Fedora | sudo dnf install netcat-gnu |
Untuk Windows, binary netcat dapat diunduh di url berikut:
https://nmap.org/download.html#windows.
Berikut ini adalah artikel relevan terkait instalasi netcat di Windows: How to Install on Windows 10/11.
Demonstrasi#
Misalnya, saya ingin men-transfer sebuah file gambar bernama skynight.jpg dari Debian ke Archlinux, maka, langkah-langkahnya:
- Siapkan listener di Arch dengan perintah
nc -lvnp 1234 > skynight.jpg
Keterangan
- Transfer file dari Debian ke Arch dengan perintah
nc $IP 1234 -w 1 < skynight.jpg
Keterangan
Kemudian, kita bisa memastikan file yang di-transfer tersebut (skynight.jpg) sudah terkirim dengan baik dengan mengecek integrity file-nya melalui perintah berikut:
sha256sum skynight.jpg
Berikut adalah demonstrasinya:
Sangat mudah, kita hanya perlu tahu ip address mesin yang akan kita kirimkan filenya. Itu saja, tidak perlu mengkonfigurasi macam-macam seperti bikin key pairs (private & public key) seperti di ssh / scp misalnya.
Sebetulnya, video Youtube yang menginspirasi artikel ini adalah video short Youtube, tapi karena saya belum tahu cara menginputkan short tersebut di Hugo/HTML, berikut saya lampirkan video tutorial penggantinya: