Hantar Data Merentasi Komputer Rangkaian dengan Netcat Menggunakan Baris Perintah
Netcat ialah alat baris arahan yang berkuasa yang boleh membaca dan menulis data merentas sambungan rangkaian menggunakan TCP/IP, ia biasanya digunakan untuk geganti, pemindahan fail, pengimbasan port, antara lain. Walaupun asal netcat adalah daripada dunia unix dan linux, netcat juga terbina dalam Mac OS X, dan kami akan menggunakan utiliti nc sebagai cara mudah untuk menghantar data dan teks lain merentas dua komputer rangkaian.Dengan menggunakan netcat untuk menghantar data dengan hubungan klien dan pelayan yang agak mudah, ia menawarkan alternatif yang berpotensi lebih cepat kepada perkongsian fail tradisional apabila pengguna lebih suka kekal dalam baris arahan semasa menghantar dan menerima data, dan di mana menyambung melalui SSH atau SFTP adalah ' t praktikal.
Perhatikan bahawa netcat tidak memerlukan log masuk atau pengesahan, satu-satunya keperluan ialah pelanggan mengetahui alamat IP pelayan dan nombor port pendengaran. Ini jelas menimbulkan beberapa potensi penyalahgunaan keselamatan, justeru menggunakan netcat untuk menghantar data dan teks biasanya paling baik dikhaskan untuk pengguna lanjutan, atau untuk digunakan secara eksklusif di belakang rangkaian tempatan yang dilindungi di mana terdapat sedikit risiko. Situasi di mana keselamatan penting untuk ditekankan adalah lebih baik menggunakan SSH.
Untuk memudahkan, kami akan merujuk kepada komputer 1 yang mendengar dengan netcat sebagai “Pelayan”, dan kami akan merujuk kepada komputer 2 yang menghantar data ke komputer 1 sebagai “pelanggan”.
Tetapkan Netcat untuk Mendengar pada Pelayan (Komputer 1) & Port
Kami akan melancarkan netcat dan memintanya mendengar pada port 2999, dan kemudian mengubah hala mana-mana data yang diterima ke fail bernama “received.txt” dengan rentetan arahan berikut:
nc -l 2999 > received.txt
Sebelum memanggilnya untuk berpindah ke klien, anda perlu mempunyai alamat IP Mac pada rangkaian tempatan. Anda boleh mendapatkannya daripada panel kawalan Rangkaian, atau kerana anda sudah berada di Terminal, melalui baris arahan dengan sintaks berikut:
ipconfig getifaddr en0
Mac moden dengan Wi-Fi sahaja akan menggunakan en0, Mac dengan ethernet & wifi boleh menggunakan en1. Jika seseorang tidak menemui apa-apa, cuba antara muka yang lain untuk mendapatkan IP LAN. Andaikan IP Mac ini dilaporkan sebagai "192.168.1.101", sudah tentu IP anda mungkin berbeza-beza. Anda memerlukan ini pada komputer pelanggan untuk menghantar data, yang akan kami bincangkan seterusnya.
Data Paip daripada Pelanggan (Komputer 2) ke Pelayan Mendengar
Kini pada klien tempat anda ingin menghantar data, anda boleh menggunakan arahan seperti berikut. Kami akan menggunakan cat untuk membuang fail teks melalui rangkaian ke pelayan netcat yang mendengar, tetapi anda boleh meneruskan apa sahaja yang anda mahukan:
cat sendthisdataover.txt | nc 192.168.1.101 2999
Untuk ini berfungsi dengan betul, pastikan anda mengisi alamat IP anda sendiri daripada pelayan dan catatkan fail atau teks yang sesuai yang anda mahu hantar.
Dengan mengandaikan rangkaian tempatan adalah agak cepat, data sepatutnya tiba agak cepat jika tidak serta-merta. Setelah pemindahan data selesai, kedua-dua belah sambungan akan terhenti dan pelayan akan berhenti mendengar, kemudian tutup port. Ini menjadikannya berkesan untuk penghantaran sekali sahaja data seperti fail log atau dokumen teks besar, tetapi ia tidak semestinya praktikal untuk memindahkan banyak fail.
Seperti yang telah disebutkan, anda boleh menyalurkan hampir mana-mana data, jadi sama ada ia keluaran apl lain, ekor, kucing, atau pun dibuang terus daripada papan keratan dengan pbcopy dan pbpaste, ia akan dipindahkan melalui netcat.
Perlu diambil perhatian bahawa terdapat cara yang lebih mudah untuk berkongsi papan keratan antara Mac atau antara mesin Mac dan Linux atau Windows, dan dalam situasi tersebut anda lebih baik menggunakan alatan percuma seperti Teleport untuk Mac- perkongsian input ke-Mac, atau utiliti Synergy percuma jika anda akan merentas platform antara Mac dan PC. Kedua-duanya membenarkan pengguna berkongsi data papan keratan serta peranti input seperti tetikus dan papan kekunci.
Untuk rekod, semasa demonstrasi ini ditunjukkan pada dua Mac dengan OS X, tiada sebab anda tidak boleh menggunakan netcat untuk menghantar data antara mesin Mac dan Linux, atau sebaliknya.
Terdapat banyak lagi kegunaan hebat lain untuk netcat di luar sana, jika anda mempunyai sebarang kegemaran, beritahu kami dalam komen!