Este blog ya no está activo, sigue informándote aquí:

Mostrando entradas con la etiqueta BarridoPing. Mostrar todas las entradas
Mostrando entradas con la etiqueta BarridoPing. Mostrar todas las entradas

domingo, 20 de mayo de 2018

Hobbytruco.- Ping List Batch Script

Muchas veces si hacéis un escaneo por IPs es posible que no obtengáis el hostname de la máquina que vayáis a escanear. Esto pasa por diferentes factores sobretodo por no realizar un escaneo autenticado, pero si aun no tenéis la suficiente confianza en que vuestra infrastructura funcione, siempre os quedará este plan B. 

Si escaneais por ip, de manera no autenticada y el equipo de infraestructuras se os ha puesto muy pesado con que quiere relacionar los hostnames con las ips, pedidles todos los nombres de host que tengas y lanzad el siguiente script.  

Esto lo único que ara leer hostname por hostname de un txt llamado Hostlist.txt, hacer ping a cada máquina y escribir un csv con la ip el nombre de host y el día de este barrido de ping. Muy chulo el CSV por si se ha de presentar a algún jefe. 


Más información:
Sed Buenos ;) 

miércoles, 23 de abril de 2014

BPyng.- Barrido Ping en Python. Se Aceptan Criticas

Lo que seguís el blog de Mi Hora De Código sabréis que estoy programando un J.A.R.V.I.S y quería implementarle un Barrido de ping. Así que esta tarde me he puesto a ello y ya que la gente de [TheHackerWay] ya habían hecho algo así. Aunque he hecho mis pruebas con Popen y con PIPE y no me han convencido al igual que con el ping -c 3 a mi me gusta mas ver todo el reporte, es una opinión. 


No lo tenia nada claro hasta que no me he creado una prueba de concepto para ver que metía python en un txt cuando lo hacia hacer el ping y meter el resultado en una variable. 


Como veis el ping lo hace genial dentro del rango que le indique. En este caso le he puesto dos para que el 127.0.0.0 diera error y pudiera ver la diferencia. La salida de un ping con perdidas del 100% tiene una salida de 1 mientras que uno sin perdidas tiene una salida de 0. Al ver esto me he alegrado por que ya tenia todo lo que necesitaba para hacer un barrido en condiciones.

Así ha quedado el codigo: 

import subprocess

#esto hace que el resutado se guarde en un txt
def pingOK():
print "OK"
barridoPing = str(direccion + " OK ")
LbarridoPing = open('LbarridoPing.txt', 'a+')
LbarridoPing.write(barridoPing)
LbarridoPing.close()
print "ping guardado con exito"
def pingFail():  
print "Fail"
barridoPing = str(direccion + " Fail ")
LbarridoPing = open('LbarridoPing.txt', 'a+')
LbarridoPing.write(barridoPing)
LbarridoPing.close()
print "ping guardado con exito"
def pingMiss():
print "Miss"
barridoPing = str(direccion + " Miss ")
LbarridoPing = open('LbarridoPing.txt', 'a+')
LbarridoPing.write(barridoPing)
LbarridoPing.close()
print "ping guardado con exito"

print """

BPyng <-- esto esta en ASCII ART

"""
#menu
print "[a = Hacer ping con mi propio input]  [b= Hacer un barrido ping]"
d1 = raw_input("")
if d1 == "a":
direccion =  raw_input("Escribe la direccion de la pagina: ")
busqueda = subprocess.call(['ping', direccion])
if busqueda == 0:
print pingOK()
elif busqueda == 1:
print pingFail()  
else:
print pingMiss()
 
elif d1 == "b":  
for ping in range (0,10): 
direccion = "127.0.0." + str(ping)
busqueda = subprocess.call(['ping', direccion])
if busqueda == 0:
print pingOK()
elif busqueda == 1:
print pingFail()  
else:
print pingMiss()

Seguro que a muchos os parece una tontería pero a mi me ha encantado meterme con esto. Para todo el que los que queráis probar este mini script lo podéis bajar desde mi repositorio en GitHub.
Sed Buenos ;)  Acepto críticas.