有一种情况是,应用程序通知网络上的设备从网络路由器的DHCP服务器获取其IP地址。如果DHCP服务器不可用,则该设备的行为变得不稳定。有没有一种方法可以通过程序检测网络路由器是否支持DHCP?或者,这是设备在尝试从DHCP服务器获取其IP地址时需要做的事情吗?有没有一种方法可以通过程序检测网络路由器是否支持使用C/C++的DHCP?
0
A
回答
5
设备上的DHCP客户端正是这样做的。好吧,差不多。
DHCP DISCOVERY消息在链路上广播。然后,如果有任何DHCP服务器愿意为该特定MAC地址提供服务,则每个DHCP服务器都会从其池中预留一个IP地址,并使用OFFER消息来回答。客户端然后选择要“绑定”到哪个服务器并发出REQUEST消息。服务器通过ACK消息确认授予的IP地址租约。
客户端通过简单地超时等待优惠发现DHCP服务器的“不可用性”。
看看DHCPing项目。可能会给你一些想法。
链接到DHCP的RFC:
RFC 2131, Dynamic Host Configuration Protocol
RFC 2132, DHCP Options and BOOTP Vendor Extensions
0
我沿着this Windows DHCP C API线的东西。
相关问题
- 1. 有没有一种方法可以通过网络访问R?
- 2. 有没有可靠的方法来检测用户是否不使用网络应用程序?
- 3. 有没有我可以测试移动浏览器是否支持使用网络技术的Flash?
- 4. 有没有一种方法可以在没有Java支持的Matlab上通过TCPIP进行通信
- 5. 有一种方法可以测量java中的延迟网络
- 6. 是否有一种方法检测通过保持按钮选择开关?
- 7. Django中有没有一种方法可以使用Flask风格的路由语法来定义路由?
- 8. 有没有办法检测用户的浏览器是否支持@ font-face?
- 9. 有没有办法检测一个网站是否使用SPDY?
- 10. 有没有一种方法可以在tcl的'=='测试中使用通配符?
- 11. 没有路由器的WiFi网络
- 12. 有没有一种方法可以使用书签排序gmail?
- 13. 有没有办法测试浏览器是否支持flash/silverlight?
- 14. 一种方法来检查浏览器是否支持otf
- 15. 检测路由器是否支持多播
- 16. 有没有一种方法可以检查文件是否已经打开?
- 17. 有没有一种方法可以在直播网站上使用drawWindow()方法?
- 18. 有没有一种简单的方法来检查对象是否可以在python中使用JSON序列化?
- 19. JavaScript可以检测用户的浏览器是否支持gzip?
- 20. 是否可以检测蜂窝网络是否可用?
- 21. 有没有一种方法可以通过id获取ace编辑器?
- 22. 有没有一种方法可以支持scalap grpc并在scala中运行应用程序
- 23. 有没有一种方法,使支持可选的链接运营商在WebStorm
- 24. Blackberry浏览器是否支持离线网络应用程序?
- 25. 有没有某种方式可以在node.js中支持'text/plain'?
- 26. 有没有一种方法使用角度ui路由器不显示#!/ login?
- 27. 是否可以通过ad hoc无线网络测试iPhone Web应用程序?
- 28. ejabberd:有没有一种方法可以确定用户是否是管理员?
- 29. 有没有一种方法可以一次使用Sequelize
- 30. 如果用户可能是机器人,是否有一种方法可以检测到隐形的回纹?
这看起来像一堆挂钩到他们的动态DNS实施。 – 2009-10-24 01:38:51