跳转到主要内容

TCP端口监控和发现

项目描述

https://img.shields.io/pypi/v/portend.svg https://img.shields.io/pypi/pyversions/portend.svg tests Ruff Code style: Black https://readthedocs.org/projects/portend/badge/?version=latest https://img.shields.io/badge/skeleton-2023-informational

por·tend pôrˈtend/ 动词

作为(某事,尤其是重大或灾难性事件)可能发生的迹象或警告。

用法

使用portend来监控TCP端口的绑定或未绑定状态。

例如,等待端口被占用,3秒后超时

portend.occupied('www.google.com', 80, timeout=3)

或等待端口空闲,5秒后超时

portend.free('::1', 80, timeout=5)

portend也可以直接执行。如果函数成功,它将不返回任何内容并退出状态为0。如果失败,它将打印一条消息并退出状态为1。例如

python -m portend localhost:31923 free
(exits immediately)

python -m portend -t 1 localhost:31923 occupied
(one second passes)
Port 31923 not bound on localhost.

Portend还公开了find_available_local_port,用于识别本地绑定的合适端口

port = portend.find_available_local_port()
print(port, "is available for binding")

Portend还通过Checker类公开了更底层的端口检查功能,该类目前仅公开了一个公共方法,assert_free

portend.Checker().assert_free('localhost', 31923)

如果assert_free传递了一个被绑定监听器(即TCP连接已建立到该主机/端口)占用的主机/端口组合,则assert_free将引发一个PortNotFree异常。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

portend-3.2.0.tar.gz (10.5 kB 查看哈希值)

上传时间

构建分布

portend-3.2.0-py3-none-any.whl (5.3 kB 查看哈希值)

上传时间 Python 3

支持者