简单的Python端口扫描工具制作

简介: 简单的Python端口扫描工具制作

基于python3制作,脚本如下:


# This script runs on Python 3import 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()


测试:


640.gif

脚本如果直接发送xx.py文件给别人使用,可能还需要安装解释器,以及用的第三方包,不能直接使用,这里小编给打包成exe格式的,分享即可用。


首先安装pyinstaller,使用安装命令:pip install pyinstaller,这个不多说了。


我们来将这个.py的文件打包成一个exe,我们直接cmd切换到这个脚本的目录,执行命令:pyinstaller-F scan port.py,如下图所示。

640.gif

ps: -F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,这个记住就行,固定命令。

2、执行完毕之后,会生成几个文件夹,如下图所示。


640.png

3、在dist里面呢,就有了一个exe程序,这个就是可执行的exe程序,如下图所示。

640.png


4、我们来运行一下这个,效果图如下图所示。

640.gif

相关文章
|
3天前
|
安全 网络协议 关系型数据库
黑客红客,都用过这个工具扫端口!
黑客红客,都用过这个工具扫端口!
|
21天前
|
网络协议 Linux Shell
Linux下常用的端口转发工具
【7月更文挑战第27天】Linux下常用的端口转发工具
44 14
|
12天前
|
机器学习/深度学习 XML 搜索推荐
图像自动化保存工具:Python脚本开发指南
图像自动化保存工具:Python脚本开发指南
|
17天前
|
存储 安全 数据安全/隐私保护
打造安全防线!Python AES&RSA加密工具,黑客绕道走的秘籍
【8月更文挑战第3天】数字化时代下,信息安全至关重要。本文介绍如何用Python结合AES与RSA构建加密工具。AES因其高效加密大量数据的能力而被选中;RSA作为非对称加密算法,在密钥管理和数字签名上表现出色。先安装`pycryptodome`库,接着实现AES加密解密功能,并利用RSA加密AES密钥以安全传递。这套方案不仅速度快,还能有效保障数据安全,为开发者提供坚实的信息防护屏障。
27 5
|
5天前
|
API 数据库 开发者
Python连接Neo4j工具比较 Neo4j Driver、py2neo
Python连接Neo4j工具比较 Neo4j Driver、py2neo
5 0
|
6天前
|
存储 Linux 网络安全
常用的 Python 工具:使用 virtualenv、使用 Pip 进行安装和管理包
常用的 Python 工具:使用 virtualenv、使用 Pip 进行安装和管理包
9 0
|
6天前
|
运维 监控 大数据
深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控
在信息洪流的浪潮中,网络自动化如同一盏明灯,引领着我们穿越复杂网络管理的迷雾。它不仅简化了网络运维人员的工作,更是在大数据、云计算等技术飞速发展的背景下,成为了构建高效、稳定网络环境的关键。本文将深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控,以此展现网络自动化在简化复杂网络管理中的重要作用。
18 0
|
1月前
|
SQL API Python
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
|
1月前
|
网络协议 安全 Shell
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。