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访问纯真IP数据库的代码
May 19 Python
python实现忽略大小写对字符串列表排序的方法
Sep 25 Python
Python利用Beautiful Soup模块搜索内容详解
Mar 29 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 Python
Python创建字典的八种方式
Feb 27 Python
python time.sleep()是睡眠线程还是进程
Jul 09 Python
python实现桌面托盘气泡提示
Jul 29 Python
Pytorch转tflite方式
May 25 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 Python
Python3爬虫关于识别检验滑动验证码的实例
Jul 30 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 Python
基于Python的EasyGUI学习实践
May 07 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
PHP的类 功能齐全的发送邮件类
2006/10/09 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
php实现的农历算法实例
2015/08/11 PHP
PHP图片加水印实现方法
2016/05/06 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
2019/09/01 Javascript
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python单例模式实例详解
2017/03/01 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
python 获取字符串MD5值方法
2018/05/29 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
Python爬取某平台短视频的方法
2021/02/08 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
暑假实习求职信范文
2013/09/22 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书