获取openwrt mac地址
在openwrt控制台输入 ifconfig,可以获取当前设备网络信息,mac地址也在其中,我们可以通过shell命令取出来。
br-lan Link encap:Ethernet HWaddr 52:CE:C3:A0:88:D7
inet addr:192.168.250.10 Bcast:192.168.250.255 Mask:255.255.255.0
inet6 addr: fdc7:de6f:69f5::1/60 Scope:Global
inet6 addr: fe80::50ce:c3ff:fea0:88d7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:842424 errors:0 dropped:0 overruns:0 frame:0
TX packets:649856 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:84476314 (80.5 MiB) TX bytes:319068513 (304.2 MiB)
eth0 Link encap:Ethernet HWaddr E2:0A:EA:0B:58:89
inet6 addr: fe80::e00a:eaff:fe0b:5889/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:849411 errors:0 dropped:4 overruns:0 frame:0
TX packets:715450 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:100066291 (95.4 MiB) TX bytes:333498099 (318.0 MiB)
Interrupt:5
eth0.1 Link encap:Ethernet HWaddr 52:CE:C3:A0:88:D7
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:842513 errors:0 dropped:89 overruns:0 frame:0
TX packets:687136 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:84480408 (80.5 MiB) TX bytes:321081969 (306.2 MiB)
eth0.2 Link encap:Ethernet HWaddr 52:CE:C3:A0:88:D8
inet6 addr: fe80::50ce:c3ff:fea0:88d8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:28297 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:9551819 (9.1 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:84361 errors:0 dropped:0 overruns:0 frame:0
TX packets:84361 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:7513025 (7.1 MiB) TX bytes:7513025 (7.1 MiB)
tap0 Link encap:Ethernet HWaddr 7E:EF:B0:FD:50:3E
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:32473 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:3250540 (3.0 MiB)
wlan0 Link encap:Ethernet HWaddr 30:4A:26:5B:FE:84
inet addr:192.168.6.189 Bcast:192.168.6.255 Mask:255.255.255.0
inet6 addr: fe80::324a:26ff:fe5b:fe84/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:449934 errors:0 dropped:0 overruns:0 frame:0
TX packets:339493 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:295640826 (281.9 MiB) TX bytes:62316576 (59.4 MiB)
- 获取有线上网wan口mac:
ifconfig | grep eth0.2 | awk '{ print $5 }'
52:CE:C3:A0:88:D8
- 获取无线上网wan口mac:
ifconfig | grep wlan0 | awk '{ print $5 }'
30:4A:26:5B:FE:84
- 获取lan口mac:
ifconfig | grep br-lan | awk '{ print $5 }'
52:CE:C3:A0:88:D7
在C语言中调用以上shell命令,返回值就是对应的mac。关于C语言中调用shell命令,可以看另一篇文章:C语言获取linux shell命令返回值。