Python

Python for Hacking, Bina Port Scanner

Python for Hacking, Bina Port Scanner

Python for Hacking: Bina pengimbas Port di 13 Lines With Python

Menjadi penguji penembusan bukan hanya dapat memanfaatkan sasaran tertentu dengan serta-merta.  Menggunakan alat pentest orang lain tidak akan menjadikan seseorang sebagai penggodam hebat. Sebenarnya, mereka yang mempunyai kebergantungan untuk bergantung pada alat biasanya dicap sebagai skrip kiddies. Setiap bidang kepakaran mesti memiliki tingkatan, itu juga disebut proses, yang paling tidak adalah bidang peretasan. Seperti petikan popular berikut, "Tidak ada legenda dilahirkan, legenda dibuat". Ini bukan mengenai bakat seseorang, tetapi keahlian.

Dalam artikel berikut, kita akan belajar tentang pelaksanaan bahasa pemrograman di bidang peretasan. Siapa yang tidak tahu mengenai bahasa pengaturcaraan Python? Ya, sudah tentu anda sudah tahu. Python dibuat untuk tujuan umum, pengembangan aplikasi desktop seperti itu dengan GUI, pengembangan web, dan termasuk uji coba peretasan atau penembusan. Python mempunyai komuniti yang aktif (yang sebahagian dari mereka tidak siuman, a.k.seorang fanatik) dan python juga mempunyai modul perpustakaan yang kaya.

Python juga telah menjadi bahasa pengaturcaraan kegemaran saya sejak saya mengetahui bidang ujian penembusan. Saya tidak suka begitu saja. Namun, atas sebab tertentu, pada dasarnya, python adalah bahasa pengaturcaraan yang kurang kompleks dan lebih cekap. Apa yang saya maksudkan ialah, hampir dengan bahasa manusia, bukan? Dari sudut pandang pemula seperti saya, kadar pembacaan Python tidak siuman.

Ok, cukup untuk melebih-lebihkan ular sawa. Sekarang saya akan menerangkan maksud artikel ini. Di sini kita akan belajar membuat pengimbas port sederhana dengan ketajaman dengan hanya 13 baris. (saya suka 13). Di sini kita tidak akan mengalahkan NMap “port scanner king”, tujuannya adalah untuk memahami bagaimana alat berfungsi sedemikian rupa sehingga menghasilkan apa yang kita inginkan, dalam hal ini untuk melihat apakah port pada sasaran terbuka atau tidak. Sebaliknya terdapat kelebihan lain, i.e. ketika pada suatu ketika kita berhadapan dengan keadaan di mana ketika kita ingin melakukan pengimbasan port router yang tidak dapat menyambung ke Internet dan kita tidak mempunyai alat apa pun. Ini tentu akan menjadi lebih mudah sekiranya kita dapat menjadikan pengimbas port sendiri. Petikan dari petikan di atas. Saya menambah, "Peretas tidak menggunakan alat, mereka membuat alat"

Mari lakukan dengan latihan, buka editor teks kegemaran anda. Jangan buang masa anda menggunakan IDE dengan ciri tinggi untuk membuat skrip ringkas. Cukup cekap. Saya lebih suka Gedit, daripada editor teks Kali Linux yang sudah siap, Leafpad. Kerana satu sebab, Gedit menyokong penonjolan warna untuk pelbagai bahasa pengaturcaraan. Taipkan teks berikut dalam penyunting teks anda.

soket import
stoking = soket.soket (soket.AF_INET, soket.SOCK_STREAM)

Pada baris 1 kita perlu mengimport soket modul untuk menggunakan fungsi soket (). Pada baris 2 kami membuat objek soket dengan sintaks:

soket.soket (socket_family, socket_kind)

Socket_family boleh jadi: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH dan AF_ALG.

Socket_kind pilihan adalah SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, dll. Kami guna SOCK_STREAM kerana kita akan berkomunikasi melalui protokol TCP.

Untuk mengetahui lebih lanjut mengenai modul soket sila lawati dokumentasi rasmi soket di https: // docs.ular sawa.org / 3 / perpustakaan / soket.html

Mari kita teruskan program dengan baris berikut:
https: // analitik.google.com / analytics / web / # realtime / rt-content / a2559550w156331077p157923904 /

target = input ("[+] Masukkan IP Sasaran:")

Kami meminta pengguna memasukkan IP sasaran, karena kami menggunakan AF_INET untuk membuat soket.

pengimbas def (port):
cuba:
stoking.sambung ((sasaran, port))
kembali Benar
kecuali:
kembali Palsu

Pada baris seterusnya di atas, kita menentukan pengimbas () fungsi. Dalam pengimbas () kami guna cuba sintaks untuk memastikan kita tidak membuang sebarang kesalahan sekiranya berlaku masalah. Kami cuba membuat sambungan untuk menyasarkan IP dan portnya. Pemboleh ubah port diteruskan ke fungsi seperti gambar di bawah.

untuk portNumber dalam jarak (1,100):
cetak ("Port pengimbasan", portNumber)
jika pengimbas (portNumber):
cetak ('[*] Port', portNumber, '/ tcp', 'is open')

Ini untuk gelung di atas, adalah untuk melakukan rutin melalui rangkaian port yang akan kita imbas. Sintaks bagi julat () fungsi adalah, jarak (bermula dari x, berhenti sebelum x). Jadi pada baris 10 kita akan mengimbas 100 port, yang merupakan port 1 hingga 99. Kami menggunakan panggilan kaedah cetak untuk mengetahui port apa yang sebenarnya sedang diimbas. Kemudian kami mengembalikan jenis Boolean, Betul atau Salah. Ia memanggil kami pengimbas () fungsi yang cuba membuat sambungan ke port yang disediakan; sekiranya ia kembali Salah (percubaan untuk menyambung gagal).  Sekiranya ia kembali Betul (kejayaan sambungan) kemudian pergi ke baris seterusnya. Yang memaparkan mesej yang menunjukkan port tertentu ini Buka. Gelung ini akan berhenti sebaik sahaja kita mengimbas port 99.

Jadi untuk menyelesaikannya, pengimbas kod port 13 baris kami akan kelihatan seperti ini:

Baiklah sekarang masa untuk mengujinya, mari lihat bagaimana ia berfungsi. Simpan sebagai pengimbas.py. Sekiranya kita akan mencari port terbuka router kita sendiri dalam jarak antara 1 dan 99. Percayalah ini tidak akan senang dibandingkan dengan NMap, hanya fokus pada tujuan yang saya nyatakan di atas.

IP Sasaran: 192.168.1.1

Sintaks untuk memanggil pengimbas.py adalah:

~ # pengimbas python3.py

Oleh kerana kami tidak menetapkan persekitaran skrip kami pada baris pertama, oleh itu kami perlu memanggil jurubahasa Python, saya menggunakan python3 daripada versi yang lebih rendah.

Dan output yang tidak mewah kelihatan seperti ini:

KESIMPULANNYA

Ya, kami berjaya membina pengimbas port sederhana dari awal menggunakan python hanya dalam 13 baris. Kita berjaya mencapai matlamat kita, dan sekarang kita tahu bagaimana semuanya berjalan dengan betul?. Walaupun saya tidak memberitahu anda jika ada lelaki yang membuat modul NMap-python, anda tidak akan terkejut. Modul ini pada dasarnya dapat menjalankan perintah NMap menggunakan bahasa pengaturcaraan python.

Oh ya, jika anda tertanya-tanya di mana bahagian penggodaman dengan hanya melakukan pengimbasan port? Hmm… Baiklah, apa sasaran penggodam jika mereka tidak tahu mengenai sasaran itu sendiri. Adakah anda masih ingat Fasa Ujian Penembusan atau Kitaran? Sekiranya tidak, anda mungkin perlu membaca artikel di sini:

https: // linuxhint.com / kali-linux-tutorial /

Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...
Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...