„Python“

„Python“ įsilaužimui, sukurkite uosto skaitytuvą

„Python“ įsilaužimui, sukurkite uosto skaitytuvą

„Python“, skirtas įsilaužti: sukurkite „Port“ skaitytuvą 13 eilučių naudodami „Python“

Tapimas įsiskverbimo bandytoju reiškia ne tik galimybę akimirksniu išnaudoti tam tikrą tikslą.  Naudojant kitų žmonių neatidėliotinus įrankius, kažkas netaps puikiu hakeriu. Tiesą sakant, tie, kurie priklauso nuo įrankių, paprastai yra antspauduojami kaip scenarijų vaikai. Kiekviena ekspertizės sritis turi turėti lygmenis, ji taip pat vadinama procesu, kurio svarbiausia yra įsilaužimo sritis. Ši populiari citata sako: „Legendos negimė, legendos kuriamos“. Kalbama ne apie savo talentą, o apie įgūdžių rinkinį.

Šiame straipsnyje sužinosime apie programavimo kalbos diegimą įsilaužimo srityje. Kas nežino apie „Python“ programavimo kalbą? Taip, žinoma, jūs jau žinote. „Python“ yra sukurtas bendro pobūdžio tikslams, tokiems darbalaukio programų kūrimams su savo vartotojo sąsaja, žiniatinklio kūrimui ir įsilaužimo ar skverbimosi testavimui. Python turi aktyvią bendruomenę (kurią kai kurie iš jų yra beprotiški, a.k.fanatas) ir pitonas taip pat turi turtingus bibliotekos modulius.

Python taip pat tapo mano mėgstama programavimo kalba, nes žinojau skverbimosi testavimo sritį. Aš ne tik myliu tai kaip savaime suprantamą dalyką. Tačiau kažkodėl iš esmės pitonas yra mažiau sudėtinga ir efektyvesnė programavimo kalba. Aš turiu omenyje tai, kad tai beveik arti žmonių kalbos, ar ne? Žiūrint iš naujojo požiūrio taško, kaip ir aš, „Python“ skaitomumo rodiklis yra beprotiškas.

Gerai, pakanka pervertinti pitoną. Dabar aš paaiškinsiu šio straipsnio esmę. Čia mes išmoksime sukurti paprastą uosto skaitytuvą su daugžodžiavimu, kuriame yra tik 13 eilučių. (man patinka 13). Čia mes neketiname įveikti „uosto skaitytuvų karaliaus“ NMap, o to tikslas yra suprasti, kaip įrankis veikia taip, kad sukurtų tai, ko mes norime, šiuo atveju norėdami sužinoti, ar taikinio uostai yra atviri ar ne. Kita vertus, yra ir kitų privalumų, t.e. kai tam tikru momentu susiduriame su sąlyga, kai norime atlikti maršrutizatoriaus, kuris negali prisijungti prie interneto, nuskaitymą per prievadą ir neturime jokių įrankių. Tai, žinoma, bus lengviau, jei mes galėsime patys padaryti uosto skaitytuvą. Citata iš aukščiau pateiktos citatos. Aš pridūriau: „Įsilaužėliai nenaudoja įrankių, jie kuria įrankius“

Leiskite tai padaryti su praktika, atidarykite mėgstamą teksto rengyklę. Nešvaistykite laiko naudodami aukštą IDE, kad atliktumėte paprastus scenarijus. Tiesiog būk efektyvus. Man labiau patinka „Gedit“, o ne iš anksto sukurtas „Kali Linux“ teksto redaktorius „Leafpad“. Dėl vienos priežasties „Gedit“ palaiko spalvų paryškinimą įvairioms programavimo kalboms. Įveskite šį tekstą į savo teksto rengyklę.

importo lizdas
kojinė = lizdas.lizdas (lizdas.AF_INET, lizdas.SOCK_STREAM)

1 eilutėje turime importuoti modulio lizdą, kad galėtume naudoti funkciją lizdas (). 2 eilutėje sukuriame lizdo objektą su sintakse:

lizdas.lizdas (socket_family, socket_kind)

„Socket_family“ gali būti: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH ir AF_ALG.

„Socket_kind“ variantai yra SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM ir kt. Mes naudojame SOCK_STREAM nes bendrausime per TCP protokolą.

Norėdami sužinoti daugiau apie lizdo modulį, apsilankykite oficialioje lizdo dokumentacijoje adresu https: // docs.pitonas.org / 3 / biblioteka / lizdas.HTML

Tęskime programą šiomis eilutėmis:
https: // analitika.google.com / analytics / web / # realtime / rt-content / a2559550w156331077p157923904 /

target = input („[+] įveskite tikslinį IP:“)

Mes prašome vartotojo įvesti tikslinį IP, nes mes naudojame AF_INET sukurti lizdą.

def skaitytuvas (prievadas):
bandyti:
kojinė.prisijungti ((taikinys, prievadas))
grįžti Tiesa
išskyrus:
grąžinti False

Kitose aukščiau pateiktose eilutėse mes apibrėžiame skaitytuvas () funkcija. Į skaitytuvas () mes naudojame bandyti sintaksė, kad įsitikintume, jog nemetėme klaidų, jei įvyktų kokių nors problemų. Mes stengiamės užmegzti ryšį su tiksliniu IP ir jo prievadu. Uosto kintamasis perduodamas į funkciją, kaip parodyta žemiau.

„portNumber“ diapazone (1 100):
spausdinti („Nuskaitymo prievadas“, „portsNumber“)
jei skaitytuvas (portNumber):
spausdinti ('[*] prievadas', portNumber, '/ tcp', 'yra atidarytas')

Tai skirta aukščiau esančiai kilpai, norint pakartoti keletą uostų, kuriuos ketiname nuskaityti, seriją. Sintaksė diapazonas() funkcija yra diapazonas (pradėti nuo x, sustoti prieš x). Taigi 10 eilutėje mes nuskaitysime 100 prievadų, tai yra nuo 1 iki 99 prievadų. Mes naudojame spausdinimo metodo iškvietimą, norėdami pasakyti, koks prievadas dabar yra tikrinamas. Tada grąžiname loginį tipą „True“ arba „False“. Tai vadina mūsų skaitytuvas () funkcija, kuri bando užmegzti ryšį su tiekiamu prievadu; jei tai yra grįžta Klaidinga (bandymas prisijungti nepavyko).  Jei grįš Tiesa (ryšio sėkmė), tada eikite į kitą eilutę. Kuris rodo pranešimą, nurodantį šį tam tikrą prievadą Atviras. Ši kilpa sustos, kai nuskaitysime 99 prievadą.

Taigi, apibendrindamas, mūsų 13 eilučių uosto kodo skaitytuvas turėtų atrodyti taip:

Gerai, dabar laikas tai išbandyti ir pamatyti, kaip tai veikia. Išsaugokite jį kaip skaitytuvas.py. Tuo atveju, jei mes ketiname ieškoti savo maršrutizatoriaus atidarytų prievadų diapazone nuo 1 iki 99. Patikėkite manimi, tai nebus madinga palyginti su „NMap“, tiesiog sutelkite dėmesį į mūsų tikslą, kurį minėjau aukščiau.

Tikslinis IP: 192.168.1.1

Sintaksė iškviesti skaitytuvas.py yra:

~ # python3 skaitytuvas.py

Kadangi mes nenustatėme scenarijaus aplinkos pirmoje eilutėje, todėl turime iškviesti „Python“ vertėją, aš naudojau „python3“, o ne žemesnę jo versiją.

Nepagalvotas išėjimas turėtų atrodyti taip:

APIBENDRINANT

Taip, mums pavyksta sukurti paprastą uosto skaitytuvą nuo nulio, naudojant pitoną tik 13 eilučių. Mums pavyksta pasiekti savo tikslą ir dabar žinome, kaip viskas veikia, tiesa?. Net aš jums nesakiau, jei yra vaikinas, kuris sukūrė „NMap-python“ modulį, nenustebsite. Šis modulis iš esmės gali paleisti NMap komandą naudodamasis python programavimo kalba.

Taip, jei jums įdomu, kur yra įsilaužimų dalis, atliekant tiesiog uosto nuskaitymą? Hmm ... Na, ką tada įsilaužėlis taiko, jei jie neturi supratimo apie patį taikinį. Ar prisimenate įsiskverbimo bandymo etapus ar ciklus? Jei ne, jums gali tekti perskaityti straipsnį čia:

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

Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...
Kaip pakeisti pelės žymeklio ir žymeklio dydį, spalvą ir schemą sistemoje „Windows 10“
„Windows 10“ pelės žymeklis ir žymeklis yra labai svarbūs operacinės sistemos aspektai. Tai galima pasakyti ir apie kitas operacines sistemas, taigi, ...