Exemple #1
0
def host_ftp(host):  #测试URL FTP是否开放
    try:
        if host == '':  #传入值等于空   返回
            print u"传入地址不能为空"
            time.sleep(1) #确保先运行Seeker中的方法
            #sql_sel()   #SQL查询
            return 0

        ftpB = FTP()  #初始化FTP类
        ftpB.connect(host,21)  #连接 服务器名  端口号
        ftpB.quit() #退出ftp服务器

        sql_up(host,"send")
        print u"连接成功添加url:",host
        sql="insert into ftp (url,time) VALUES ('%s','%s')"%(host,time.strftime('%Y.%m.%d-%H.%M.%S'))
        mysql.mysql_insert(sql) #添加到数据库
        mysql.mysql_S()  #保存数据
        open_mysql()   #SQL查询
        #SQL修改数据
#        if sql_up(host,"send"):
#            print host,u"服务器FTP21端口开放-修改成功",
#            print u"(∩_∩)"  #添加成功
#            open_mysql()   #SQL查询
#            return 1
#        else:
#            print host,u"服务器FTP21端口开放-修改失败",
#            print u"(╯▽╰)"  #添加失败
#            open_mysql()   #SQL查询
#            return 0
    except:
        print host,u"服务器FTP21端口可能没有开放",
        sql_up(host,"no21") #SQL修改数据
        open_mysql()   #SQL查询
        return 0
Exemple #2
0
def check_file_api(request):
    data = request.POST.getlist('data')
    info = '#'.join(data[-1].split('\r\n'))
    client = saltAPI()
    result = client.getMd5(info)
    mysql_insert(request.user.username, 'check_file', data[0], data[1], result)
    return render(request, 'message.html', {'content': result})
Exemple #3
0
def purge_api(request):
    data = request.POST.getlist('data')
    info = data[-1].split('\r\n')
    result = main(info)
    mysql_insert(request.user.username, 'purge_cache', data[0], data[1],
                 result)
    return render(request, 'message.html', {'content': result})
Exemple #4
0
def check_file_api(request):
    data = request.POST.getlist('data')
    info = '#'.join(data[-1].split('\r\n'))
    client = saltAPI()
    result = client.getMd5(info)
    mysql_insert(request.user.username,'check_file',data[0],data[1],result)
    return render(request,'message.html',{'content': result})
Exemple #5
0
            def run(self):
                MAX_RETRIES = 10
                retry = 0
                account = None  #None=NULL  数组
                while self.running and accounts:  #list数组

                    try:
                        self.ftp.connect(domain, port)  #连接 服务器名  端口号
                    except Exception, e:
                        if retry <= MAX_RETRIES:  #这是为了控制线程吗
                            retry = retry + 1  #没必要使用这个变量啊
                            continue  #跳过
                        else:
                            self.running = False  #这是  控制线程
                            break  #跳出

                    print ".",
                    #重新每三次    为什么一个账户要连接3次  呢
                    loop_num = 0
                    while loop_num < 3:
                        loop_num = loop_num + 1

                        if not account and accounts:  #list数组
                            account = accounts.pop()  #list数组  输出

                        #绝对不要尝试
                        if not account:  #数组无数据了就跳出
                            break  #跳出

                        #print u'IP:',host,u'用户名:',account[0],u'密码:',account[1]
                        #print ".",
                        print "&\r",
                        try:
                            self.ftp.login(account[0], account[1])  #连接FTP
                            #没有异常发生,这是一个正确的帐号
                            print u'\nFTP连接成功IP:', host, u"用户名:", account[
                                0], u"密码:", account[1]
                            mysql.mysql_open()  #连接数据库
                            sql = "insert into ftppassword(IP,user,password,time) values('%s','%s','%s','%s')" % (
                                host, account[0], account[1],
                                time.strftime('%Y.%m.%d-%H.%M.%S'))
                            mysql.mysql_insert(sql)  #添加到数据库
                            mysql.mysql_S()  #保存数据
                            os.system('python adminFTP.py %s %s %s' %
                                      (host, account[0], account[1]))
                            account = None  #None=NULL
                        except Exception, e:
                            emsg = str(e)  #调试信息
                            print "/\r",
                            if 'connection' in emsg.lower(
                            ) or 'tries' in emsg.lower(
                            ):  #判断 连接  失败错误信息    不明白何意
                                retry = retry + 1
                                break  #跳出
                            else:
                                #reset retry
                                account = None  #None=NULL
                                retry = 0
Exemple #6
0
            def run(self):
                MAX_RETRIES = 10
                retry = 0

                account = None  #None=NULL  数组
                while self.running and accounts:  #list数组
                    try:  #个不错我觉得不错  当连接失败     为什么后面还要进行  组合连接尝试呢
                        # 我觉得其实后面  就没必要在进行组合了    为什么这个不在进入类之前就开始判断呢  或者进入类的时候
                        self.ftp.connect(domain, port)  #连接 服务器名  端口号
                    except Exception, e:
                        if retry <= MAX_RETRIES:  #这是为了控制线程吗
                            retry = retry + 1  #没必要使用这个变量啊
                            continue  #跳过
                        else:
                            self.running = False  #这是  控制线程
                            break  #跳出

                    #重新每三次    为什么一个账户要连接3次  呢
                    loop_num = 0
                    while loop_num < 3:
                        loop_num = loop_num + 1

                        if not account and accounts:  #list数组
                            account = accounts.pop()  #list数组  输出

                        #绝对不要尝试
                        if not account:  #数组无数据了就跳出
                            break  #跳出

                        #print u'IP:',host,u'用户名:',account[0],u'密码:',account[1]
                        print ".",
                        try:
                            self.ftp.login(account[0], account[1])  #连接FTP
                            #没有异常发生,这是一个正确的帐号
                            print ""
                            print u'找到FTP成功:IP', host, u"用户名:", account[
                                0], u"密码:", account[1]
                            sql = "insert into ftp(IP,user,password,time) values('%s','%s','%s','%s')" % (
                                host, account[0], account[1],
                                time.strftime('%Y.%m.%d-%H.%M.%S'))
                            #print sql
                            mysql.mysql_insert(sql)  #添加到数据库
                            mysql.mysql_S()  #保存数据
                            account = None  #None=NULL
                        except Exception, e:
                            emsg = str(e)  #调试信息
                            if 'connection' in emsg.lower(
                            ) or 'tries' in emsg.lower(
                            ):  #判断 连接  失败错误信息    不明白何意
                                retry = retry + 1
                                break  #跳出
                            else:
                                #reset retry
                                account = None  #None=NULL
                                retry = 0
Exemple #7
0
def mysql_add(data1):  #添加到数据库
    try:
        #    print "++++++++++++++++++++",data   #添加数据
        sql = "select * from url where url='%s'" % (data1)
        data = mysql.mysql_select(sql)
        if data.find('null123456'):
            #print u"已经有了这个URL",data1
            return 0
        else:  #没有可以添加
            #print data1
            if ~(data1.find("/") and data1.find("http") and data1.find("?")
                 and data1.find("%")):
                #print u"非法URL"
                return 0
            else:
                LS.liet_add(data1)  #添加到数组
                if LS.liet_CX("AAAAA"):  #查询数据是否存在
                    print u"\n数组里以有这个域名不添加", data1
                    return 0
                else:
                    #print u"无"
                    insert = "insert into url(url,time) VALUES('%s','%s')" % (
                        data1, time.strftime('%Y.%m.%d-%H.%M.%S'))
                    #print insert
                    if mysql.mysql_insert(insert):  #添加数据
                        mysql.mysql_S()  #提交
                        print u"\n添加成功", data1
                    else:
                        print u"\n添加失败", data1
    except:
        return 0
Exemple #8
0
def mysql_add(data1):  #添加到数据库
    try:  #查看这个数据是否值得添加
        global INI_data3  #添加到数据库个
        dURL = get_sdomain(data1)  #拆解域名1234.163.com=》163.com
        #在模糊查询看看有多少个  》=10个  这个就不进行添加
        #print dURL
        sql = "select * from url where url like '%%%s'" % (dURL)
        #print sql
        if mysql_select2(sql):  #模糊查询
            #print dURL,u"域名下已经有10个二级域名了不进行添加",
            print "1",
            return 0
        else:
            #print "没有可以添加"
            sql = "select * from url where url='%s'" % (data1)
            data = mysql.mysql_select(sql)
            if data.find('null123456'):
                #print u"已经有了这个URL",data1,
                print "N",
                return 0
            else:  #没有可以添加
                #print data1
                if ~(data1.find("/") and data1.find("http") and data1.find("?")
                     and data1.find("%")):
                    print data1, u"非法URL",
                    return 0
                else:
                    insert = "insert into url(url,time) VALUES('%s','%s')" % (
                        data1, time.strftime('%Y.%m.%d-%H.%M.%S'))
                    #print insert
                    if mysql.mysql_insert(insert):  #添加数据
                        #mysql.mysql_S()   #提交
                        print "\n", data1, u"添加成功",
                        INI_data3 = INI_data3 + 1
                        #host_ftp(data)
                        #tContext = threading.Thread(target=host_ftp, args=(data1,))  #线程查询FTP是否开放
                        #tContext.start()  #线程查询FTP是否开放
                        return 1
                    else:
                        print "\n", data1, u"添加失败",
                        return 0
        return 0
    except:
        return 0
Exemple #9
0
def mysql_add(data1):  #添加到数据库
    try:  #查看这个数据是否值得添加
        dURL = get_sdomain(data1)  #拆解域名1234.163.com=》163.com
        #在模糊查询看看有多少个  》=10个  这个就不进行添加
        #print dURL
        sql = "select * from url where url like '%%%s'" % (dURL)
        #print sql
        if mysql_select2(sql):  #模糊查询
            print dURL, u"域名下已经有10个二级域名了不进行添加",
            return 0
        else:
            #print "没有可以添加"
            #    print "++++++++++++++++++++",data   #添加数据
            sql = "select * from url where url='%s'" % (data1)
            data = mysql.mysql_select(sql)
            if data.find('null123456'):
                print u"已经有了这个URL", data1,
                return 0
            else:  #没有可以添加
                #print data1
                if ~(data1.find("/") and data1.find("http") and data1.find("?")
                     and data1.find("%")):
                    print data1, u"非法URL",
                    return 0
                else:
                    insert = "insert into url(url,time) VALUES('%s','%s')" % (
                        data1, time.strftime('%Y.%m.%d-%H.%M.%S'))
                    #print insert
                    if mysql.mysql_insert(insert):  #添加数据
                        #mysql.mysql_S()   #提交
                        print data1, u"添加成功",
                        return 1
                    else:
                        print data1, u"添加失败",
                        return 0
        return 0
    except:
        return 0
Exemple #10
0
def mysql_add(data1):  #添加到数据库
    try:
        #    print "++++++++++++++++++++",data   #添加数据
        sql = "select * from url where url='%s'" % (data1)
        data = mysql.mysql_select(sql)
        if data.find('null123456'):
            print u"已经有了这个URL", data1
            return 0
        else:  #没有可以添加
            print data1
            if ~(data1.find("/") and data1.find("http") and data1.find("?")
                 and data1.find("%")):
                print u"非法URL"
                return 0
            else:
                insert = "insert into url(url) VALUES('%s')" % (data1)
                #print insert
                if mysql.mysql_insert(insert):  #添加数据
                    #mysql.mysql_S()   #提交
                    print u"添加成功", data1
                else:
                    print u"添加失败", data1
    except:
        return 0
Exemple #11
0
        xxx.close()
    except:
        return 0

def ip2num(ip):
    ip = [int(x) for x in ip.split('.')]
    return ip[0]<<24 | ip[1]<<16 | ip[2]<<8 | ip[3]

if __name__ == '__main__':
    #sqlite.sqlite_open()  #连接数据库
    mysql.mysql_open()  #连接数据库
    global  passlist  #声明全局变量
    passlist = []    #用户名:anonymous 密码为空

    open_txt()  #打开TXT文本写入数组

    E = 0 #得到list的第一个元素
    while E < len(passlist):
        start, IPend = [x for x in passlist[E].split('-')]
        sql = "INSERT INTO port21(ip1,ip2) values('%s','%s')"%(start,IPend)
        if mysql.mysql_insert(sql): #添加
            print "添加成功"
        else:
            print "添加失败"
        print passlist[E]
        E = E + 1

    mysql.mysql_S()  #保存数据
    mysql.mysql_close()  #关闭数据库
    #sqlite.sqlite_S()  #保存数据
    #sqlite.sqlite_close()  #关闭数据库
Exemple #12
0
                break

            try:
                str_receive = data.decode(encoding=encoding_name)
                print("客户端发送的内容:\r\n", str_receive)
            except:
                print("[error]", encoding_name, "解码失败\r\n")
                client.send("[error]faile to decode\r\n".encode(
                    encoding=encoding_name))  #发送消息给已链接客户端
            else:
                dict_json = myjson_fun(str_receive[1:len(str_receive) - 1])

                #成功解析json后
                if dict_json:
                    try:
                        print("插入数据库的信息为:", dict_json['opreation'],
                              dict_json['Note'])
                        if mysql.mysql_insert(dict_json):
                            client.send("[OK]\r\n".encode(
                                encoding=encoding_name))  #发送消息给已链接客户端
                        else:
                            client.send("[error]insert failed\r\n".encode(
                                encoding=encoding_name))  #发送消息给已链接客户端
                    except:
                        print("[error]数据类型不完整")
                else:
                    print("[error]json解析失败")

        client.close()  #关闭客户端链接
    serversocket.close()
Exemple #13
0
def purge_api(request):
    data = request.POST.getlist('data')
    info = data[-1].split('\r\n')
    result = main(info)
    mysql_insert(request.user.username,'purge_cache',data[0],data[1],result)
    return render(request,'message.html',{'content': result})