Ping 而不调用系统命令

Pinging without calling system commands

我需要一种方法 ping 远程机器 而无需调用系统命令 。并且 如果可能,没有管理员或 root 访问权限。可以在任何平台上运行的东西

我快速查看了 python3 -m pip install pyping,但将其导入 returns 我以下内容:

ModuleNotFoundError: No module named 'core'

它还需要 root/admin 访问权限,我想避免。

我应该如何进行?

这是因为该模块是为 python 2 引入的,但是如果您想将它与 python3 一起使用,您可以操作它或使用 2to3 模块,这个问题是在

中询问

ICMP Ping 是一种使用原始套接字的 "special" 网络。我自己不是很理解,但是 TLDR 是没有权限升级似乎很难做到。

如果您确实知道目标计算机上的给定 TCP 端口将打开,您可以尝试与该端口建立 TCP 连接。例如,如果您可以通过 SSH 连接到这些机器,则标准 SSH 端口 (22) 通常是打开的。您不需要实际通信 - 只需建立到该端口的 TCP 连接然后丢弃它。参见 TcpCommunication