BH Telecom provjera stanja

Ako neko ima priliku da provjerava ADSL promet za 10+ korisnika vjerovatno zna koji je smor stalno login/logout i provjeravati promet.
Evo python skriptica mozda nekom ustedi vremena.

[code]#!/usr/bin/python

Pregled prometa korisnika na BH Telecom-u

import urllib2, cookielib, HTMLParser
import ClientForm

Izmijeniti/dodati podatke o korisnicima (lokacije su samo radi lakseg raspoznavanja)

korisnici = [
(‘Lokacija1’, ‘username1’, ‘password1’),
(‘Lokacija2’, ‘username2’, ‘password2’),
(‘Lokcaija3’, ‘username3’, ‘password3’),
]

class BHT:
def init(self, lokacija, user, password):
self.lokacija = lokacija
self.username = user
self.password = password
self.url = ‘http://www.bhtelecom.ba/bihnet_racun_v4.html

    cookiejar = cookielib.LWPCookieJar()
    cookiejar = urllib2.HTTPCookieProcessor(cookiejar)

    opener = urllib2.build_opener(cookiejar)
    urllib2.install_opener(opener)

def login(self):
    response = urllib2.urlopen(self.url)
    forms = ClientForm.ParseResponse(response, backwards_compat=False)
    form = forms[1]
    form['user'] = self.username
    form['pass'] = self.password
    self.page = urllib2.urlopen(form.click()).read()
   
def stanje(self):
    self.login()
    start = self.page.find('<b>') 
    end = self.page.find('</b>')
    ukupno = self.page[start+3:end]
    if start != -1:
        print '\033[93m', self.lokacija.ljust(10), ukupno.rjust(15),  '\033[0m'
    else:
        print '\033[93m Username/password (%s) nije ispravan ili je u pitanju neka druga greska!!\033[0m' % (self.lokacija)

for lokacija, u, p in korisnici:
get = BHT(lokacija, u, p)
get.stanje()

EOF[/code]

ah da… uz sitnu izmjenu ovo moze biti brute forcer takodje :slight_smile: :slight_smile: