Construyendo nuestro propio escáner de dispositivos conectados a Internet. Parte 7

Buenas a todos, en el post de hoy de nuestra cadena Construyendo nuestro propio escáner de dispositivos conectados a Internet, os traemos un pequeño cambio en la función main del software, con el objetivo de añadir dos aspectos que no habíamos tenido en cuenta. Por un lado, que en el rango de direcciones IP a escanear el usuario pueda analizar únicamente una dirección IP (¡gracias Dani por comentarnos este aspecto!), y por otro lado, recolocar la posición del incrementador de IPs, para que no se deje sin escanear la última IP del rango indicado.

Os copiamos a continuación el código a sustituir:

def main(_ip1,_ip2):
    ''' Main function, launch the main activities '''
    ''' You can download GeoIP databases from here: https://dev.maxmind.com/geoip/legacy/geolite '''
    _ip3 = _ip1
    _ip3_prev = ""
    while (_ip3_prev <> _ip2):
        print _ip3
        try:
            _id = hosts(_ip3)
            if _id:
                geo('GeoIP/GeoLiteCity.dat', _ip3, _id)
                ports(_ip3, _id)
        except:
            print 'Error on: %s' % _ip3
        _ip3_prev = _ip3
        _ip3 = ip_add(_ip3)

Saludos!