How To Monitor Network Activity From Within App?

2019-01-31 15:20发布

问题:

I'm trying to monitor network activity on my iPhone from within an app I'm developing. Does iOS support a netstat-like command or something similar that can tell me what what inbound and outbound connections are active ?

回答1:

After some searching I found Apple's code used for netstat.

Everything you need in the void protopr(uint32_t proto, char *name, int af) function.

I tested on the device and sysctlbyname("net.inet.tcp.pcblist_n",...) works.

That should be all you need.



回答2:

I can't test this but from what I gather you will have to use sysctl in combination with sysctlnametomib or alternatively sysctlbyname for this:

sysctlbyname("net.inet.tcp.pcblist", ...)

and/or

sysctlbyname("net.inet.udp.pcblist", ...)


回答3:

You can use burp suite for this purpose , By this you can inspect all the http data going through your phone. You have to install this in your mac/ubuntu/windows machine, and then create a proxy server with help of this tool and then modify your wifi setting in iphone/android phone to use your pc as proxy , and then it will capture all the input/output traffic.

Read full instruction here - http://www.engadget.com/2011/02/21/how-to-inspect-ioss-http-traffic-without-spending-a-dime/