搜索

[求助]网络设备搜索是怎么实现的?

[复制链接]
1421|4
 楼主 | 2016-10-19 16:04 | 显示全部楼层 |阅读模式
我自己在用STM32+W5500做一些简易的TCP、UDP通信,现在有个疑问,如果我自己的开发板被别人设置了一个我不知道的IP地址,而且这个IP地址和我的电脑不在一个网段,我应该怎样才能找到自己板子的IP地址呢?我看网上有人说用UDP广播,电脑往广播地址发一些定义好的数据,板子收到广播的数据再回复一些数据,从而让电脑得到板子的IP地址,这里所说的广播地址是255.255.255.255这个地址吗?我在电脑上用UDP调试软件试着往255.255.255.255这个地址发数据,但是用wireshark根本抓不到包,这应该说明数据就没发出去,255.255.255.255这个地址到底应该怎么用?有没有大神科普一下常规的跨网段网络设备搜索是个什么样的思路?

相关帖子

 楼主 | 2016-10-19 17:46 | 显示全部楼层
我自己又摸索了一下,貌似255.255.255.255是受限广播地址,在操作系统下一般无法向这个地址发送广播,但是单片机之类直接操作网络底层的设备是可以向这个地址发送广播的。那现在简易的网络设备搜索思路可以改为由我的开发板定时向255.255.255.255广播自己的IP地址,我在PC机上可以收到这个广播。但是我还是想让开发板处于被动模式,不想让他自动广播,到底应该怎么做呢?我发现海康威视的网络摄像头,可以通过他的官方客户端来搜索跨网段的设备,而且似乎是客户端先发出了命令,摄像头回复,有人了解海康的这个搜索逻辑吗?

使用特权

评论回复
 楼主 | 2016-10-20 10:49 | 显示全部楼层
今天通过wireshark抓包搞清楚了海康威视的设备搜索方式,海康使用的是UDP组播方式,摄像头和客户端都有一个相同的组播地址239.255.255.250:37020,通过组播也可以实现跨网段通信

使用特权

评论回复
| 2016-10-26 22:44 | 显示全部楼层
撸主自问自答,苦苦一笑,偌大的地球,没人帮一下,心塞不?
实现的方式有多种,只要对网络协议有一定的了解。
1,基于UDP广播或组播方式,前提是有IP和端口监听中。
2,基于MAC广播通信,自定义帧类型,即使没有分配IP也可以通信。

使用特权

评论回复
 楼主 | 2016-10-27 17:53 | 显示全部楼层
江枫渔火 发表于 2016-10-26 22:44
撸主自问自答,苦苦一笑,偌大的地球,没人帮一下,心塞不?
实现的方式有多种,只要对网络协议有一定的了 ...

感谢回复,我准备用UDP广播和组播了

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表