Get low-level iPhone network information

I have two free apps, iSys and iSysMonitor, which report on my iPhone. Interestingly, they do not agree with the IP address of my cellular connection. In addition, none of them indicate the name of my WiFi connection, although I can see it in the iPhone settings. I would like to resolve the IP argument as well as find out how to get the name of my network connection. I looked at CFNetwork, but it seems to focus on how to handle communication once you know that a network exists.

Going further, I would like to dig out things, such as the ID of the mesh tower I'm talking about (when not in WiFi). I know that some Cocoa higher-level classes probably do not give access to this part, instead they simplify common tasks.

So where do I go to the low level scoop? What information can I get?

+4
source share
3 answers

CoreTelephony is the only option you have if you do not want to use any private APIs. You can always request that Apple publish some of the private APIs, although if they agree, it may not display until 5.x.

+1
source

The answer to this stack overflow question about MAC addresses can also work to get both IP addresses. It uses the ioctl Unix API.

If you need an application, not a code, the iStat application will return both IP addresses.

+1
source

As others have said, Core Telephony is your best bet, although I don't see anything in the documentation that will return cell identification. You are probably out of luck if you want to stick with the published API and be distributed in the App Store.

As for the different IP addresses, this makes sense to me: you are talking about two different devices. They cannot exchange an IP address, and two computers on the local network can share the IP address. Without a unique address, it is impossible for anything else on the network to send data only to this device.

0
source

All Articles