zoukankan      html  css  js  c++  java
  • python端口扫描

    简易版:

    #author:Blood_Zero
    #coding:utf-8
    
    import socket
    import sys
    
    PortList=[21,22,23,25,80,135]
    #
    
    host=sys.argv[1]
    
    for i in PortList:
        sock=socket.socket()
        sock.settimeout(2)
        try:
            sock.connect((host,i))
            print "the port %d is open" %i
        except Exception:
            print "the port %d is not open" %i
        sock.close()

    执行方法:python port_scan.py www.xx.com

    多线程端口扫描:

    #author:Blood_Zero
    #coding:utf-8
    
    import socket
    import multiprocessing
    import sys
    
    host=sys.argv[1]
    PortList=[21,22,23,25,80,135]
    
    #定义端口扫描函数
    def scan(port):
        port=(int(port))
        sock=socket.socket()
        sock.settimeout(1)
        print "the port %d is scanning" %port
        try:
            sock.connect((host,port))
            print "the server %s port %d is open" %(host,port)
        except Exception:
            print "the server %s port %d is not open" %(host,port)
        sock.close()
    
    # 主函数
    if __name__=="__main__":
        thread=multiprocessing.Pool(processes=100)
        for i in PortList:
            thread.apply_async(scan(i))    
        thread.close()

    执行方式 python port_scan.py www.xx.com

    后续还会出很多加强版!

  • 相关阅读:
    JavaScript的性能优化:加载和执行
    JS获取图片的原始尺寸
    深入理解js构造函数
    Revit二次开发 获取缩略图
    WPF listbox分页
    WPF ListBox 图片显示及分页
    Revit禁用RibbonPanel
    C# excel 单元格居中
    WPF TreeView
    WPF ListView绑定数据
  • 原文地址:https://www.cnblogs.com/BloodZero/p/4445691.html
Copyright © 2011-2022 走看看