我目前正在研究一个Raspberry Pi 3,试图做一些IoT的事情。我希望它能够在usb无线适配器上嗅探,并通过默认无线适配器或以太网发送其数据。我想我可以使用udev,修改/etc/udev/ could .d/70-Persistent-net.ules。在我看来,我需要获得默认无线适配器的MAC地址。我用lshw得到了MAC地址:
root@raspberrypi:/etc/udev# lshw -class网络*-usb:1描述:无线接口产品: 802.11 n无线局域网供应商: Ralink物理id: 4总线信息: usb@1:1.4逻辑名: wlan1版本: 1.01系列: 1.0功能: usb-2.00以太网物理无线配置: broadcast=yes driver=rt2800 usbdriverversion=4.4.13-v7+ firmware=0.29 link=no maxpower=450mA multicast=yes速度=480 root/S wireless=IEEE 802.11bgn *-网络:0描述:无线接口物理id: 2个逻辑名称: wlan0系列: b8:27:eb:e9:67:22功能:以太网物理无线配置: broadcast=yes driver=brcmfmac driverversion=7.45.41.26固件=01-df77e4a7 ip=192.168.0.102 multicast=yes wireless=IEEE 802.11bgn *-网络:1描述:以太网接口物理标识:3逻辑名: eth0系列: b8:27:eb:bc:32:77 size: 100 mii /S容量:100 mii/S功能:以太网物理tp 10bt- 10 bcfd 100 fd 100 fd fd自动协商配置: autonegotiation=on broadcast=yes driver=smsc95xx驱动器版本=2005年8月22日至2005年8月22日- duplex=full firmware=smsc95xx USB 2.0以太网ip=10.42.0.11 link=yes multicast=yes port=MII =100 100bt /S
从这个命令中,我可以看到默认无线接口的MAC地址。只需将其放入规则中,就可以直接将接口设置为wlan0。我想要的是更一般的东西:我不想在我设置的每一个设备中做这些设置。我会写一个脚本,它会为我得到无线适配器的地址。
root@raspberrypi:/etc/udev# sudo lshw -class网络x grep b8:27:eb sed‘S/^.*系列: //’b8:27:eb:e9:67:22 b8:27:eb:bc:32:77
我使用lshw,grep的MAC地址属于Raspberry Pi基金会(b8:27:eb:xx:xx),然后得到类似于"serial:,并用于简单地离开MAC“的MAC地址。
然后我想以太网适配器也有同样的头的MAC地址。
我的问题是,如何才能将RPi无线适配器的MAC地址作为命令的输出?
发布于 2016-08-18 12:59:24
它将打印第一个无线MAC (请注意,我不确定这些地址在无线上下文中是否称为"MAC地址“)
lshw -class network | awk '/usb:/ {ok=0} /network:/ {ok=1} /serial:/ {serial=$2} /capabilities: .*wireless/ && ok {print serial; exit}'
发布于 2016-08-18 13:02:42
如果您知道接口的名称,可以使用ifconfig查询MAC地址。
ifconfig wlan0 | grep HWaddr | cut -d ' ' -f 10-
ifconfig wlan0将只打印有关该接口的信息。
grep HWaddr只保留具有MAC地址的行。
剪切-d‘-f 10-将在空格上拆分一行,并给出在第10空格之后的内容,直到行的末尾。
https://unix.stackexchange.com/questions/304225
复制相似问题