Beispiel #1
0
def computing_ports(ports):
    rs_list = []
    if isinstance(ports,list):
        return ports
    if ports in default_ports.keys():
        rs_list = default_ports.get(ports)
    else:
        ports = str(ports)
        ports_lev1 = ports.split(",")
        for p in ports_lev1:
            if "-" in p:
                port_lev2 = [int(x) for x in p.split("-")]
                rs_list = rs_list + range(port_lev2[0], port_lev2[1] + 1)
            else:
                rs_list.append(p)
    rs_list = sorted(rs_list)
    rs_list = [str(x) for x in rs_list]
    return rs_list
Beispiel #2
0
import threading
from ProbeTool import HttpWeb
from common.utils import query_service_and_banner, get_socket_banner, CommonUtils
from constants import default_ports
from pool.thread_pool import ThreadPool
mu = threading.Lock()
ports = default_ports.get("web_ports")
with open("hosts.txt", "rb+") as file:
    ipscope = file.read()

domains = CommonUtils.package_ipscope(ipscope, handle_ip=False, retType="list")


def scanner(ip, port):
    ref_service, ref_banner = query_service_and_banner(port, "tcp")
    web_banner, web_service, ostype, assettype, domain, position, proext = HttpWeb.detect(
        ip, port)
    banner = web_banner if web_banner else get_socket_banner(
        domain, port, ref_banner)
    if mu.acquire(True):
        if proext:
            msg = "{proext}://{domain}:{port}      {banner}\n".format(
                proext=proext, domain=ip, port=port, banner=banner)
            f = open("result.txt", "ab+")
            f.write(msg)
            f.close()
        mu.release()


f = open("result.txt", "wb+")
f.truncate()
Beispiel #3
0
        help=
        "Specify Port scan range,eg: 80,443,8080 or web_ports or top_100 or top_1000"
    )
    optparser.add_option("-f",
                         "--file",
                         dest="file",
                         type="string",
                         default="",
                         help="asset's file")
    try:
        (options, args) = optparser.parse_args()
    except Exception, err:
        sys.exit(0)

    if len(sys.argv) < 2:
        optparser.print_help()
        sys.exit(0)

    ipscope = options.ipscope
    portscope = options.portscope
    assetfile = options.file
    if assetfile:
        with open(assetfile, "rb+") as file:
            ipscope = file.read()
    portscope = default_ports.get(portscope, portscope)
    test = Plugin()
    test.cmd_run(ipscope=ipscope, ports=portscope)


if __name__ == "__main__":
    cmdLineParser()