可匿名登录FTP服务器扫描文件列表python程序

最近在Freebuf上看到有个人扫描了全球的ip地址,扫描出近80万可匿名登录的FTP服务器,下载下来后用python写了一个扫描文件列表的程序,不过效率比较慢,只当学习一下,没准会找到比较有意思的东西呢。
代码如下:

import ftplib
import threading
import time
import socket
def anonyLogin(ftpUrl,FileDest):
    dirList = []
    hostnames = open(ftpUrl, 'r')
    OutPut = open(FileDest,'w+')
    socket.setdefaulttimeout(4)
    for line in hostnames:
        hostname = line.strip('\n').strip('\r')
        try:
            ftp = ftplib.FTP(hostname)
            ftp.login('anonymous')
            print 'Succeed:'+str(hostname)

        except Exception,e:continue
        try:
            dirList = ftp.nlst()
            ftp.quit()
        except Exception,e:
            dirList = []
            print str(e)
            continue
        if dirList != []:
            print str(dirList)
            OutPut.write(hostname + ':\n' + str(dirList) + '\n')

    OutPut.close()
    hostnames.close()
    return

th = threading.Thread(target=anonyLogin,args=('openftp2.txt','openftp_file2.txt'))
th.start()

刚考试扫描的时候经常会出现卡死的情况,所以加了个socket连接默认时长socket.setdefaulttimeout(4),默认4秒没反应就跳过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值