2012-02-27 1 views
0

Comment déterminez-vous par programme sous Linux si votre interface Ethernet active actuelle est un périphérique sans fil?Comment déterminer si vous utilisez une interface sans fil sous Linux

Par exemple, ma machine dispose d'une interface filaire et sans fil, et la sortie de mon ifconfig est:

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 

Y at-il là qui identifie un comme sans fil?

+4

'iwconfig' est le plus proche équivalent. Si vous voulez déterminer par programme il y a probablement de meilleurs moyens que de racler la sortie des outils utilisateur comme ça. (Par exemple lecture/proc/net/sans fil) – Flexo

+1

Vous pouvez essayer d'exécuter 'iwconfig' et voir quelle interface renvoie' aucune extension sans fil'. –

Répondre

2

Bien qu'il puisse être commun pour tout le trafic réseau aller sur une seule interface — surtout dans un seul système d'adaptation — il est vrai dans le cas général. Par exemple, mon ordinateur portable alterne couramment le routage par wi-fi et son câble T de base.

Inspectez la sortie de ip route pour une entrée wlan. Cela, au moins, indique s'il peut y avoir du trafic sans fil. La route par défaut est probablement la meilleure indication.

système Câblé:

[[email protected] ~]$ 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 

système Wi-fi:

[[email protected] ~]$ 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 
+0

Merci, cela et iwconfig, pour déterminer quelle interface est sans fil, accomplit la tâche. – Cerin

Questions connexes