【问题标题】:Request MAC address from Raspberry Pi从树莓派请求 MAC 地址
【发布时间】:2016-09-04 19:54:20
【问题描述】:

我有一台 Linux 机器,它通过以太网电缆直接连接到 Raspberry Pi。有没有办法在 C 中以编程方式获取 Raspberry Pi 的 MAC 地址,具体取决于它连接到我计算机上的哪个以太网端口(eth0、eth1 等...)

例如,假设我有两个 Raspberry Pi,一个连接到 eth0,另一个连接到 eth1。我想只获取连接到 eth0 的 Pi 的 MAC 地址。我该怎么做?

【问题讨论】:

    标签: c linux ethernet mac-address


    【解决方案1】:

    根据你是否知道 Pi 的 ip 地址,有两种情况:

    • Pi 有 IP 地址并且你的程序知道,你可以发送任何数据给它,例如一个ICMP PING包,网络栈会发出ARP地址请求,当Pi用它的MAC地址响应时,你可以从ARP表中得到它,可以通过命令arp -n查看。

    • 不知道 Pi 的 IP,然后你通过连接的接口发送一个广播包,eth0 在这种情况下,例如ping -b -I eth0 255.255.255.255,Pi 也会响应它的 MAC 地址,你可以从本地的arp表中获取。

    现在了解如何以编程方式执行此操作,您可以使用原始套接字发送数据包,并通过解析 proc 条目 /proc/net/arp 来读取 arp 表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-21
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      相关资源
      最近更新 更多