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('
')
    print "%s-----%s"%(i,line)
    connect(line)
    disconnect()
  f.close()

其实就是一个windows 内置的拨号连接命令rasdial的使用而已。

从账号列表adsl_account.txt读取宽带账号,然后通过rasdial命令自动执行拨号操作。

原文地址:https://www.cnblogs.com/otherside/p/4789679.html