在.NET中检测远程DHCP服务器

时间:2009-07-03 10:44:26

标签: .net windows dhcp

使用Hyper-V我构建了一个私有Windows域,它与我们的主网络隔离。最终,我想为其他人配置此域以用于开发和测试,因此他们可以是域管理员。

域控制器正在运行dhcp服务(我域中的其他系统依赖于dhcp)。问题是,如果一些白痴(即我)意外地将域控制器连接到主网络,它将响应dhcp请求(这是一个假设)并分发无效的ip配置。

所以,我想编写一个.NET窗口服务,只有在没有其他dhcp服务器可用时才会启动本地dhcp服务。理想情况下,这将能够定期检查后台,因此如果您在机器运行时更​​改虚拟网络配置,dhcp可以自动停止并且潜在的损坏是有限的。

我对如何检测远程dhcp服务器感到有些困惑。到目前为止,我已经考虑为dhcploc命令行工具编写一个包装器,但是有一个更好/更简单的替代方案可以实现目标吗?我应该注意哪些警告?

由于

2 个答案:

答案 0 :(得分:1)

正如Shay Erlichmen所建议的那样,我在服务器故障here上发布了这个问题。事实证明,您可以指定DHCP服务器仅为已知MAC分配IP地址。鉴于我的VM(可以)都具有已知的MAC,我可以使用它来锁定专用域DHCP服务器。

答案 1 :(得分:0)

有人写了C# network sniffer你可以适应你的目的,但这看起来过于复杂。框架中没有内置的DHCP支持,因此没有简单的方法可以调用。我认为,出于您的目的,您可能最好只是坚持使用命令行工具包装,就像您说的那样。