Android

Perintah Netcat (nc) dengan contoh

Netcat/nc : chatting in Terminal using netcat In kali Linux ✔

Netcat/nc : chatting in Terminal using netcat In kali Linux ✔

Isi kandungan:

Anonim

Netcat (atau nc) adalah utiliti baris perintah yang membaca dan menulis data merentasi rangkaian, menggunakan protokol TCP atau UDP. Ia adalah salah satu alat yang paling berkuasa dalam rangkaian dan sistem pentadbir senjata dan ia dianggap sebagai pisau tentera Swiss alatan rangkaian.

Netcat adalah cross-platform dan ia boleh didapati untuk Linux, macOS, Windows, dan BSD. Anda boleh menggunakan Netcat untuk debug dan memantau sambungan rangkaian, mengimbas pelabuhan terbuka, memindahkan data, sebagai proksi dan banyak lagi. Pakej Netcat telah dipasang pada macOS dan pengedaran Linux yang popular seperti Ubuntu.

Syntax Netcat

Sintaks yang paling asas utiliti Netcat mengambil bentuk berikut:

nc host port

Di Ubuntu, anda boleh menggunakan netcat atau nc . Mereka adalah kedua-dua symlinks untuk versi NetBSD Netcat.

Secara lalai, Netcat akan cuba untuk memulakan sambungan TCP ke hos dan pelabuhan yang ditentukan. Jika anda ingin menubuhkan sambungan UDP, gunakan pilihan -u :

nc -u host port

Pengimbasan Port

Pelabuhan imbasan adalah salah satu kegunaan yang paling biasa untuk Netcat. Anda boleh mengimbas satu port atau pelbagai port.

Sebagai contoh untuk mengimbas pelabuhan terbuka dalam jarak 20-80, anda akan menggunakan arahan berikut:

nc -z -v 10.10.8.8 20-80

Pilihan -z akan memberitahu nc untuk hanya mengimbas untuk pelabuhan terbuka, tanpa menghantar sebarang data kepada mereka dan pilihan -v untuk memberikan maklumat lebih lanjut.

Output akan kelihatan seperti ini:

nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded! nc: connect to 10.10.8.8 port 23 (tcp) failed: Connection refused… nc: connect to 10.10.8.8 port 79 (tcp) failed: Connection refused Connection to 10.10.8.8 80 port succeeded!

nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded

Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!

Anda juga boleh menggunakan Netcat untuk mencari perisian pelayan dan versinya. Sebagai contoh, jika anda menghantar arahan "EXIT" ke pelayan pada port SSH lalai 22:

echo "EXIT" | nc 10.10.8.8 22

Output akan kelihatan seperti ini:

SSH-2.0-OpenSSH_7.6p1 Ubuntu-4 Protocol mismatch.

Untuk mengimbas port UDP hanya tambah pilihan -u ke arahan seperti yang ditunjukkan di bawah:

nc -z -v -u 10.10.8.8 20-80

Dalam kebanyakan situasi, Nmap adalah alat yang lebih baik daripada Netcat untuk pengimbasan port kompleks.

Menghantar fail melalui Netcat

Netcat boleh digunakan untuk memindahkan data dari satu host ke yang lain dengan membuat model klien / pelayan asas.

Ini berfungsi dengan menetapkan Netcat untuk mendengar pada port tertentu (menggunakan pilihan -l ) pada host penerima dan kemudian menetapkan sambungan TCP biasa dari host lain dan menghantar fail ke atasnya.

Pada penerimaan menerima arahan berikut yang akan membuka port 5555 untuk sambungan masuk dan mengalihkan output ke fail:

nc -l 5555 > file_name

Dari tuan rumah penghantaran sambungkan ke tuan rumah penerima dan hantar fail:

nc receiving.host.com 5555 < file_name

Untuk memindahkan direktori anda boleh menggunakan tar untuk mengarkibkan direktori di host sumber dan untuk mengeluarkan arkib pada hos destinasi.

Pada hos penerima menetapkan alat Netcat untuk mendengar sambungan masuk pada port 5555. Data masuk disalurkan ke perintah tar yang akan mengeluarkan arkib:

nc -l 5555 | tar xzvf -

Pada pakej tuan rumah menghantar direktori dan menghantar data dengan menyambungkan ke proses pendengaran nc pada host penerima:

tar czvf - /path/to/dir | nc receiving.host.com 5555

Anda boleh melihat kemajuan pemindahan di kedua-dua hujungnya. Setelah selesai, ketik CTRL+C untuk menutup sambungan.

Mewujudkan Pelayan Sembang Mudah

Prosedur untuk membuat sembang dalam talian antara dua atau lebih tuan rumah adalah sama seperti ketika memindahkan fail.

Pada hos pertama memulakan proses Netcat untuk mendengar di port 5555:

nc -l 5555

Dari hos kedua, jalankan arahan berikut untuk menyambung ke pelabuhan mendengar:

nc first.host.com 5555

Sekarang jika anda menaip mesej dan tekan ENTER ia akan ditunjukkan pada kedua-dua hos.

Untuk menutup sambungan, ketik CTRL+C

Melaksanakan permintaan HTTP

Walaupun terdapat alat yang lebih baik untuk permintaan HTTP seperti curl, anda juga boleh menggunakan Netcat untuk menghantar pelbagai permintaan ke pelayan jauh.

Sebagai contoh, untuk mendapatkan halaman lelaki Netcat dari laman web OpenBSD yang anda taip:

printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80

Sambutan penuh termasuk tajuk HTTP dan kod HTML akan dicetak di terminal.

Kesimpulannya

Dalam tutorial ini, anda telah belajar bagaimana menggunakan utiliti Netcat untuk menubuhkan dan menguji sambungan TCP dan UDP.

Untuk mendapatkan maklumat lanjut, lawati laman lelaki Netcat dan baca mengenai semua pilihan berkuasa lain dari arahan Netcat.

terminal netcat