简单的Python端口扫描工具制作
2023-06-13 09:11:24 时间
基于python3制作,脚本如下:
# This script runs on Python 3
import socket, threading
def TCP_connect(ip, port_number, delay, output):
TCPsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
TCPsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
TCPsock.settimeout(delay)
try:
TCPsock.connect((ip, port_number))
output[port_number] = 'Listening'
except:
output[port_number] = ''
def scan_ports(host_ip, delay):
threads = [] # To run TCP_connect concurrently
output = {} # For printing purposes
# Spawning threads to scan ports
for i in range(10000):
t = threading.Thread(target=TCP_connect, args=(host_ip, i, delay, output))
threads.append(t)
# Starting threads
for i in range(10000):
threads[i].start()
# Locking the script until all threads complete
for i in range(10000):
threads[i].join()
# Printing listening ports from small to large
for i in range(10000):
if output[i] == 'Listening':
print(str(i) + ': ' + output[i])
def main():
host_ip = input("Enter host IP: ")
delay = int(input("How many seconds the socket is going to wait until timeout: "))
scan_ports(host_ip, delay)
input("Press Any Key")
if __name__ == "__main__":
main()
测试:
脚本如果直接发送xx.py文件给别人使用,可能还需要安装解释器,以及用的第三方包,不能直接使用,这里小编给打包成exe格式的,分享即可用。
首先安装pyinstaller,使用安装命令:pip install pyinstaller,这个不多说了。
我们来将这个.py的文件打包成一个exe,我们直接cmd切换到这个脚本的目录,执行命令:pyinstaller-F scan port.py,如下图所示。
ps: -F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,这个记住就行,固定命令。
2、执行完毕之后,会生成几个文件夹,如下图所示。
3、在dist里面呢,就有了一个exe程序,这个就是可执行的exe程序,如下图所示。
4、我们来运行一下这个,效果图如下图所示。
——END——
相关文章
- python setattr函数_Python内置函数(53)——setattr
- python全局变量赋值_Python全局变量和局部变量[通俗易懂]
- python物联网工具
- python代码自检工具 flake8简单介绍
- python做微信回复机器人_Python自动化脚本
- 使用 Docker 封装 Python 小工具生成 GitBook PDF
- python中的cookielib的使用方法
- 10 行 Python 代码,使用 OTP 实现对文件的加密解密
- python工具之word转pdf
- Python操作文件的基本流程
- python实现SSE服务器单向消息推送
- python-异常处理和错误调试-异步IO程序的调试方法(二)
- Python父类方法重写(入门必读)
- Ubuntu18.04 一键升级Python所有第三方包 及安装python包的方法
- Python_day03-字符串常用操作方法详解编程语言
- python学习Linux、Python,体验自由的乐趣(lexlinux)
- python爬虫对爬虫代理的使用
- 在Linux上运行Python脚本的简单指南(linux运行python)
- MySQL与Python的协同运行:一种全新的开发体验(mysql与python)
- Python中lambda的用法及其与def的区别解析