python——ADSL拨号程序
这是一个简单的测试实例
说说应用场景吧,都是因为电信搞的奇葩网络结构。
宿舍有若干层,每一层楼的网络拓扑如上图所示,本来是没有问题的,一个楼层接近四十个用户,都拥有一个电信给的宽带拨号账号。但是问题是账号密码按照房间号对应集体公布,而且所有的密码都是一样的12345678(协商电信修改为随机密码未果),所以问题就来了,相互之间知道对方的账号密码。哪天有人一不小心输错了成别人的账号,如果对方不在线这个账号就被使用了。当对方要使用这个宽带账号的时候发现已经被占用,返回拨号错误691。可是无法知道是谁用了账号。
所以需要一种检测每个账号是否被占用的机制,方便选取空闲账号供临时使用。一两个可以手动使用宽带连接测试,可是各个楼层加起来有三位数的账号。
import os import time def connect(username): name="宽带连接" password="123456788" cmd_str="rasdial %s %s %s" %(name,username,password) res=os.system(cmd_str) if res==0: print "connect successful" else: print res time.sleep(5) def disconnect(): name="宽带连接" cmdstr="rasdial %s /disconnect" %name os.system(cmdstr) time.sleep(5) if __name__== "__main__": f=open("adsl_account.txt","r") i=0 for line in f: i=i+1 line=line.strip('\n') print "%s-----%s"%(i,line) connect(line) disconnect() f.close()
其实就是一个windows 内置的拨号连接命令rasdial的使用而已。
从账号列表adsl_account.txt读取宽带账号,然后通过rasdial命令自动执行拨号操作。