Kako sam stvorio Python Bot za automatsku prijavu na Captive Portal

Korak po korak Python tutorial za izgradnju bota za prijavu

U današnje vrijeme Internet nije privilegija, već potreba. Kamo god krenuli, potrebna nam je stalna veza s Internetom putem Wi-Fi mreže ili mobilne mreže temeljene na podacima.

Zamislite da se pridružimo novom sveučilištu ili organizaciji koja nam pruža internet putem Wi-Fi-ja. Organizacija može implementirati vrlo uobičajenu stranicu za prijavu za autentifikaciju svojih korisnika koja se naziva Captive Portal (poznat i kao Vrt s zidovima ).

Portal za zarobljeništvo koristi se iz više razloga.

  • Koriste ih sveučilišta i organizacije za ograničavanje broja uređaja koji su povezani s Wi-Fi mrežom s jednog računa / osobe.
  • Primjenjuju se kako bi se omogućio pristup uslugama koje zahtijevaju provjeru autentičnosti, plaćanje ili druge valjane vjerodajnice kojih se i davatelj usluga i korisnik slažu.

Brojni su razlozi i pogodnosti korištenja portala za prisvajanje, no o tome se ne radi u ovom postu.

Moja je tvrtka uvela zatvoreni portal na koji su se korisnici trebali prijaviti da bi mogli pristupiti internetu. Odmah nakon što sam se povezao s bežičnom mrežom, moj je preglednik otvorio zatvorenu stranicu portala i trebao sam unijeti svoje korisničko ime i lozinku nakon čega sam mogao pristupiti Internetu. Ali postojao je problem.

Iako je implementacija Captive portala dobra za zaštitu od neovlaštenog pristupa Internetu, identifikacije prometa i upravljanja korisnicima, on ima kontroliranu vezu sa svakim uređajem kako bi se osiguralo da svi korisnici imaju odgovarajući pristup. Zatvoreni portal može,

  • Kontrolirajte broj terminala po korisniku
  • Kontrolirajte potrošnju propusnosti i / ili brzinu preuzimanja po sesiji
  • Ograničite dozvoljeni tip prometa i čak navedite trajanje sesije

Zbog ovih ograničenja, ako sam sustav uspavao ili ostao neaktivan dulje od nekoliko minuta, moj se sustav odjavio s mreže. Stoga sam se nakon prekoračenja praznog hoda morao ponovno prijaviti.

Budući da sam programer softvera koji zahtijeva stalnu, u pokretu povezanost s Internetom na svom sustavu, morao sam iznova unositi svoje korisničko ime i lozinku, što ga je činilo vrlo glomaznim.

Što ako bih se nakon odjave mogao prijaviti na zatvoreni portal jednim klikom na gumb / ikonu na svom sustavu?

To bi trebalo biti izvedivo! Nema potrebe za unosom korisničkog imena, a zatim lozinke koja bi u većini slučajeva trebala imati 8 znakova i trebala bi imati barem jedno veliko slovo bla bla bla. Da vidimo kako to možemo učiniti.

Provedba

Čak i ako ste početnik u programiranju, to bi trebalo biti prilično jednostavno. To sam kodirao u programski jezik Python. Python se može preuzeti ovdje, a također nam je potreban Selenium koji se može preuzeti ovdje. Možete i pip install selenium(preporučeno).

Sada pogledajmo kod.

Nakon uvoza potrebnih knjižnica, unutar koda moramo navesti sljedeće varijable.

Dopustite mi da sada to objasnim,

  • veza do web mjesta nije ništa drugo do veza do stranice za prijavu ili veza do portala na mreži za koju bi se korisnik autentificirao
  • u sername i lozinka je ono što unosite za prijavu
  • element_za_korisnicko ime, element_za_zaporku, element_za_predavanje su imena elementa u HTML kodu stranice za prijavu

Dopustite mi da vam pokažem kako ih pronaći.

Kao na gornjoj slici,

  • Otvorite Inspect Element, ovisno o vašem pregledniku.
  • Potražite HTML element i kopirajte ime ulazne oznake (u gornjem primjeru njegovo korisničko ime ).
  • Učinite isto da biste saznali i HTML element za lozinku i gumb za prijavu .
  • Ti će nizovi biti vrijednost za vaš element_za_korisničko ime, element_za_postupak, element_za_poslanje.

Većina posla je gotova!

Napomena: Radim na macOS-u pa ću implementirati bota za Safari. Za Chrome i druge upotrebljavajte Chrome putem chromedrivera.

Kopirajte ovaj kôd s ostatkom koda i spremite ga kao Python (.py datoteka). Pokrenite datoteku pomoću python script.py. Vidjet ćete da preglednik automatski otvara stranicu za prijavu, unosi detalje i šalje ih. Više ne morate ni upisivati ​​korisničko ime i lozinku. Zar nije cool?

Napomena: Kompletni kôd dostupan je na GitHubu.

Korištenje Automatora u macOS-u za stvaranje aplikacije (nije obavezno)

U macOS-u možete stvoriti aplikaciju koja može pratiti određeni skup tijekova rada za bilo koji zadatak koji se izvodi više puta.

U ovom odjeljku objasnit ću kako gore navedenu skriptu Python pretvoriti u automatsku aplikaciju. To će omogućiti korisniku da se prijavi na zatvoreni portal i jednostavno klikne datoteku aplikacije automatizacije.

Pogledajmo sada korake za provedbu ovoga:

Korak 1: Otvorite Automator . Stvorite novu uslugu ili Datoteka & g t; Nova > Usluga

Korak 2: Dodajte akciju " Pokreni skriptu školjke ", postavite Shell: na / bin / bash i proslijedite input: na kao argumente .

Korak 3: Sada dodajte bash kôd kao pod. Spremite datoteku na radnu površinu.

Korak 4: Kliknite datoteku i Voilà!

Pronalaženje rješenja za jednostavan problem kao što je ponavljano upisivanje nečega poput vjerodajnica za prijavu može se učiniti lako. Jednom kada saznate u čemu je problem, lakše je pronaći rješenje. Nadam se da vam je ovaj post dao ideju o tome kako funkcioniraju Selenium i Python i kako je stvaranje Python bota jednostavno.