python中ping的一种简单方法

pythonping的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_startsweep_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创建自己的提供者。如果您对此感兴趣,应该检查executorpayload_provider模块的文档。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用java向dropup html/css添加项目   如何从java中的向量向量打印   Java Maven库项目模板   java使用atmosphere api还是直接使用grizzly?   java JComponent仅部分显示   如何将动态值传递给自定义注释,以从Java数据进行映射。性质   java破解已实现方法的返回类型的最佳方法?   java Netbeans在JFrame Gui布局中覆盖图像   spring java仅向登录用户显示注销按钮   java如何对com进行身份验证。谷歌。云bigquery。带有服务帐户的BigQuery`   java禁止空字符串参数和抛出RuntimeException以阻止方法继续的利弊   java分析项目中的所有JAR以获取版本和许可证信息   Java,数据库为什么要分配一个新对象,而我们可以直接将它放入数据库