Python3多线程版TCP端口扫描器


Posted in Python onAugust 31, 2019

本文实例为大家分享了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python连接数据库学习之DB-API详解
Feb 07 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 Python
Python+matplotlib实现填充螺旋实例
Jan 15 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
python实现AES和RSA加解密的方法
Mar 28 Python
Python实现多态、协议和鸭子类型的代码详解
May 05 Python
numpy中的meshgrid函数的使用
Jul 31 Python
Pygame的程序开始示例代码
May 07 Python
Python3爬虫中pyspider的安装步骤
Jul 29 Python
python全栈开发语法总结
Nov 22 Python
简单了解python协程的相关知识
Aug 31 #Python
利用rest framework搭建Django API过程解析
Aug 31 #Python
Python进度条的制作代码实例
Aug 31 #Python
python类的实例化问题解决
Aug 31 #Python
python检测服务器端口代码实例
Aug 31 #Python
python实现多线程端口扫描
Aug 31 #Python
python实现复制大量文件功能
Aug 31 #Python
You might like
无限级别菜单的实现
2006/10/09 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
2017/05/20 jQuery
微信小程序对接七牛云存储的方法
2017/07/30 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
简述Python中的进程、线程、协程
2016/03/18 Python
Python之re操作方法(详解)
2017/06/14 Python
Python实现自动发送邮件功能
2021/03/02 Python
详解Python用户登录接口的方法
2019/04/17 Python
python print出共轭复数的方法详解
2019/06/25 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
python定时任务 sched模块用法实例
2019/11/04 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
艺术用品:Arteza
2018/11/25 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
Java文件和目录(IO)操作
2014/08/26 面试题
英文版网络工程师求职信
2013/10/28 职场文书
护理个人求职信范文
2014/01/08 职场文书
装饰活动策划方案
2014/02/11 职场文书
节水倡议书范文
2014/04/15 职场文书
高中生毕业评语
2014/12/30 职场文书
向女朋友道歉的话
2015/01/20 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers