当前位置: 移动技术网 > IT编程>脚本编程>Python > Python3多线程版TCP端口扫描器

Python3多线程版TCP端口扫描器

2019年09月06日  | 移动技术网IT编程  | 我要评论

茶杯宠物网,林森浩枪毙现场,夕纪16岁

本文实例为大家分享了python3多线程版tcp端口扫描器的具体代码,供大家参考,具体内容如下

使用命令

python bannerdemo.py -h 192.168.200.101 -p 22,3306

代码如下

import optparse
import socket
from socket import *
from threading import *

screenlock = semaphore(value=1)

def connscan(tgthost,tgtport):
  try:
    connskt = socket(af_inet,sock_stream)
    connskt.connect((tgthost,tgtport))
    connskt.send('violentpython\r\n'.encode('utf-8'))
    result = connskt.recv(1024)
    screenlock.acquire()
    print("[+] %d/tcp open"%tgtport)
    print("[+]"+str(result))
  except exception as e:
    screenlock.acquire()
    print(e)
  finally:
    screenlock.release()
    connskt.close()


def portscan(tgthost,tgtports):
  try:
    tgtip = gethostbyname(tgthost)
  except:
    print("[-] cannot reslove '%s' : unknown host" % tgthost)
    return

  try:
    tgtname = gethostbyaddr(tgtip)
    print("\n [+] scan result for: " + tgtname[0])
  except:
    print("\n [+] scan result for: " + tgtip)

  setdefaulttimeout(1)
  for tgtport in tgtports:
    print("scanning port "+ tgtport)
    t = thread(target=connscan,args=(tgthost,int(tgtport)))
    t.start()

def main():
  parser = optparse.optionparser("usage%prog -h <target host> -p <target port>")
  parser.add_option('-h',dest='tgthost',type='string',help='specify target host')
  parser.add_option('-p',dest='tgtport',type='string',help='specify target port[s] separated by comma')
  options,args = parser.parse_args()
  tgthost = options.tgthost
  tgtports = str(options.tgtport).split(',')
  if(tgthost == none or tgtports[0] == none):
    print("[-] you must specify a target host and port[s]")
    exit(0)
  portscan(tgthost,tgtports)

if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网