gpt4 book ai didi

使用命令提示符和 C 检查网络上的计算机状态

转载 作者:行者123 更新时间:2023-11-30 15:30:41 26 4
gpt4 key购买 nike

我正在制作一个小项目,其中我需要不断检查网络上计算机的状态,它们是否在网络上处于事件状态还是在特定时间关闭,我想使用 C 语言来执行此操作(没有第三个派对工具)。我对此完全陌生,在网上搜索发现我可以 ping 目的地来检查它是否还活着,所以我的问题是

1) 我可以从 ping 获取任何返回值,以便我可以根据目标计算机的返回值在主机端触发一个值吗?

2) ping 是执行此操作的好方法吗?

如果大家还有其他推荐,请分享。

最佳答案

简短回答

1) 没有。

2)可能不会。

更长的答案

听起来您想要的是某种“Heartbeat”协议(protocol)(最近因 OpenSSL bug“Heartbleed”而臭名昭著)。 http://en.wikipedia.org/wiki/Heartbeat_%28computing%29

心跳协议(protocol)本质上是一种为您提供有关远程计算机的一些“状态”的协议(protocol)。这实际上告诉您有关计算机的信息取决于协议(protocol)的实现方式。如果您自己编写它,那么它返回的内容完全取决于您。

ping CLI 函数是 ICMP Echo Request 数据包的简单包装器。它会告诉您计算机是否能够回复ICMP Echo Reply数据包,这就是它能告诉您的全部内容。 (请参阅此处了解有关 ICMP http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol 的 mout)

ping 无法为您提供更多描述性返回值,因此它可能不是您想要使用的。

如果您想从远程节点获取一些实际数据,您可能需要实现一个非常小的程序来监听远程节点上的某个端口。该程序可以实现您的心跳协议(protocol),并返回给您任何您想要的值。

例如,您可以创建一个小程序,用于监听 TCP 端口 5555 上的传入连接,如果收到连接,它会发回某个文件的内容系统,或当前时间,或任何与此相关的内容。

但要小心,运行监听计算机端口的程序本质上是一件危险的事情,如果您不小心,您将使远程系统遭受恶意攻击.

关于使用命令提示符和 C 检查网络上的计算机状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25478125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com