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程序
Apr 04 Python
python实现redis三种cas事务操作
Dec 19 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
使用matplotlib画散点图的方法
May 25 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
python中使用while循环的实例
Aug 05 Python
PYTHON EVAL的用法及注意事项解析
Sep 06 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 Python
Django利用AJAX技术实现博文实时搜索
May 06 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
十天学会php之第四天
2006/10/09 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP eval函数使用介绍
2013/12/08 PHP
YII中assets的使用示例
2014/07/31 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
2018/01/03 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
Python处理文本换行符实例代码
2018/02/03 Python
python实现词法分析器
2019/01/31 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
2019/12/18 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
雪山饭庄的创业计划书范文
2014/01/18 职场文书
新学期家长寄语
2014/01/19 职场文书
继承公证书样本
2014/04/04 职场文书
节能环保标语
2014/06/12 职场文书
机械机修工岗位职责
2014/08/03 职场文书
国际贸易实训报告
2014/11/05 职场文书
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL