一些FTP服务器提供匿名登录的功能,因为这有助于网站访问软件更新,这种情况下,用户输入用户名“anonymous”并提交一个电子邮箱替代密码即可登录。
下面的代码主要是使用ftplib模块的FTP()、login()和quit()方法实现:
#!/usr/bin/python #coding=utf-8 import ftplib def anonLogin(hostname): try: ftp = ftplib.FTP(hostname) ftp.login('anonymous','[email protected]') print '\n[*] ' + str(hostname) + ' FTP Anonymous Logon Succeeded.' ftp.quit() return True except Exception, e: print '\n[-] ' + str(h1) + ' FTP Anonymous Logon Failed.' return False hostname = '10.10.10.128' anonLogin(hostname)
【修改后的代码】来自:https://blog.csdn.net/SKI_12
稍微修改了一下,实现命令行输入交互:
#!/usr/bin/python #coding=utf-8 import ftplib def anonLogin(hostname): try: ftp=ftplib.FTP(hostname) ftp.login('anonymous','what') print '\n[*] ' + str(hostname) + ' FTP Anonymous Logon Succeeded.' ftp.quit() return True except Exception,e: print '\n[-] ' + str(hostname) + ' FTP Anonymous Logon Failed.' def main(): while True: hostname = raw_input("Please enter the hostname: ") anonLogin(hostname) print if __name__ == '__main__': main()
调用方式:anonfind.py