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,端口扫描器
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用 XSLT 解释 XML 文件
2009-03-08 19:06:00
![](https://img.aspxhome.com/file/UploadPic/20093/8/20090227121352857-28s.gif)
轻松解决AJAX的中文乱码问题
2008-09-03 12:55:00
MySQL聚焦Web 2.0可扩展性
2012-01-05 19:02:19
使用pyinstaller逆向.pyc文件
2021-09-10 01:34:23
![](https://img.aspxhome.com/file/2023/3/111983_0s.jpg)
Python常用标准库详解(pickle序列化和JSON序列化)
2022-04-08 12:50:56
详解Python中的Descriptor描述符类
2021-10-16 10:10:35
对Django中内置的User模型实例详解
2022-10-31 05:03:10
利用Python如何生成hash值示例详解
2022-02-28 23:29:25
Python OpenCV实现姿态识别的详细代码
2023-05-27 23:42:31
![](https://img.aspxhome.com/file/2023/9/78719_0s.jpg)
如何在ASP里面创建GUID
2008-01-08 19:13:00
MySQL中SQL的单字节注入与宽字节注入
2009-03-25 14:49:00
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2021-03-20 02:55:59
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2021-01-15 12:48:34
Python绘制动态的521玫瑰花
2021-05-05 09:31:03
![](https://img.aspxhome.com/file/2023/2/108162_0s.png)
利用Python读取微信朋友圈的多种方法总结
2023-02-12 20:47:20
![](https://img.aspxhome.com/file/2023/0/115440_0s.png)
如何利用python给图片添加半透明水印
2022-08-16 09:34:28
![](https://img.aspxhome.com/file/2023/3/105193_0s.png)
python区块链简易版交易完善挖矿奖励示例
2023-02-26 20:02:11
![](https://img.aspxhome.com/file/2023/4/114474_0s.png)
关于Python3的import问题(pycharm可以运行命令行import错误)
2022-11-11 11:34:11
![](https://img.aspxhome.com/file/2023/0/115690_0s.png)
对numpy数据写入文件的方法讲解
2022-01-24 21:09:31
Python用zip函数同时遍历多个迭代器示例详解
2023-09-28 06:09:41