import telnetlib
class telnet_check: def __init__(self,host,port=23,timeout=10): self.host=host self.port=port self.timeout=timeout self.promote='\w+:' self.errmsg='' self.geterrmsg()
def connect(self): return telnetlib.Telnet(self.host,self.port,self.timeout)
def geterrmsg(self): f=self.connect() f.expect([self.promote],self.timeout) f.write('nullnull\r') f.expect([self.promote],self.timeout) f.write('nullnull\r') _,_,self.errmsg=f.expect([self.promote],self.timeout) self.errmsg=self.errmsg.strip()
def check(self,User,Passwd): t=self.connect() t.expect([self.promote],self.timeout) t.write(User+'\r') _,_,p=t.expect([self.promote],self.timeout) if p.strip() == self.errmsg: return False t.write(Passwd+'\r') _,_,loginmsg=t.expect([self.promote],self.timeout) loginmsg=loginmsg.strip() if self.errmsg != '' and self.errmsg != loginmsg: return True else: return False
if __name__=='__main__': tn=telnet_check('127.0.0.1') print tn.check('yihaibo','1') print tn.check('root','root') print tn.check('admin','admin')
|