【问题标题】:Retrieving Client Information from server end Using C# .Net Framework使用 C# .Net Framework 从服务器端检索客户端信息
【发布时间】:2020-05-08 06:17:25
【问题描述】:

我想在发送端检索客户端 PC 信息。当客户端以简单的套接字编程在客户端发送请求/消息时,可以说,我希望该客户端检索客户端 PC 的信息,例如客户端正在使用哪个窗口,客户端 PC 的名称是什么等。

我已经使用

检索到客户端 IP 地址
connectionSocekt.RemoteEndPoint.ToString();

我已经搜索了整个互联网和 YouTube 但我找不到任何地方如何检索客户端 PC 的其他信息。请帮我解决这个问题。

【问题讨论】:

  • 所以“不,你不能仅仅通过打开一个套接字来获得关于主机的很多信息”。这是好事。但是,有许多不同的协议允许您获取有关网络上其他主机的信息,包括WMI、SNMP 和JMX。问:这能回答你的问题吗?
  • 我遇到了解决方案,但我不知道该怎么做。我想要的是服务器可以获取所有远程主机信息,如 MAC 地址、硬盘大小、使用的 Windows 等。我知道在获取远程主机的 IP 地址后,您可以检索调用 DOS 的所有信息或控制台应用程序中的 shell 脚本,并通过它们的一些命令打印所有信息。但问题是我不知道该怎么做。
  • 不,不,不。无论您过去使用什么 DOS 命令,您肯定都希望在 21 世纪的 C# 程序中使用 WMI(或等效命令);)这里还有更多选项可供您使用:gallery.technet.microsoft.com/scriptcenter/…
  • 谢谢。这个链接非常有用。但如果可能的话,我需要的是 C# 和 CMD commands。如果可能的话,我还没有研究过任何脚本语言或 power shell 等。非常感谢您到目前为止的帮助!

标签: c# .net sockets client-server


【解决方案1】:

有很多方法可以获取本地网络上远程主机的信息。

您将不一定从一些任意的“套接字”程序中获取它:基本的 TCP/IP 连接根本没有这些信息。

但是,对 Web 服务器的客户端请求可能包含您正在寻找的一些内容。查看HTTP headers,尤其是User-Agent 标头。

由于您使用的是 Windows,因此您还应该查看 WMI:https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2014-05-12
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    相关资源
    最近更新 更多