#Sencillo script para cambiar las ip's de los modem 2Wire #Escrito por Ivan Juarez Nunez. www.redmater.com 2009 import urllib import getopt import sys def ayuda(): print "Uso: 2wreset [OPCION] [PASSWORD]\n \n-h, --help:\tMuestra esta ayuda.\n-p, --password:\tEstablece el password para el acceso a modem\n-s, --show:\tMuestra los modelos soportados." def showModems(): print "\n2Wire 1070 Home Portal\n2Wire 2071 Gateway\n2Wire 2701HG-T Gateway\n2Wire 2700HG Gateway" def resetModem(passwd): f = urllib.urlopen('http://home/xslt?PAGE=A02_POST&THISPAGE=&NEXTPAGE=J21_ISP_RESET&CMSKICK=&PAGE=J21_ISP_RESET'+passwd) content = f.read() if (content.find('Ingresar contrase')!=-1): print "\nOcurrio un error trantando de cambiar la IP. \nSi tu modem esta protegido por contrasena, usa parametro -p.\n" print "Algunos modems que ya han sido probados son:" showModems() else: print "\nReset de IP en progreso..." print("\nVisita www.redmater.com para mas informacion") password = "" try: opts,args = getopt.getopt(sys.argv[1:], "hsp:", ["help","show","password="]) except getopt.GetoptError, err: print str(err) ayuda() sys.exit() for o, a in opts: if o in ("-h","--help"): ayuda() sys.exit() elif o in ("-s","--show"): showModems() sys.exit() elif o in ("-p","--password"): password = a else: assert False, "Opcion invalida" if (password!=''): password = '&PASSWORD='+password resetModem(password)