中国网络渗透测试联盟

标题: python2.7版多线程端口扫描 [打印本页]

作者: admin    时间: 2018-10-20 20:35
标题: python2.7版多线程端口扫描
  1. #coding:utf-8
  2. #coding:gbk
  3. #!/usr/bin/python
  4. # Python:          2.7
  5. # Platform:        Windows
  6. # Program:         端口扫描
  7. # History:         2017.1.22

  8. import socket, time, thread
  9. timeout=6
  10. socket.setdefaulttimeout(timeout)

  11. def socket_port(ip,port):
  12.    """
  13.    输入IP和端口号,扫描判断端口是否开放
  14.    """
  15.    try:
  16.        if port>=65535:
  17.            print '端口扫描结束'
  18.        s=socket.socket()
  19.        result=s.connect_ex((ip,port))
  20.        if result==0:
  21.            lock.acquire()
  22.            print  ip,':',port,'端口开放'
  23.            lock.release()
  24.        s.close()
  25.    except:
  26.        print '端口扫描异常'

  27. def ip_scan(ip):
  28.    """
  29.    输入IP,扫描IP的0-65534端口情况
  30.    """
  31.    try:
  32.        print '开始扫描 %s' % ip
  33.        start_time=time.time()
  34.        for i in range(0,65534):
  35.            thread.start_new_thread(socket_port,(ip,int(i)))
  36.        print '扫描端口完成,总共用时 :%.2f' %(time.time()-start_time)
  37.        raw_input("Press Enter to Exit")
  38.    except:
  39.        print '扫描ip出错'
  40.       

  41. if __name__=='__main__':
  42.    url=raw_input('请输入要扫描的ip:\n')
  43.    lock=thread.allocate_lock()
  44.    ip_scan(url)
复制代码





欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2