zoukankan      html  css  js  c++  java
  • python 批量扫描mongodb 未授权访问脚本

    需要 pymongo库
    easy_install pymongo
    脚本:

    import socket
    import sys
    import pymongo
     
    ipcons = []
    def Scanner(ip):
        global ipcons
        sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sk.settimeout(0.3) 
        try:
            sk.connect((ip,27017))
            ipcons.append(ip)
            sk.close()
        except Exception:
            pass
     
    def ip2num(ip):
        ip=[int(x) for x in ip.split('.')]
        return ip[0] <<24 | ip[1]<<16 | ip[2]<<8 |ip[3]
         
    def num2ip(num):
        return '%s.%s.%s.%s' %( (num & 0xff000000) >>24,
                                    (num & 0x00ff0000) >>16,
                                    (num & 0x0000ff00) >>8,
                                    num & 0x000000ff )
         
    def get_ip(ip):
        start,end = [ip2num(x) for x in ip.split(' ') ]
        return [ num2ip(num) for num in range(start,end+1) if num & 0xff ]
         
    startIp = sys.argv[1]
    endIp = sys.argv[2]
    iplist = get_ip(sys.argv[1]+" "+sys.argv[2])
    for i in iplist:
        Scanner(i)
     
    def connMon(ip_addr):
        print ' Connect mongodb: ' + ip_addr + ':27017'
        try:
            conn = pymongo.MongoClient(ip_addr,27017,socketTimeoutMS=3000)
            dbname = conn.database_names()
            print "success"
        except Exception as e:
            print "error"
     
    print ipcons    
    for ipaddr in ipcons:
        connMon(ipaddr)
        print "================="
    

      

  • 相关阅读:
    JDK中的主要包
    package

    参数传值机制
    静态初始化块
    static 关键字
    this关键字
    开发中容易造成内存泄露的操作
    通用的分代垃圾回收机制
    JVM调优和Full GC
  • 原文地址:https://www.cnblogs.com/depycode/p/5190096.html
Copyright © 2011-2022 走看看