python ping模块用法_Python pythonping包_程序模块 - PyPI - Python中文网

pythonping

python ping是python中ping的简单方法。使用它,您可以像从终端发送icmp探测一样将icmp探测发送到远程设备。pythonping是模块化的,因此您可以将它作为一个独立的函数在脚本中运行,或者将其组件集成到一个成熟的应用程序中。

基本用法

pythonping最简单的用法是在脚本中。可以使用ping函数ping目标。如果希望立即看到输出,模拟终端上发生的情况,请使用下面的verbose标志。frompythonpingimportpingping('127.0.0.1',verbose=True)

这将导致以下结果。Reply from 127.0.0.1, 9 bytes in 0.17ms

Reply from 127.0.0.1, 9 bytes in 0.14ms

Reply from 127.0.0.1, 9 bytes in 0.12ms

Reply from 127.0.0.1, 9 bytes in 0.12ms

不管详细模式如何,ping函数都将返回一个ResponseList对象。这是一个特殊的iterable对象,包含Response项的列表。在每个响应中,您都可以找到接收到的数据包和一些元信息,比如接收响应所花的时间和任何错误消息。

您还可以使用ping的一些附加参数来调整ping:size是一个整数,允许您指定所需icmp负载的大小

timeout是在假定目标无法到达之前,您希望等待响应的秒数

payload允许您使用特定的负载(字节)

count指定允许您定义要发送的ICMP数据包的数量

sweep_start和sweep_end允许您执行ping扫描,从sweep_start中定义的负载大小开始,一直到sweep_end中定义的大小。在这里,我们重复您提供的负载以匹配所需的大小,或者如果没有提供负载,我们生成一个随机负载。注意,如果定义了size,这两个字段将被忽略

df是一个标志,如果设置为true,将启用IP头中的不分段标志

verbose启用详细模式,将输出打印到流(请参见out)

out是详细模式的目标流。如果启用详细模式,但不提供out,详细输出将发送到sys.stdout流。例如,您可能想在这里使用一个文件。

高级用法

如果希望扩展python ping或将其集成到应用程序中,我们建议使用python ping的一部分类,而不是ping函数。

executor.Communicator处理与目标设备的通信,它负责发送icmp请求和处理响应。它最终生成executor.ResponseList对象。Communicator需要知道目标和要发送到远程设备的有效负载。为此,我们在payload_provider模块中有几个类。您可能希望通过扩展payload_provider.PayloadProvider创建自己的提供者。如果您对此感兴趣,应该检查executor和payload_provider模块的文档。

欢迎加入QQ群-->: 979659372

推荐PyPI第三方库