demavros/port_scanner
GitHub: demavros/port_scanner
一个使用 Python 编写的端口扫描器,用于检测目标主机的开放端口并支持详细模式输出端口与服务名称对照表。
Stars: 2 | Forks: 0
# 端口扫描器
## 使用 Python 创建一个端口扫描器。
在 port_scanner.py 文件中,我创建了一个名为 get_open_ports 的函数,它接受一个 target 参数和一个 port_range 参数。target 可以是 URL 或 IP 地址。port_range 是一个包含两个数字的列表,表示要检查的端口范围的起始和结束数字。
以下是该函数调用方式的示例:
get_open_ports("209.216.230.240", [440, 445])
get_open_ports("www.stackoverflow.com", [79, 82])
该函数应返回指定范围内开放端口的列表。
get_open_ports 函数还应接受一个可选的第三个参数 True,以指示“详细(Verbose)”模式。如果设置为 true,该函数应返回一个描述性字符串,而不是端口列表。
以下是在详细模式下应返回的字符串格式({} 内的文本表示应显示的信息):
Open ports for {URL} ({IP address})
PORT SERVICE
{port} {service name}
{port} {service name}
你可以使用 common_ports.py 中的字典来获取每个端口正确的服务名称。
例如,如果按如下方式调用该函数:
port_scanner.get_open_ports("scanme.nmap.org", [20, 80], True)
它应返回以下内容:
Open ports for scanme.nmap.org (45.33.32.156)
PORT SERVICE
22 ssh
80 http
如果传递给 get_open_ports 函数的 URL 无效,该函数应返回字符串:"Error: Invalid hostname"。
如果传递给 get_open_ports 函数的 IP 地址无效,该函数应返回字符串:"Error: Invalid IP address"。
## 开发
在 port_scanner.py 中编写你的代码。在开发过程中,你可以使用 main.py 来测试你的代码。
## 测试
本项目的单元测试位于 test_module.py 中。为了方便起见,我们将 test_module.py 中的测试导入到了 main.py 中。每当你点击“run”按钮时,测试都会自动运行。
标签:Python, SOC Prime, 学习项目, 开发工具, 插件系统, 数据统计, 无后门, 端口扫描, 网络工具, 逆向工具