如何判断mac连接的网络是WiFi还是有线网络等

时间:2010-03-05 23:50:00

标签: cocoa macos networking wifi

首先,你们真的很有帮助 - 非常感谢你们!

有没有办法弄清楚Mac连接的网络类型?无线上网?电缆? USB调制解调器?我可以用任何Cocoa / Foundation框架来解决这个问题吗?

谢谢你, 的Matthias

2 个答案:

答案 0 :(得分:3)

您可以判断Mac是否使用WiFi,是否使用调制解调器,以及是否使用硬件以太网(可能是有线,DSL或其他)。请注意,这些不是相互排斥的,可能存在单个类型的多个连接(例如,我有两个以太网端口),并且连接到IP网络并不一定意味着连接到Internet。

您可能会发现the System Configuration API有帮助。另请参阅the framework reference

您可能还想在the Growl source code的Extras文件夹中查看HardwareGrowler的来源。

答案 1 :(得分:0)

您可以询问路由表并查看默认路由是什么,这将告诉您某种程度的准确性,即活动连接是什么。

这显然与你如何定义“某种程度的准确性”有很大关系。通常,主互联网连接也将是默认路由。我假设你也希望有效连接意味着'互联网连接'。

netstat -rn 路由表

互联网: 目标网关标志参考使用Netif Expire

默认值192.168.0.1 UGSc 22 14 en1

所以对我来说,我的默认路由是en1接口。我认为你需要更加具体地说明“主动/当前”对你意味着什么。

CAVEAT:仅仅因为我的默认gw在en1上,并不一定意味着我的所有inet流量都在这里。 (在我的情况下,它恰好是正确的,但不要指望它是真理,但可能超过一半的时间是正确的。)