Petua & Trik dengan Perintah Netcat di Linux
- 1438
- 213
- Chris Little I
Netcat adalah utiliti rangkaian serba boleh yang boleh digunakan untuk membaca dan menulis ke sambungan TCP dan UDP pada port sewenang -wenangnya (seperti utiliti lain yang digunakan pada Linux, port di bawah 1024 memerlukan keistimewaan root/sudo). Secara lalai Netcat menggunakan sambungan TCP, tetapi UDP boleh ditentukan dengan -u
bendera. Netcat boleh digunakan sebagai pelayan dan pelanggan. Apabila digunakan sebagai pelayan -L
Bendera digunakan untuk mendengar sambungan. Sama dengan perintah kucing, Netcat dapat menerima maklumat dari stdin dan menulis ke stdout menjadikannya bagus untuk aliran kerja yang melibatkan paip dan pengalihan. The NC Perintah biasanya digunakan untuk membangkitkan Netcat untuk memudahkan penggunaan.
Dalam tutorial ini, anda akan belajar bagaimana melakukan perkara berikut dengan netcat:
- Buat permintaan HTTP untuk merebut laman web
- berbual dengan rakan di seluruh mesin
- Salin fail antara mesin
- melakukan pengimbasan pelabuhan
- Lihat mesej dari Netcat dalam penyemak imbas web
- buat dan sambungkan ke kerang terbalik
Keperluan perisian dan konvensyen yang digunakan
Kategori | Keperluan, konvensyen atau versi perisian yang digunakan |
---|---|
Sistem | Pengedaran-bebas |
Perisian | Netcat |
Yang lain | Keistimewaan Root untuk menggunakan port di bawah 1024 |
Konvensyen | # - perintah linux akan dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ - Perintah Linux akan dilaksanakan sebagai pengguna yang tidak layak |
Meraih laman web
AmaranSambungan Netcat tidak disulitkan. Contoh berikut menghantar data dengan jelas. Jangan gunakan Netcat untuk menghantar data sensitif pada rangkaian yang tidak boleh dipercayai seperti Internet dan Wi-Fi awam. Sekiranya anda perlu menghantar data dengan selamat, pertimbangkan OpenSSH.
Netcat boleh digunakan untuk membuat sambungan sewenang -wenangnya ke perkhidmatan rangkaian. Akibatnya, ia boleh digunakan untuk membuat permintaan HTTP ke pelayan web seperti pelayar web. Mari teruskan dan ambil halaman indeks dari google.com.
Masuk ke NC arahan diikuti oleh Tuan rumah dan juga pelabuhan Anda mahu menyambung ke.
$ nc Google.com 80
Sekarang mari buat permintaan HTTP. Taip atau salin/tampal yang berikut dan tekan Enter dua kali.
Dapatkan /indeks.HTML HTTP/1.1
Anda harus melihat output yang serupa dengan tangkapan skrin ini.
Dapatkan laman web menggunakan NetcatBerbual
Contoh ini mengandaikan bahawa anda mempunyai 2 komputer di rangkaian yang sama, dengan nama host HOST1 dan HOST2. Anggapan ini akan dibuat dalam contoh berikut. Untuk membuat sambungan pendengaran netcat di host1 masukkan yang berikut.
$ nc -lv 8888
Ini mendengar sambungan di port 8888. The -v
Bendera Menentukan output verbose yang akan memberi anda lebih banyak maklumat mengenai sambungan masuk.
Sekarang HOST2
Masukkan:
$ nc host1 8888
Anda akan melihat bahawa mana -mana teks yang dimasukkan ke dalam terminal pada Host1 dihantar ke terminal pada Host2 dan sebaliknya. Ini boleh digunakan sebagai sembang adhoc antara dua pengguna di rangkaian yang sama.
Pemindahan fail
Netcat boleh digunakan untuk menyalin fail dari satu mesin ke mesin yang lain. Mari kita anggap anda mempunyai fail yang dipanggil ncNotes.TXT yang anda mahu pindahkan HOST1
ke HOST2
Pada Host1 masukkan yang berikut untuk membuat fail dan dengar sambungan masuk untuk memindahkannya ke port 2222:
$ echo "Ini adalah nota netcat saya"> ncNotes.TXT $ NC -L 2222 < ncnotes.txt
Pada host2 masukkan yang berikut untuk menyalin/terima fail dan kemudian cetaknya ke stdout untuk mengesahkan bahawa pemindahan fail itu berjaya.
$ nc host1 2222> ncnotes.TXT $ CAT NCNOTES
Bagaimana jika anda ingin memindahkan seluruh folder dan bukan hanya satu fail? Netcat tidak mampu melakukan ini sendiri, jadi kita perlu menggunakan arahan tar.
Masukkan yang berikut di Host1 untuk membuat folder yang dipenuhi dengan lima fail dan kemudian gunakan tar untuk membuat arkib dan paip di rangkaian dengan NetCat.
$ mkdir fail; sentuh fail/1 ... 5 $ tar -cvz fail | NC -L 8888
Masukkan perkara berikut HOST2
Untuk memindahkan folder dan mengesahkan bahawa ia merangkumi semua lima fail.
$ nc host1 8888 | tar -xvz $ ls fail
Pada tuan rumah1 yang -c
Bendera digunakan untuk membuat arkib yang akan disalurkan ke Netcat, -v
digunakan untuk output verbose supaya kita mempunyai maklum balas visual yang membolehkan kita tahu ini berlaku dan -z
digunakan untuk memampatkan arkib supaya pemindahan rangkaian lebih cepat. Dalam contoh kami, mampatan tidak membuat banyak perbezaan sejak fail Folder dipenuhi dengan fail kosong, tetapi anda mungkin mahu memindahkan direktori/fail besar, jadi bagus untuk mengetahui. Pada tuan rumah2 yang -x
Bendera digunakan untuk mengekstrak arkib yang disalurkan dari netcat, -v
adalah untuk pengekstrakan secara verbose, dan -z
adalah untuk mengurangkan arkib.
Pengimbasan pelabuhan
Netcat boleh digunakan sebagai pengimbas pelabuhan asas dengan menggunakan -z
bendera.
Katakan anda sedang aktif HOST1
Dan anda ingin mengetahui sama ada pelayan SSH dijalankan pada host2. Dengan mengandaikan ia berjalan pada port lalai (22) dan tidak ada firewall menyekat akses kepadanya, anda boleh menggunakan arahan berikut untuk melihat apakah perkhidmatan sedang berjalan.
$ nc -zv host2 22
Netcat juga boleh mengimbas pelbagai pelabuhan untuk melihat mana jika mana -mana daripada mereka dibuka. Ini boleh digunakan untuk menyimpulkan perkhidmatan apa yang dijalankan oleh mesin. Katakan anda sedang aktif HOST2
dan anda ingin melihat sama ada pelabuhan antara 1
dan 1024
dibuka HOST1
; anda boleh menggunakan arahan berikut.
$ nc -zv host1 1-1024
Bergantung pada versi Netcat yang telah anda pasangkan pada sistem anda, arahan sebelumnya akan melaporkan hanya pelabuhan terbuka atau ia akan mencetak garis untuk setiap pelabuhan yang dibuka dan ditutup. Sekiranya bekas adalah kes itu maka output sangat mudah dibaca, tetapi jika yang terakhir adalah kes itu maka output dapat membuktikan sukar untuk dihuraikan dan perintah berikut harus digunakan sebaliknya sehingga hanya port terbuka dipaparkan.
$ nc -zv host1 1-1024 2> & 1 | Grep berjaya
Lihat mesej dalam penyemak imbas
Pada HOST1
sila isikan. The -k
Bendera menyimpan sambungan hidup supaya dapat disambung semula lagi oleh mesin yang sama atau oleh mesin lain. Tanpa bendera ini HOST1
akan berhenti mendengar lebih banyak sambungan sebaik sahaja sambungan pertama dibuat.
$ echo "hello there" | NC -LKV 5555
Pada HOST2
Buka penyemak imbas dan navigasi ke Host1: 5555
Anda mesti melihat perkataannya apa khabar di sana
dipaparkan dalam penyemak imbas.
Shell terbalik
Netcat juga boleh digunakan untuk menubuhkan shell terbalik untuk mengendalikan mesin jauh dari rangkaian. Ini dilakukan dengan -e
bendera. Dalam contoh ini, kami mahu menyambung ke shell bash HOST2
untuk mentadbirnya dari HOST1
.
Pada HOST1
Masukkan:
$ nc -lv 6666
Pada HOST2
Masukkan:
$ nc -v host1 6666 -e /bin /bash
Sekarang HOST1
Masukkan yang berikut dan akan jelas bahawa kami mempunyai akses jauh ke shell bash HOST2
.
$ hostname $ whoami $ ls
Anda mesti melihat nama hos untuk HOST2
, nama pengguna pengguna yang memulakan NC pada HOST2
dan fail mereka. Banyak versi Netcat tidak termasuk -e
pilihan kerana ia berpotensi untuk penyalahgunaan. Mewujudkan shell jauh pada mesin yang mempunyai versi Netcat yang tidak termasuk pilihan -e akan memerlukan melaksanakan arahan NetCat yang sama pada Host1, sambil menggunakan program yang berbeza untuk membuat shell terbalik HOST2
. Penyelesaian untuk ini wujud untuk Bash, Python, Perl, PHP dan banyak lagi.
Tutorial Linux Berkaitan:
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Menguasai Gelung Skrip Bash
- Perkara yang hendak dipasang di Ubuntu 20.04
- Ubuntu 20.04 Trik dan Perkara yang Anda Tidak Tahu
- Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 1
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 3
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 4
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 2
- Pengenalan kepada Paip Dinamakan di Bash Shell
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 5
- « Cara Memasang, Konfigurasikan, dan Gunakan Mutt dengan Akaun Gmail di Linux
- Cara mengesan panggilan sistem yang dibuat oleh proses dengan Strace on linux »