Python3多线程版TCP端口扫描器

作者:刺青LOVELESS 时间:2021-07-13 21:25:45 

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

来源:https://blog.csdn.net/ciqingloveless/article/details/84994330

标签:python3,TCP,端口扫描器
0
投稿

猜你喜欢

  • Go打包二进制文件的实现

    2024-05-08 10:15:19
  • Django上线部署之IIS的配置方法

    2023-02-18 05:17:52
  • 解决MySQL8.0安装第一次登陆修改密码时出现的问题

    2024-01-21 16:19:49
  • js cookies 常见网页木马挂马代码 24小时只加载一次

    2024-06-21 05:15:17
  • 微信跳一跳php代码实现

    2024-06-05 09:46:20
  • SQL Server 常用函数使用方法小结

    2024-01-13 11:39:32
  • Python面向对象编程(一)

    2023-04-27 15:02:13
  • python计算无向图节点度的实例代码

    2022-05-24 22:42:49
  • mysql执行计划介绍

    2024-01-29 10:32:36
  • python绘制玫瑰的实现代码

    2021-04-25 09:42:52
  • 一文带你掌握Go语言中的文件读取操作

    2024-05-21 10:24:57
  • mdf文件和ldf文件导入到sql server 2005实现语句

    2024-01-21 14:38:07
  • Golang初始化MySQL数据库方法浅析

    2024-01-16 23:49:20
  • MySQL与PHP的基础与应用专题之自连接

    2023-11-14 08:52:37
  • 教你用python3根据关键词爬取百度百科的内容

    2023-12-28 16:30:24
  • Python实现批量转换文件编码的方法

    2023-06-02 20:03:49
  • 举例区分Python中的浅复制与深复制

    2022-08-20 02:34:57
  • Python聊天室带界面实现的示例代码(tkinter,Mysql,Treading,socket)

    2024-01-23 21:46:07
  • Js nodeType 属性全面解析

    2024-04-16 09:53:30
  • 眼未动,心已动【碳酸饮料会】

    2009-09-01 19:32:00
  • asp之家 网络编程 m.aspxhome.com