利用Wireshark获取车载多波束激光雷达(HEISAI:AT128P)的IP地址与物理地址,从而实现雷达与上位机的通信
说明:首先我们来了解以下以太网中的一些基本概念,如果想快速连接雷达可以直接跳到最后一步的具体步骤
目录
- 1. IP 地址与 MAC 地址的区别
- 2. 为什么有 MAC 地址还需要 IP 地址
- 3. 如何判断两个设备是否在同一个局域网中
- 4. 子网掩码为 255.255.255.0 的情况
- 5. 子网掩码为 255.255.0.0 的情况
- 6. IP 地址、MAC 地址与端口号如何配合
- 7. “同一个 IP 子网”和“同一个物理局域网”
- 8. 核心结论
- 9. 以下是使用Wireshark获取AT128的IP和MAC地址的具体方法
1. IP 地址与 MAC 地址的区别
IP 地址和 MAC 地址都可以用于标识网络设备,但它们的作用范围和用途不同。
| 对比项 | IP 地址 | MAC 地址 |
|---|---|---|
| 所属网络层 | 网络层 | 数据链路层 |
| 主要作用 | 标识设备在网络中的逻辑位置,用于跨网络寻址和路由 | 在当前局域网中标识网卡,用于交付以太网帧 |
| 地址特点 | 具有网络层级结构 | 扁平地址,本身不包含网络位置信息 |
| 作用范围 | 可以跨路由器、跨网络使用 | 主要用于当前局域网或广播域 |
| 是否变化 | 接入不同网络时通常会变化 | 通常与网卡关联,但也可以被修改或伪造 |
| 标识对象 | 网络接口的逻辑网络位置 | 网卡或网络接口 |
可以简单理解为:
- IP 地址表示数据最终要发送到哪里。
- MAC 地址表示数据在当前局域网内下一步要交给哪个网卡。
- 端口号表示数据到达设备后应该交给哪个应用程序。
2. 为什么有 MAC 地址还需要 IP 地址
MAC 地址确实可以在同一个局域网内确定目标网卡,但它不能直接表示设备位于哪个网络。
例如,IP 地址通常带有明确的网络层级:
192.168.1.201 192.168.2.100结合子网掩码,可以判断这两个地址是否属于同一个 IP 子网。路由器也可以根据目标 IP 地址中的网络部分决定数据应该从哪个接口转发。
相比之下,下面两个 MAC 地址之间没有可以用于路由的层级关系:
00:11:22:33:44:55 A0:B1:C2:D3:E4:F5因此,MAC 地址适合局域网内部的数据交付,IP 地址适合在不同网络之间进行寻址和路由。
3. 如何判断两个设备是否在同一个局域网中
更准确地说,应使用IP 地址和子网掩码共同判断两个设备是否位于同一个 IP 子网,不能在所有情况下都只比较 IP 地址的前三段。
判断方法是:
- 分别将两个设备的 IP 地址与各自的子网掩码进行按位与运算。
- 得到两个设备的网络地址。
- 如果网络地址相同,则两个设备被配置在同一个 IP 子网中;如果不同,则属于不同 IP 子网。
即:
网络地址 = IP 地址 AND 子网掩码4. 子网掩码为 255.255.255.0 的情况
子网掩码:
255.255.255.0也可以写作:
/24在这种情况下,IP 地址的前三段是网络部分,最后一段是主机部分。因此,可以简单地通过比较 IP 地址的前三段来判断是否属于同一个 IP 子网。
示例:属于同一个子网
激光雷达 IP:192.168.1.201 电脑 IP: 192.168.1.100 子网掩码: 255.255.255.0两个设备的网络地址均为:
192.168.1.0因此,它们属于同一个 IP 子网。在雷达与电脑直连或接入同一台普通交换机的情况下,通常可以直接通信,不需要通过路由器转发。
示例:属于不同子网
激光雷达 IP:192.168.1.201 电脑 IP: 192.168.2.100 子网掩码: 255.255.255.0它们的网络地址分别为:
激光雷达:192.168.1.0 电脑: 192.168.2.0由于网络地址不同,因此它们不属于同一个 IP 子网,通常需要通过路由器进行通信。
5. 子网掩码为 255.255.0.0 的情况
子网掩码:
255.255.0.0也可以写作:
/16此时,IP 地址的前两段是网络部分。因此,下面两个地址仍属于同一个子网:
192.168.1.201 192.168.2.100它们的网络地址均为:
192.168.0.0这说明“IP 地址前三段相同才属于同一个局域网”只适用于/24,即子网掩码为255.255.255.0的情况。
6. IP 地址、MAC 地址与端口号如何配合
假设激光雷达向电脑发送 UDP 点云数据:
激光雷达 IP 地址: 192.168.1.201 MAC 地址: 00:11:22:33:44:55 电脑 IP 地址: 192.168.1.100 MAC 地址: A0:B1:C2:D3:E4:F5 UDP 端口: 2368通信过程可以概括为:
- 雷达根据目标 IP 地址和子网掩码判断电脑是否在同一子网。
- 如果在同一子网,雷达通过 ARP 查询目标 IP 对应的 MAC 地址。
- 雷达将 UDP/IP 数据包封装到以太网帧中,并填写电脑的目标 MAC 地址。
- 交换机或直连网卡根据 MAC 地址将数据帧交给电脑。
- 电脑根据 UDP 目标端口,将数据交给监听该端口的点云程序。
因此:
IP 地址 → 确定目标设备的逻辑网络位置 MAC 地址 → 完成当前局域网内的网卡交付 端口号 → 确定接收数据的应用程序7. “同一个 IP 子网”和“同一个物理局域网”
严格来说,二者并不完全相同:
- 同一个 IP 子网由 IP 地址和子网掩码决定。
- 同一个物理或二层局域网还可能受到交换机 VLAN、端口隔离、防火墙等配置影响。
因此,即使两个设备配置成同一个 IP 子网,如果它们实际被划分到不同 VLAN,仍然可能无法直接通信。
不过,在激光雷达与电脑直连,或者二者连接到同一台未配置 VLAN 隔离的普通交换机时,可以近似理解为:
当两个设备的网络地址相同,它们通常就在同一个局域网中,可以直接通信。
8. 核心结论
当子网掩码为
255.255.255.0时,如果两个设备 IP 地址的前三段相同,就可以认为它们处于同一个 IP 子网中。
但更通用、准确的判断方式是:
分别使用 IP 地址与子网掩码计算网络地址;网络地址相同,表示两个设备属于同一个 IP 子网。
9. 以下是使用Wireshark获取AT128的IP和MAC地址的具体方法
首先我们下载常用的抓包工具APPWireShark:下载链接点此处
这里选择与自己电脑匹配的版本下载,根据安装指引安装即可。
下载安装完成后,我们先通过网线将雷达与电脑连接,打开WIRESHARK,看到如下界面,双击刚刚连接的以太网2
然后我们能够看到雷达的IP源地址与目标地址,MAC地址与目标地址,以及目标端口
接着我们打开电脑的控制面板->网络和Internet->网络和共享中心,点击更改适配器
选择和雷达连接的以太网2
点击属性
选择Microsoft 网络客户端,点击配置
选择高级->网络地址(MAC)->填写值(前面在WireShark中MAC地址)
完成这一步后,接着我们回到以太网2属性界面,选择Internet 协议版本4(TCP/IPv4),双击进入
填写在WireShark中抓到的IP地址
到这一步,PC端的配置完成了,接着我们打开HESAI官网提供的点云播放软件PANDARBIEW下载地址点此处
选择标记的⚡图标(实时播放),填写IP地址以及端口号(同样在WireShark中获取到的)后,点击OK即可播放实时点云