如何在iOS上获取路由表详细信息

时间:2015-08-31 21:03:38

标签: ios objective-c networking

有没有办法在iOS上获取路由表信息?我们可以按照post中的说明确定地获取网络接口详细信息。有没有办法可以利用它来获取iOS上的路由表详细信息(MAC OSX等效运行命令netstat -nr)?

我看到应用" System Guard"做到这一点。因此必须有一些app-store-approved方法允许打印路由表。

任何帮助都会很明显。

2 个答案:

答案 0 :(得分:2)

你可以查看我的回购:https://github.com/jianpx/ios-cabin/tree/master/RouteTableManager

说明

RouteTableManager

  • 缺陷:目标属性无法显示网络掩码,例如,netstat -r有时会显示10.1.1/32。如果您有实现网络掩码的好主意,请告诉我并向我发送拉取请求。
  • 源文件是:RouteTableManager.h / m和RouteRecord.h / m
  • import" RouteTableManager.h"
  • [RouteTableManager getAllRoutes]获取所有路线,每条路线记录的属性都在RouteRecord.h中。
  • [RouteTableManager formatRouteTable]可以获取路由表字符串,例如unix命令netstat -r,例如

Destination Gateway Flags Refs Use Mtu Netif Expire
default 10.250.174.1 UGSc 189 0 1500 en0 0
10.62.0.0 10.62.2.35 UGSc 11 0 1500 tun0 0
10.62.2.35 10.62.2.35 UH 2 0 1500 tun0 0
10.63.23.0 10.62.0.1 UGSc 1 0 1500 tun0 0
10.63.58.0 10.62.0.1 UGSc 1 0 1500 tun0 0
10.250.174.135 b8.e8.56.6.be.38 UHLWIi 1 1 16384 lo0 0
218.107.55.89 10.250.174.1 UGSc 1 0 1500 en0 0
224.0.0.0 link #5 UCSm 2 0 1500 en0 111
224.0.0.251 1.0.5e.0.0.fb UHLWIm 1 0 1500 en0 0 255.255.255.255 link #5 UCS 1 0 1500 en0 1343

答案 1 :(得分:0)

一个选项是反编译System Guard以获取命令。