Tips & Trik dengan Perintah NetCAT di Linux
- 905
- 236
- Darryl Ritchie
NetCat adalah utilitas jaringan serbaguna yang dapat digunakan untuk membaca dan menulis ke koneksi TCP dan UDP pada port yang sewenang -wenang (seperti halnya utilitas lain yang digunakan di Linux, port di bawah 1024 memerlukan hak istimewa root/sudo). Secara default NetCAT menggunakan koneksi TCP, tetapi UDP dapat ditentukan dengan -u
bendera. Netcat dapat digunakan sebagai server dan klien. Saat digunakan sebagai server -l
Bendera digunakan untuk mendengarkan koneksi. Mirip dengan perintah CAT, NetCAT dapat menerima informasi dari Stdin dan menulis kepada Stdout membuatnya bagus untuk alur kerja yang melibatkan pipa dan pengalihan. Itu NC Perintah biasanya digunakan untuk membangkitkan netcat untuk kemudahan penggunaan.
Dalam tutorial ini Anda akan belajar bagaimana melakukan hal berikut dengan NetCat:
- Buat permintaan HTTP untuk mengambil halaman web
- mengobrol dengan teman di seluruh mesin
- Salin file antar mesin
- Lakukan pemindaian port
- Lihat pesan dari NetCat di browser web
- buat dan sambungkan ke shell terbalik
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Distribusi-independen |
Perangkat lunak | Netcat |
Lainnya | Hak istimewa root untuk menggunakan port di bawah 1024 |
Konvensi | # - Perintah Linux untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintahPerintah $ - Linux untuk dieksekusi sebagai pengguna biasa |
Meraih halaman web
PERINGATANKoneksi netcat tidak dienkripsi. Contoh -contoh berikut mengirimkan data di Clear. Jangan gunakan NETCAT untuk mengirimkan data sensitif pada jaringan yang tidak dapat dipercaya seperti Internet dan Wi-Fi publik. Jika Anda perlu mengirimkan data dengan aman, pertimbangkan Openssh.
NetCat dapat digunakan untuk membuat koneksi sewenang -wenang ke layanan jaringan. Akibatnya, ini dapat digunakan untuk membuat permintaan http ke server web seperti halnya browser web. Ayo lanjutkan dan ambil halaman indeks dari google.com.
Masukkan NC Perintah diikuti oleh tuan rumah dan pelabuhan Anda ingin terhubung ke.
$ NC Google.com 80
Sekarang mari kita buat permintaan http. Ketik atau salin/tempel berikut ini dan tekan Enter dua kali.
Get /Index.html http/1.1
Anda harus melihat output yang mirip dengan tangkapan layar ini.
Ambil situs web menggunakan netcatMengobrol
Contoh ini mengasumsikan bahwa Anda memiliki 2 komputer di jaringan yang sama, dengan nama host tuan rumah Dan host2. Asumsi ini akan dibuat dalam contoh berikut juga. Untuk membuat koneksi mendengarkan netcat di host1 masukkan yang berikut.
$ nc -lv 8888
Ini mendengarkan koneksi di port 8888. Itu -v
Bendera Menentukan output verbose yang akan memberi Anda informasi lebih lanjut tentang koneksi yang masuk.
Sekarang host2
memasuki:
$ nc host1 8888
Anda akan melihat bahwa teks apa pun yang dimasukkan ke terminal di host1 dikirim ke terminal di host2 dan sebaliknya. Ini dapat digunakan sebagai obrolan ADHOC antara dua pengguna di jaringan yang sama.
Transfer file
Netcat dapat digunakan untuk menyalin file dari satu mesin ke mesin lainnya. Mari kita asumsikan Anda memiliki file yang disebut ncnotes.txt yang ingin Anda transfer tuan rumah
ke host2
Di host1 masukkan yang berikut untuk membuat file dan dengarkan koneksi yang masuk untuk mentransfernya di port 2222:
$ echo "Ini adalah catatan netcat saya"> ncnotes.txt $ nc -l 2222 < ncnotes.txt
Di host2 Masukkan yang berikut untuk menyalin/menerima file dan kemudian mencetaknya ke stdout untuk memverifikasi bahwa transfer file berhasil.
$ nc host1 2222> ncnotes.txt $ cat ncnotes
Bagaimana jika Anda ingin mentransfer seluruh folder daripada hanya satu file? Netcat tidak mampu melakukan ini sendiri, jadi kita harus memanfaatkan perintah tar.
Masukkan yang berikut pada host1 untuk membuat folder yang diisi dengan lima file dan kemudian gunakan TAR untuk membuat arsip dan menyalurkannya melalui jaringan dengan NetCat.
$ MKDIR file; File Touch/1 ... 5 $ TAR -CVZ File | NC -L 8888
Masukkan yang berikut ini host2
Untuk mentransfer folder dan memverifikasi bahwa itu mencakup semua lima file.
$ NC HOST1 8888 | file tar -xvz $ ls
Di host1 the -C
Bendera digunakan untuk membuat arsip yang akan disalurkan ke netcat, -v
digunakan untuk output verbose sehingga kami memiliki umpan balik visual yang membuat kami tahu ini sedang terjadi dan -z
digunakan untuk mengompres arsip sehingga transfer jaringan lebih cepat. Dalam contoh kami kompresi tidak membuat banyak perbedaan karena file Folder diisi dengan file kosong, tetapi Anda mungkin ingin mentransfer direktori/file besar, jadi bagus untuk diketahui. Di host2 the -X
Bendera digunakan untuk mengekstrak arsip yang disalurkan dari netcat, -v
adalah untuk ekstrak verbose, dan -z
adalah mendekompresi arsip.
Pemindaian pelabuhan
Netcat dapat digunakan sebagai pemindai port yang belum sempurna dengan menggunakan -z
bendera.
Misalkan Anda aktif tuan rumah
Dan Anda ingin tahu apakah server SSH berjalan di host2. Dengan asumsi itu berjalan di port default (22) dan tidak ada akses firewall yang memblokir akses ke sana, Anda dapat menggunakan perintah berikut untuk melihat apakah layanan berjalan.
$ nc -zv host2 22
Netcat juga dapat memindai berbagai port untuk melihat mana jika ada di antara mereka yang terbuka. Ini dapat digunakan untuk menyimpulkan layanan apa yang sedang dijalankan mesin. Misalkan Anda aktif host2
dan Anda ingin melihat apakah ada port di antara 1
Dan 1024
terbuka tuan rumah
; Anda dapat menggunakan perintah berikut.
$ NC -ZV HOST1 1-1024
Bergantung pada versi NETCAT apa yang telah Anda instal pada sistem Anda, perintah sebelumnya hanya akan melaporkan hanya port terbuka atau akan mencetak baris untuk setiap port yang dibuka dan tertutup. Jika yang pertama terjadi maka outputnya sangat mudah dibaca, tetapi jika yang terakhir adalah kasusnya maka output dapat terbukti sulit diuraikan dan perintah berikut harus digunakan sebagai gantinya sehingga hanya port terbuka yang ditampilkan yang ditampilkan.
$ NC -ZV HOST1 1-1024 2> & 1 | Grep berhasil
Lihat pesan di browser
Pada tuan rumah
Masukkan berikut. Itu -k
Bendera menjaga koneksi tetap hidup sehingga dapat dihubungkan kembali ke mesin yang sama atau oleh mesin lain. Tanpa bendera ini tuan rumah
akan berhenti mendengarkan lebih banyak koneksi setelah koneksi pertama dibuat.
$ echo "halo di sana" | NC -LKV 5555
Pada host2
Buka browser dan navigasikan ke HOST1: 5555
Anda harus melihat kata -katanya Halo
ditampilkan di browser.
Cangkang terbalik
NetCat juga dapat digunakan untuk membuat shell terbalik untuk memberikan mesin dari jarak jauh melalui jaringan. Ini dilakukan dengan -e
bendera. Dalam contoh ini, kami ingin terhubung ke shell bash host2
untuk mengelolanya dari tuan rumah
.
Pada tuan rumah
memasuki:
$ nc -lv 6666
Pada host2
memasuki:
$ nc -v host1 6666 -e /bin /bash
Sekarang tuan rumah
Masukkan yang berikut dan akan jelas bahwa kami memiliki akses jarak jauh ke shell bash host2
.
$ hostname $ whoami $ ls
Anda harus melihat nama host untuk host2
, Nama pengguna pengguna yang dimulai NC pada host2
dan file mereka. Banyak versi netcat tidak termasuk -e
Opsi karena potensi penyalahgunaannya. Membangun shell jarak jauh pada mesin yang memiliki versi netcat yang tidak termasuk opsi -e akan memerlukan melakukan perintah netcat yang sama di host1, saat menggunakan program yang berbeda untuk membuat shell terbalik pada host2
. Solusi untuk ini ada untuk Bash, Python, Perl, PHP dan banyak lagi.
Tutorial Linux Terkait:
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Menguasai loop skrip bash
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 4
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 2
- Pengantar Pipa Bernama di Bash Shell
- Contoh dan trik Contoh Tip Baris Bash Berguna - Bagian 5
- « Cara menginstal, mengkonfigurasi, dan menggunakan mutt dengan akun gmail di linux
- Cara melacak panggilan sistem yang dilakukan oleh proses dengan strace di linux »