首页 文章

如何扫描网络以查找特定外设

提问于
浏览
1

我正在为基于Arduino芯片和以太网连接的家庭自动化创建一些小型电子模块 . 如果可能的话,我会尽量让他们用DHCP获取IP地址,但我也想构建一个C#应用程序来配置这些模块,我希望我的软件扫描网络以自动检测我的模块,如例如,HP打印机驱动程序可以自动检测网络上的打印机 .

我想到了:

  • 获取计算机的IP和掩码以确定IP集

  • 然后多线程ping或HTTP请求到集合的每个IP

  • 检查响应并获取mac地址

  • 查看mac地址是否与我的设置匹配

  • 执行特定的http请求以检索模块的"model",并知道如何与他交互

这个算法是合理的还是有人知道更有效的方法?就像广播地址上的广播请求一样,看看会有什么回复?任何样品或想法?

2 回答

  • 0

    完全合情合理 . 直接进行低级访问以将arp请求输出并获取arp-table有点棘手,但网站上有几个问题 . 请注意,设备无需应答ping即可在网络上运行 . 查看您使用的芯片上的文档 .

  • 0

    假设您只想在同一网段上发现,我实际上建议使用广播消息(UDP) . 当然,您必须在设备上开发侧面以响应该广播并听取这些响应 . 收到回复后,您可以使用首选方法开始与设备直接通信 .

相关问题