Underc0de - La Casa de los Informáticos

Programación Scripting => Python => Mensaje iniciado por: porni en Enero 07, 2018, 10:33:44 PM

Título: Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: porni en Enero 07, 2018, 10:33:44 PM
Buenas tardes , ayer me estaba funcionando muy lento internet así que decidí ver que dispositivos estaban conectados. Tenía el Netmap descargado pero no lo encontraba , asi que armé mi propio script en python :)

PLOT TWIST: no había ningún intruso conectado a mi Wi-Fi, es lento porque es mas malo que la realidad xd




Código Completo:
import os,subprocess

def main():
miDireccion = raw_input("ip privada>> ")

for p in range(0,256):
ip = '192.168.1.'+str(p)

saver = open('temp.txt','w')
subprocess.call(['ping','-n','1',ip],stdout=saver)
saver.close()

leerSaver = open('temp.txt','r')
linea = leerSaver.readlines()

estado = linea[2]

wrong = "Reply from "+ miDireccion +": Destination host unreachable.\n"

if estado == wrong:
pass
else:
data = "[+] El host " + ip + " se encuentra activo.\n"
dataSaver = open('hostActivos.txt','a')
dataSaver.write(data)
dataSaver.close()

print data

main()


CODIGO EXPLICADO:

1)Importamos librerias:

import os,subprocess

os nos va a servir para enviar un ping a una dirección de ip
subprocess nos sirve para ejecutar un comando en la consola, y atrapar su respuesta para poder analizarla


2)Ahora tenemos que guardar la ip privada de nuestro equipo, para que se pueda evaluar la respuesta que produce el ping (en la consola de comandos(cmd) la encontramos con el comando ipconfig)
miDireccion = raw_input("direccion: ")

3) Con un bucle for vamos a recorrer desde la direccion 192.168.1.0 a la 192.168.1.256

for p in range(0,256):
    ip = '192.168.1.'+str(p)


4) Miren esta porción de código

saver = open('temp.txt','w')
subprocess.call(['ping','-n','1',ip],stdout=saver)
saver.close()

leerSaver = open('temp.txt','r')
linea = leerSaver.readlines()
estado = linea[2]


Acá abrimos un archivo para guardar la respuesta del ping que le vamos a hacer a la direccion de ip con subprocess.call. Luego vamos a leer el archivo, pero la linea que nos interesa es la numero 2, porque la vamos a comparar con la respuesta que dan los host activos y los inactivos

4) Veamos que "wrong" es la respuesta que recibimos cuando un host esta inactivo, entonces la comparamos con "estado", y si está activo el host, nos lo muestra en pantalla y lo guarda en un archivo de texto (nos puede servir para controlar cuantos dispositivos están conectados en distintos momentos del dia, etc)


wrong = "Reply from "+ miDireccion +": Destination host unreachable.\n"

if estado == wrong:
pass
else:
    data = "[+] El host " + ip + " se encuentra activo.\n"
    dataSaver = open('hostActivos.txt','a')
    dataSaver.write(data)
    dataSaver.close()
    print data




Esta es una imagen con los resultados del scaneo:
(http://oi64.tinypic.com/21afxw8.jpg)
Título: Re:Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: ANTRAX en Enero 07, 2018, 10:42:14 PM
Genial bro! Tendrás screenshots con los resultados?

Saludos,
ANTRAX
Título: Re:Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: porni en Enero 29, 2018, 07:44:04 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Genial bro! Tendrás screenshots con los resultados?

Saludos,
ANTRAX

Amigo estaba de viaje sin la pc, ahora subo unos screenshot ;) !
Título: Re:Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: iGreentick en Enero 30, 2018, 04:13:13 PM
Yo hace un tiempo me hice un mini-script parecido.
Recuerdo que le añadi alguna opción más, como buscar las macs con un tracert, buscar si alguno tiene mac doblada, (así, aparte de scannear los activos, puedes detectar alguna incidencia) etc..
Tambien, creo recordar que tambien le implementé un pequeño trocito de código que llamase a un ataque arpspoof unidireccional para romperle la gateway y dejar a un dispositivo sin acceso a internet...

¡Algunas ideas por si se te queda pequeño el script! Saludos. Porcierto, buen trabajo! ^^
Título: Re:Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: magodiesan en Marzo 18, 2018, 01:22:42 AM
En la cuarta parte de la explicación del código, en la segunda línea aparece un método del objeto subproccess que se llama .call(), veo que tiene dos parámetros, un array y creo que una variable llamda stdout. No entiendo muy bien ambos parámetros, tampoco entiendo que es lo que contiene el array. Yo cada vez que hago un ping lo hago de la siguiente manera, lógicamente dependiendo de :

Código (bash) [Seleccionar]
ping laip

y listo.

Título: Re:Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: porni en Abril 02, 2018, 10:54:29 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
En la cuarta parte de la explicación del código, en la segunda línea aparece un método del objeto subproccess que se llama .call(), veo que tiene dos parámetros, un array y creo que una variable llamda stdout. No entiendo muy bien ambos parámetros, tampoco entiendo que es lo que contiene el array. Yo cada vez que hago un ping lo hago de la siguiente manera, lógicamente dependiendo de :

Código (bash) [Seleccionar]
ping laip

y listo.

Buenas, el primer parametro de .call() indica los comandos que le paso a la consola, y en el segundo parametro (luego del stdout) indico la variable a la cual le asigno la respuesta de la consola. Saludos
Título: Re:Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: kmogu en Agosto 18, 2018, 08:47:46 AM
Esta muy bien el script pero debes tener en cuenta que no todos los equipos responden a ping.

la mejor forma de revisar la actividad de tu red es comprobar las asignaciones de IP a traves del DHCP de tu router.

luego ademas tienes opciones extra de seguridad como activar el mac filter, desactivar el emparejado por WPS, colocar horarios.... y un sin fin de cosas mas.
(lo de colocar horarios dependera del firmware de tu router pero hoy en dia casi todos tienen esta opcion.)
Título: Re:Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: Byakko en Agosto 31, 2018, 04:15:19 PM
jaja muy buena tu idea de hacerlo con python.

gracias por la explicacion de que es cada parte del codigo. como para que nosotros lo podamos comprender.
Título: Re:Como ver quien está usando nuestro Wi-Fi (con python)
Publicado por: hielasangre en Agosto 31, 2018, 10:56:25 PM
Porque no mejor?


sudo nast -m -i eth0 (si estamos conectados por cable directos al router)
sudo nast -m -i wlan0 (si nos conectamos por WI-FI a la red)