让你的应用程序像 SQL SERVER INSTANCES C# 一样可识别 DHCP

让你的应用程序像 SQL SERVER INSTANCES C# 一样可识别 DHCP

众所周知,您可以轻松识别网络中运行 SQL SERVER INSTANCE 的系统,但我是否可以强制 DHCP 识别我的应用程序?

例子: 我有许多客户端和一个服务器。但在安全网络中,外线流量和端口监听器被阻止。所以我尝试使用反向模型。

我成功地通过查询 DHCP 获取了有关所有租用 IP 的信息,但我希望我的客户端可以查询 DHCP,了解我的服务器在哪里,并且我希望无需访问 DHCP 服务器即可实现这一点。

场景#1: 服务器运行于:192.168.3.245 DHCP:192.168.3.1 当我的客户端应用程序在某些机器上运行时,它会向 DHCP 查询有关服务器的信息,DHCP 应该告诉他您的服务器正在运行@192.168.3.245

解释

  1. 服务器已启动,开始初始化

  2. 从 DHCP 服务器请求 IP [广播一个数据包,称为DHCP 发现数据包]服务器回复并分配 IP

  3. DHCP 提供包 [确定配置]
  4. DHCP 请求...并继续最终获得 IP

我想要的是将一些供应商特定信息发送到 DHCP 服务器,以便它可以存储它的字段 43。并且当我的字段 43 意识到[客户端中存在的解析逻辑]客户端将打开时,它将通过填充字段 60 发送一个数据包,以便 DHCP 服务器将该供应商特定信息返回给我的客户端,即存储在字段 43 中的供应商特定信息。我可以在那里存储 N 个字节,这意味着我可以存储我的服务器 IP 地址,这对客户端很有用。

我希望现在清楚了。如果你感兴趣,请阅读

RFC 2131 标准轨迹 1997 年 3 月

答案1

是的,这很简单,它被称为 DNS - 基本上每次任何机器(无论是客户端还是服务器)由 DHCP 服务器分配 IP 地址时,DHCP 服务器都会为该设备注册一个 DNS 条目。所有设备都查看同一个 DNS 服务器,因此可以根据需要请求任何已注册设备的 IP 地址。这是一个几乎随处可见的强大系统。显然,您没有提到您的操作系统,但这适用于您拥有的任何操作系统。

答案2

我认为您无法通过 DHCP 执行此操作,除非对 DHCP 服务器进行更改。DHCP 协议有选项 43 - 供应商特定信息,它允许您对服务器的地址进行编码。

相关内容