2010-03-05 5 views

Répondre

3

Vous pouvez dire si le Mac utilise le WiFi, si elle utilise un modem, et si elle utilise Ethernet dur (qui pourrait être un câble, DSL, ou quelque chose d'autre). Notez que ceux-ci ne sont pas mutuellement exclusifs, il peut y avoir plusieurs connexions d'un seul type (j'ai deux ports Ethernet, par exemple), et être connecté à un réseau IP ne signifie pas nécessairement une connexion à Internet.

Vous trouverez probablement the System Configuration API utiles. Voir aussi the framework reference.

Vous pouvez également regarder la source de HardwareGrowler dans le dossier Extras de the Growl source code.

+0

bien, après avoir joué avec SCNetworkInterface ... Je n'arrive pas à comprendre quelle est la connexion active/actuellement utilisée. –

+0

Ce n'est pas singulier. Il peut y avoir plusieurs connexions aux réseaux IP. Quoi qu'il en soit, même si SCNetworkInterface est peut-être plus facile (je ne l'ai pas examiné de manière approfondie), je connais SCDynamicStore. Vous pouvez utiliser scutil pour parcourir le magasin dynamique vous-même et avoir une idée de l'endroit où vous devez regarder. Voir aussi http://developer.apple.com/mac/library/documentation/Networking/Reference/SCDynamicStoreKey/Reference/reference.html#//apple_ref/c/func/SCDynamicStoreKeyCreateNetworkInterfaceEntity. –

0

Vous pouvez demander la table de routage et voir quelle est la route par défaut, ce qui vous indiquerait avec une certaine précision la connexion active.

Cela a évidemment beaucoup à voir avec la façon dont vous définissez «un certain degré de précision». Généralement, la connexion Internet principale sera également la route par défaut. Je suppose que vous voulez également que la connexion active signifie «connexion Internet».

netstat -rn tables de routage

Internet: Destination Drapeaux passerelle Réfs Utilisez netif Expirez

par défaut 192.168.0.1 UGSc 22 14 en1

donc pour moi, ma route par défaut passe par la interface en1. Je pense que vous devez être beaucoup plus précis sur ce que vous entendez par «actif/courant». CAVEAT: juste parce que mon gw par défaut est sur en1, ne signifie pas nécessairement que c'est là que tout mon trafic inet va. (Cela se vérifie dans mon cas, mais ne comptez pas là-dessus comme une vérité, mais serait probablement correct plus de la moitié du temps).

Questions connexes