如何确定您是否在Linux下的无线接口上

时间:2012-02-27 00:07:34

标签: linux bash command-line wireless

如何在Linux下以编程方式确定您当前的活动以太网接口是否为无线设备?

例如,我的机器有一个有线和无线接口,我ifconfig的输出是:

eth0      Link encap:Ethernet  HWaddr 64:b9:e9:cd:4f:b3  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:7700676 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3412854 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3131639132 (3.1 GB)  TX bytes:16826666276 (16.8 GB)
          Interrupt:27 Base address:0x4000 

eth2      Link encap:Ethernet  HWaddr 01:16:4b:1b:90:c9  
          inet addr:192.168.1.152  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fa81::216:baff:de1b:91cc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2307478 errors:15 dropped:0 overruns:0 frame:18469924
          TX packets:1924909 errors:527 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2475924284 (2.4 GB)  TX bytes:996430577 (996.4 MB)
          Interrupt:23 

有什么东西可以将其标识为无线?

1 个答案:

答案 0 :(得分:2)

虽然所有网络流量通过单个接口可能很常见 - 尤其是在单个适配器系统中 - 但在一般情况下并非如此。例如,我的笔记本电脑通常通过Wi-Fi及其100 base T电缆交替路由。

检查ip route的输出是否为wlan条目。这至少表明是否存在无线流量。默认路由可能是最好的指示。

硬连线系统:

[wally@lenovotower ~]$ ip route
default via 192.168.0.1 dev eth0  proto static 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.103  metric 1 
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

Wi-Fi系统:

[wally@lenovafedora ~]$ ip route
192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.105  metric 2 
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1 
default via 192.168.0.1 dev wlan0  proto static