2011-06-29 14 views
6

iOS 4.3デバイスでアクティブなTCP/UDPネットワーク接続のリストを取得することに興味があります。基本的には、OS X Darwinの下で "netstat -anp tcp"(またはudpと同じですが)コマンドを発行するのと同じ種類の情報を探しています。iOS 4でTCP/UDP接続を一覧表示する方法

AppleのiOSデベロッパーライブラリ(特にNSNetServices、CFNetServices、iOSマニュアルページ)とインターネットを検索しましたが、良い結果は得られませんでした。それでも、iOS Netstatアプリ(http://itunes.apple.com/us/app/netstat/id400071873?mt=8&ign-mpt=uo%3D2参照)があるので、可能です。

有用なポインタ/提案/考えをお寄せいただきありがとうございます。

+0

は、netstatのオープンソースではないですか? –

+0

確かに、私はそれが/ procファイルシステムが存在してライフルに依存していると信じています。 – RCroasher

+0

iOSでデバイスファイルを直接読み取ることはできないと思うので、解決策が表示されません。 :/ –

答えて

8

私は今私自身の質問に答えていると思います。私はsysctl()ライブラリ関数を十分に見ていたと思っていましたが、私はそうではありませんでした!例えば、以下は現在のTCP接続に関する情報が得られます:net.inet.udp.pcblist:UDP接続に関する情報を取得するには

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

を、単に別の管理情報ベース(MIB)の名前を使用します。便宜上

は、ここで適切なのiOSのmanページへのリンクです:

http://developer.apple.com/library/ios/#documentation/System/Conceptual/ManPages_iPhoneOS/man3/sysctlbyname.3.html 
+1

このメソッドから取得したデータを「解析する」方法の提案はありますか?私はすべての現在のオープンソケットを取得しようとしています。 – Sunkas

+1

解析が完了しました。しかし、各接続を特定のプロセス/サービスに「リンク」する方法があるかどうかは分かりますか? – Sunkas

+0

@ JonasAndersson、どのようにデータを解析しましたか?いくつかのコードを与えてください。 – virata

関連する問題