Monitorando rede local . [RESOLVIDO]

1. Monitorando rede local . [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 20/05/2016 - 22:18h

Boa noite, eu estava tentando criar algum meio para monitorar minha rede local (meu router) no qual a ideia é conectar a ele e pedir a tabela dhcp de clientes ativos no momento para posteriormente fazer uma comparação para ser avisado assim que um novo usuário se conectar ao host. Bom é ligeiramente fácil mas a minha dificuldade está em logar na pagina html do router que inclusive já tentei com curl, Python sem sucesso e estou a mais de uma semana vasculhando o google por informações e nada encontro, então venho mais uma vez pedir ajuda para simplesmente me conectar a uma pagina em html, se alguém conhecer algum modo será de grande valia para este newbie que não entende quase nada de programação.


  


2. Re: Monitorando rede local .

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/05/2016 - 03:13h

Mano, eu também não consigo logar no meu roteador atráves do curl, engraçado que isso só acontece em scripts ASP.NET no meu caso.


Imagino que tu já deve ter tentado:
# curl -d "User=hackme&Pass=hackme" -c routercookie -s router/login.php
# curl -b routercookie -L router/index.php

não funfou?

Pensando em algo aqui para retornar os aparelhos conectados na lan eu lembrei do nmap.
Ai escrevi um fragmento de código em C usando a primitiva system(), pode parecer um tanto id.iota, mas enfim... talvez possa lhe dar algumas ideias.
Ficando assim:
#include <stdlib.h>
int main(void){
system("nmap -sn -PA 192.168.0.2-255 -T5 > /var/tmp/rede");
system("cat /var/tmp/rede |grep report |cut -dr -f4;rm /var/tmp/rede");
return 0;
}

Output:
BSD4LIFE$ gcc -o rede rede.c;./rede
192.168.0.10

[]'s
--
Just bring us some beers, and then we can talk about our systems. :)


3. Re: Monitorando rede local . [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 21/05/2016 - 10:59h

Muito obrigado @Cristhoffer94, sim já tentei e não deu certo acho que por ser html fica meio complicado pois com php funfa legalzinho, tentei também com urllib e requests do python e nada. O programa (um pequeno script nada de avançado) já está escrito mas para funcionar tenho que me logar pelo navegador antes e isso é chato mas após isto ele roda o dia todo sem mais problemas.






=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
ID = LPI000359879
=====================================================================





4. Re: Monitorando rede local . [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/05/2016 - 18:27h

Legaal, a dificuldade é apenas a autenticação no router mesmo então.
E se tu tentar usar algum text browser no teu script? vai que né...
Não achei muito material sobre isso, mas de uma olhada:

http://elinks.or.cz/documentation/manpages/elinks.conf.5.html
http://stackoverflow.com/questions/7204990/lynx-how-to-use-auth-flag-when-username-contains-domain
http://superuser.com/questions/724050/how-to-login-to-a-website-with-no-username-when-using-lynx

estes últimos dois links informei apenas por informar, vale mais ler o man.
--
Just bring us some beers, and then we can talk about our systems. :)



5. Re: Monitorando rede local . [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 21/05/2016 - 18:56h

já tentei também depois que zerei as alternativas vim pedir socorro aqui kkkkkkk.






=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
ID = LPI000359879
=====================================================================





6. Re: Monitorando rede local . [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 28/05/2016 - 03:19h

Obrigado mais uma vez a todos que me ajudaram, consegui com umas bibliotecas do Python o código ficou meio feio mas ainda vou melhorar como por exemplo um filtro melhor já que estou usando um filtro horrível no código kkkkkkkkk.

#!/usr/bin/env python3

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from pyvirtualdisplay import Display
import requests
import os

urllogin = 'http://192.168.0.1/login.htm'
urldhcp = 'http://192.168.0.1/dhcptbl.htm'

display = Display(visible=0, size=(800, 600))
display.start()

driver = webdriver.Firefox()
driver.get(urllogin)
assert "Roteador Wireless" in driver.title
UsernameTag = driver.find_element_by_id("username")
PasswordTag = driver.find_element_by_id("password")
try:
UsernameTag.send_keys("MYUSERNAME")
PasswordTag.send_keys("MYPASSWORD")
login_attempt = driver.find_element_by_xpath("//*[@type='submit']")
login_attempt.submit()
finally:
page = requests.get(urldhcp)
if page.status_code == 200:
file = open('/tmp/file', 'r+')
strip = os.system("grep -A 3 \<TR\> /tmp/file | sed 's/.*<b>//g; s/<\/b>.*//g; s/[\<TR>\-\-]//g; /^$/d' | paste -s -d, | sed 's/,/\t/g' | expand -t 50")
file.close()
print(strip)
driver.close()
display.stop()







=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
ID = LPI000359879
=====================================================================









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts