seandeward/Port-Scanner

GitHub: seandeward/Port-Scanner

一个使用 Python 实现的自动化多主机端口扫描器,通过本地文件批量探测开放端口并解决手动检查效率低下的问题。

Stars: 0 | Forks: 0

# __Auto Multi-Port Scanner__ - 概述 一个自动化的多端口扫描器。在本地明文文件(hostnames.txt)中输入FQDN或主机名,它将检查这些主机名上的所有开放端口! # 如何构建和运行 此程序可以仅使用一个Python文件和一个名为 "hostnames.txt" 的外部明文文件来运行。不需要特殊的配置或库! 要运行它,你只需要向 hostnames.txt 添加主机名(每行一个),然后运行 multi_port_scanner.py。脚本将快速测试这些主机名在端口 1-10000 上的套接字连接。 ### 配置 要更改你想要扫描的主机,请编辑 "hostnames.txt" 文件。 默认情况下,脚本将扫描端口 1-10000。如果你希望扫描一个更小、更明确的端口列表,你可以编辑 "port_scanner.py" 顶部的 "ports" 变量。 # 详细脚本流程 __以下是流程:__ - 定义两个变量: - __hostnames_file_path__ - 所需的 hostnames.txt 文件的文件路径。 - __default_timeout__ - 测试端口的套接字连接的默认超时时间(我将其设置为 0.001 秒以加快速度,但你可以根据需要调整)。 - multi_port_scanner.py 打开本地文本文件(名为 hostnames.txt),并检查其中是否包含主机名。 - 定义了 __port_scan__ 函数(稍后会详细介绍)。 - 对于 hostnames.txt 中列出的每个主机名,脚本将尝试获取其 IP 地址。 - 如果成功,脚本将为该主机调用 __port_scan__ 函数。 - __port_scan__ 包含一个 for 循环,它会打开并关闭指定端口范围内的每个端口的套接字连接。 - 如果连接成功,将在终端打印一条消息,通知该端口是开放的。 - 在所有指定的主机和端口检查完毕后,脚本结束。 ### 如何加快或减慢速度 / 没有得到任何结果! 在第 9 行,你可以调整每个连接在超时前等待的时间。我将其设置为 0.001 秒,但你可以根据需要进行调整。 # 开发过程回顾 这个脚本的大功能是学习如何从外部文件导入列表并进行处理,这是该脚本实现的功能。另一个在此项目中学到的重要功能是使用套接字,设置起来非常容易! 遇到的唯一其他问题是脚本运行非常缓慢;每个端口测试在超时前大约需要一秒钟。我通过将 _setdefaulttimeout_ 改为 0.001 秒极大地加速了这一过程。 有了这些设置后,脚本的其余部分主要是设置变量和 for 循环。 # 未来的功能愿望清单 ### 检查文本文件中的注释 - 创建一个 if 语句来检查文本文件中某一行的 0 索引位置是否为 "#" 字符。如果是,则继续到下一行。 - 这将允许用户通过在行首添加 "#" 来添加注释。 ### 创建一个仅限 CLI 的分支 - 创建一个分支,让用户可以通过在命令行中输入来检查指定的主机,而不是... - 这个版本将使用 _sys_ 库中的 _argv_ 将命令行中的每个参数放入 __port_scan__ 函数。 ### 将其打造成一个完整的漏洞扫描器 - 这是我长期想要实现的项目结果——制作一个针对主机和漏洞数据库的漏洞扫描器。 - 为此,Nessus 扫描器 Web 应用程序可能会成为一个功能上的灵感来源。 # 免责声明 此脚本的构建目的是用于道德用途。此脚本并非为任何非法活动而创建。
标签:DNS枚举, DNS查询工具, FQDN解析, hostnames.txt, Linux工具, multi-port scanner, SEO:多主机扫描, SEO:端口扫描工具, SEO:网络扫描器, Socket编程, 主机名扫描, 云存储安全, 多主机端口扫描, 开放端口检测, 情报分析, 本地文件导入, 端口扫描器, 端口探测, 网络安全工具, 网络扫描, 网络诊断, 逆向工具