рдкрдардиреАрдп рд░реВрдк рдореЗрдВ DIR-615 рд░рд╛рдЙрдЯрд░ рдХреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдореИрдВ рдПрдХ рдмрдбрд╝реЗ рдкрд░рд┐рд╡рд╛рд░ рдореЗрдВ рдХрдИ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рд░рд╣рддрд╛ рд╣реВрдВред рдЗрди рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдбреА-рд▓рд┐рдВрдХ рдбреАрдЖрдИрдЖрд░ -615 рд░рд╛рдЙрдЯрд░ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реИред рдЗрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╡рд░реНрддрдорд╛рди рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗрддрд╛ рд╣реИред рдЗрд╕ рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рд╣рдореЗрд╢рд╛ рдЪрд┐рдВрддрд┐рдд рдерд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдШрд░ рдХреЗ рд╕рджрд╕реНрдп рдЗрддрдирд╛ рдбрд░рд╛рд╡рдирд╛ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╡реЗ рдХрд┐рд╕реА рдЦреМрдлрдирд╛рдХ рдмреЙрдЯрдиреЗрдЯ рдХреЗ рд╢рд┐рдХрд╛рд░ рд╣реЛ рдЧрдП рд╣реИрдВ? рдЗрд╕ рдХрдиреЗрдХреНрд╢рди рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдореБрджреНрджреЗ рдХреЗ рдиреИрддрд┐рдХ рдкрдХреНрд╖ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореЗрд░реА рд▓рд┐рдкрд┐- kiddivsky рддрд░реАрдХрд╛ рдорд╛рдирд╡-рдкрдардиреАрдп рд░реВрдк рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реВрдЪреА рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реВрдЪреА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:



рдмреЗрд╢рдХ, рдЖрдк рдХрд┐рд╕реА рднреА рд░рд┐рд╡рд░реНрд╕ DNS рд▓реБрдХрдЕрдк рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП 'рдЗрдВрдЯрд░рдиреЗрдЯ' рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рдХреА рдирдХрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рд╢реНрд░рдорд╕рд╛рдзреНрдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдмреЗрдХрд╛рд░ рдХрд╛рдо рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рд░реВрдк рдореЗрдВ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЦреЛрдЬ рд▓реЗрдВрдЧреЗред рдореЗрд░реЗ рд░рд╛рдЙрдЯрд░ рдореЗрдВ, рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди E4 рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдореЙрдбрд▓реЛрдВ рдХреА рддрд░рд╣ рдЕрднреА рддрдХ рдХреЛрдИ рдЯреЗрд▓рдиреЗрдЯ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рднреНрдп рддрд░реАрдХреЗ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдбреАрдбреА-рдбрдмреНрд▓реНрдпреВрдЖрд░рдЯреА рдХреЛ рдлреНрд▓реИрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕реАрдзреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдкреГрд╖реНрда рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд░рд╛рдЙрдЯрд░ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рд╣реЛрддреА рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо HTTPFox рдирд╛рдордХ рдПрдХ рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд╕рднреА HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рд╣рдо рд░рд╛рдЙрдЯрд░ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд░рд╛рдЙрдЯрд░ 192.168.0.1 рдкрд░ рд╕реНрдерд┐рдд рд╣реИред



рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ login.cgi рдХреЗ рдкрддреЗ рдкрд░ рдПрдХ POST рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИред рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдореЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд░реВрдк рд╣реИрдВред рд╡реЗ рдХреЗрд╡рд▓ рдЕрдЬреАрдм рджрд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рдирдИ рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИред рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╡реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡реЛрдВ рдХреЗ рдкрд╛рда рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ base64 рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИрдВред рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдзреЗ рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рдкрд░ рджрд░реНрдЬ рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдп рд╣реИ, рдкреЗрдЬ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдкрд╛рдпрдерди рдмреЗрд╕ 64 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ urlsafe_b64encode рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдкрд╛рд╕рд╡рд░реНрдб рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджрд┐рдПред рдЕрдВрддрд░ рдпрд╣ рдерд╛ рдХрд┐ рдкреГрд╖реНрда рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдХрднреА-рдХрднреА рдЕрдВрддрд┐рдо рд╡рд░реНрдг рдХреЛ '=' рд╕реЗ рдмрджрд▓рдХрд░ 'рдП' рдХрд░ рджрд┐рдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдмрд╕ HTTPFox рд╕реЗ рд╣реЗрдбрд░ рдФрд░ POST рдбреЗрдЯрд╛ рджреЛрдиреЛрдВ рдХреЛ рдлрд╛рдбрд╝рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рд▓реЙрдЧрд┐рди рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд░рд╛рдЙрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди рдиреЗрдкреНрд▓реЗрдм рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
def LoginRouter(): headers = { '(Request-Line)': 'POST /login.cgi HTTP/1.1', 'Host': '192.168.0.1', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate', 'Referer': 'http://192.168.0.1/login_auth.asp', 'Connection': 'keep-alive', 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '144', } post_data = 'html_response_page=login_fail.asp&login_name=YWRtaW4A&login_pass=ZmFrZXB3ZA%3D%3D&graph_id=f1b37&login_n=admin&log_pass=ZmFrZXB3ZA%3D%3D&graph_code=&login=Login' conn = httplib.HTTPConnection('192.168.0.1:80') conn.request("POST", "/login.cgi", post_data, headers) response = conn.getresponse() 

рдХреЛрдИ рднреА рдХреБрдХреАрдЬрд╝ рд╣рдорд╛рд░реЗ рдЬрд╡рд╛рдм рдореЗрдВ рдирд╣реАрдВ рдЖрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рд░рд╛рдЙрдЯрд░ рд╣рдореЗрдВ рдЖрдИрдкреА рдкрддреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рднреА рдХрд░рддрд╛ рд╣реИред
рдЖрдЧреЗ, рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдкреЗрдЬ рдХреЗ рд╕реНрд░реЛрдд рдкрд╛рда рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдЗрдирдкреБрдЯ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡ рдкрд░ рд╕реЗрдЯ рд╣реИред рдФрд░ рд╡рд╣ рдкреГрд╖реНрда рдкрд░ рдПрдХ рднреА рд╣реИред рддреЛ рдкреГрд╖реНрда рдкрд╛рд░реНрд╕рд░ рд╕рд░рд▓ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдпрд╣ рдЗрдирдкреБрдЯ рдЯреИрдЧ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдореВрд▓реНрдп рдХреНрд╖реЗрддреНрд░ рд▓реЗрдЧрд╛ред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрд┐рд╕реА рднреА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ LXML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛, рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдФрд░ рд╕рд░рд▓ рд╣реЛрдЧрд╛ред рд╡реЗрдм рдкреЗрдЬ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Python HTMLParser рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рддрд╛рддреНрдкрд░реНрдп HTMLParser рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рд╕реЗ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрд░реАрдХреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рдкрд╛рд░реНрд╕рд░ рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рдбреЗрдЯрд╛ рдорд┐рд▓реЗрдЧрд╛, рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдореЗрдВ рдХреЗрд╡рд▓ handle_data рдФрд░ handle_starttag рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рддрджрдиреБрд╕рд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдкрд╛рд░реНрд╕рд░ рдбреЗрдЯрд╛ рдФрд░ рдЯреИрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдкрд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреИрд╕реЗ: "TCP / 7767 / EST / OUT / 192.168.0.100 / 52751 / 64.12.30.3 / 5190/52751", рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рд╕реБрдВрджрд░, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓реБрдХ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдПрдХ рд╕рд░рд▓ GET рдЕрдиреБрд░реЛрдз рд╣реЛрдЧрд╛ред рдпрджрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреГрд╖реНрда рдореЗрдВ рд╣рдореЗрдВ рдлрд╝реЙрд░реНрдо "рдлрд╝рдВрдХреНрд╢рди рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд ()" рдХреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рд╣рдо рд░рд╛рдЙрдЯрд░ рдкрд░ рдЕрдзрд┐рдХреГрдд рдирд╣реАрдВ рд╣реИрдВред

 def GetInternetSessionsPage(): class ConnectionsParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.saved_data = [] def handle_starttag(self, tag, attrs): if tag == 'input': attr = dict(attrs) connections_str = attr['value'] connections_list = connections_str.split(',') for connection_entry in connections_list: data_entry_keywords = ['Protocol', 'Time out', 'State', 'Direction', 'Local IP', 'Local Port', 'Destination IP', 'Destination Port', 'NAT'] data_entry_values = connection_entry.split('/') data_entry = dict(zip(data_entry_keywords, data_entry_values)) self.saved_data.append(data_entry) conn = httplib.HTTPConnection('192.168.0.1:80') conn.request("GET", "/internet_sessions.asp") response = conn.getresponse() if response.status == httplib.OK: responce_text = response.read() if responce_text.find('function redirect()') >=0: return None parser = ConnectionsParser() parser.feed(responce_text) return parser.saved_data 


рдЕрдм рдпрд╣ рдХреЗрд╡рд▓ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдбреЛрдореЗрди рдирд╛рдо рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдЕрдиреБрд░реЛрдз рдкрд░, Google рдХреЗ рдкрд╛рд╕ рд░рд┐рд╡рд░реНрд╕ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред рдкрд╣рд▓реЗ рдПрдХ рдкрд░ рдореБрдЭреЗ рдПрдкреАрдЖрдИ рдЕрдиреБрднрд╛рдЧ рдорд┐рд▓рддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдкреАрдЖрдИ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдЬрд┐рддрдирд╛ рдЪрд╛рд╣реЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЦреИрд░, рдпрд╣ рд╡рд┐рдХреГрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛ рдЧрдпрд╛, рд╡рд╛рдВрдЫрд┐рдд рдЖрдИрдкреА рдкрддрд╛ рдмрд╕ URL рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╣рдо рд╕рдВрдХрд▓рд┐рдд рдкрддреЗ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЙрд╕реА HTMLParser рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВред рд╕рдЪреНрдЪрд╛рдИ рдереЛрдбрд╝реА рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдФрд░ рдмрджрд╕реВрд░рдд рдирд┐рдХрд▓реА, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдЦреЛрдЬрдиреЗ рдХреА рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ, рд╣рдо "рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╣реЛрд╕реНрдЯ:" рд▓рд╛рдЗрди рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╛рдВрдЪ рд░рд┐рдХреЙрд░реНрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЦреИрд░, рдпрд╣ рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рдкрд░рд┐рдгрд╛рдо рддрд╛рд▓рд┐рдХрд╛ рд╣реИред

 def GetHostNameByIP(address): class DNSParser(HTMLParser): NUM_DATA_TO_SAVE = 5 def __init__(self): HTMLParser.__init__(self) self.next_data_save = 0 self.saved_data = [] def handle_data(self, data): if data.find('Resolve Host:') >= 0: self.next_data_save = self.NUM_DATA_TO_SAVE if self.next_data_save>0: self.saved_data.append(data) self.next_data_save -= 1 conn = httplib.HTTPConnection('domaintz.com:80') conn.request("GET", "/tools/overview/" + address) response = conn.getresponse() if response.status == httplib.OK: parser = DNSParser() parser.feed(response.read()) return parser.saved_data else: return 'Error ' + str(response.status) 


рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд░рд╛рдЙрдЯрд░ рдкрд░ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдЧрдВрддрд╡реНрдп рдкрддреЗ рдХреЛ рд░рд┐рд╡рд░реНрд╕ рдбреАрдПрдирдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдлрд╛рд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрддреЗ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛред

 def LookupRouterConnections(looking_ip = None): sessions = GetInternetSessionsPage() if sessions is None: LoginRouter() sessions = GetInternetSessionsPage() if sessions is None: print 'Cant login to router, check Login/Password' return for entry in sessions: if entry.has_key('Destination IP'): if looking_ip is not None: if entry.get('Local IP') != looking_ip: continue print '{0} : {1}'.format(entry['Local IP'],GetHostNameByIP(entry['Destination IP'])) 


рд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ:

 LookupRouterConnections('192.168.0.100') 192.168.0.100 : ['Resolve Host:', '212-36-249-250.rdtc.ru', ' (212.36.249.250)', 'IP Location:', 'Russian Federation, Novokuznetsk, Regional Digital Telecommunication Company (212.36.249.250)'] 192.168.0.100 : ['Resolve Host:', 'Debian-60-squeeze-64-minimal', ' (5.9.145.232)', 'IP Location:', 'Germany, RIPE Network Coordination Center (5.9.145.232)'] 192.168.0.100 : ['Resolve Host:', 'server15033.teamviewer.com', ' (178.255.155.21)', 'IP Location:', 'Italy, ANEXIA Internetdienstleistungs GmbH (178.255.155.21)'] 192.168.0.100 : ['Resolve Host:', 'cm-04.lux.valve.net', ' (146.66.152.15)', 'IP Location:', 'Luxembourg, Valve Corporation (146.66.152.15)'] 


рдФрд░ рдЗрддрдиреЗ рдкрд░, рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рд┐рдХреЙрд░реНрдбред

рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реНрд░реЛрдд:

http://ru.wikipedia.org/wiki/HTTP
http://www.python.org/doc/

Source: https://habr.com/ru/post/In166417/


All Articles