我可以在Android中获取路由表条目吗?

时间:2011-08-04 11:54:41

标签: android routing

是否有任何方法可以在Android中获取路由表条目?

请分享信息..

6 个答案:

答案 0 :(得分:10)

可以通过ADB获取它。 您可以使用

获取路由表

$ cat /proc/net/route

您也可以在程序中执行这些命令。我找到了讨论此选项的this帖子。但是没有答案。如果你可以详细说明你到底想要什么,我可以编辑我的答案,试着帮助更多。

Possibly complicated but maybe useful link:)

答案 1 :(得分:5)

使用Android设备桥(ADB)

  • 打开命令提示符(windows)或终端(mac& linux)

  • cd(更改目录)添加到 android sdk 内的 platform-tools 目录 目录

  • Windows

    adb shell cat /proc/net/route

    Mac& Linux

    ./adb shell cat /proc/net/route

答案 2 :(得分:5)

adb shell "ip route show"

我发现自己更有用,更容易处理解析。

答案 3 :(得分:4)

感谢Paul M的暗示!。

在我的Android 6.0.1(LineageOS)

/system/bin/ip route show table 0

显示所有表的路径

/system/bin/ip route show table rmnet0

显示当rmnet0是活动接口(移动数据)时使用的路由表。

/system/bin/ip route show table wlan0

显示wlan0处于活动状态时使用的路由表。

在“开发人员选项”中,即使wlan0处于活动状态,也可以保持rmnet0处于活动状态。但是只能同时使用一个接口(和一个路由表)。

当WiFi连接到网络但没有互联网链接时,接口rmnet0将被选为主路由,路由表将从rmnet0表中使用。

当WiFi有互联网链接时,wlan0将用作主界面,“ip route show table wlan0”将用作当前路由表。

通过在路由字符串中添加“table xxx”,可以像往常一样使用ip命令添加或删除路由到/到任何路由表。

例如:

/system/bin/ip route delete table wlan0 default via 192.168.7.1 dev wlan0  proto static
/system/bin/ip route add table wlan0 192.168.7.0/24 dev wlan0 proto kernel scope link src 192.168.7.10 metric 327

每次界面开启/关闭,续租等等都会覆盖所有路线表......

答案 4 :(得分:3)

Android并不只使用一个路由表,因此查看默认表或主表并不会对您有所帮助!

如果您运行命令" ip rule list"然后你会看到有多少个路由表; "查找nnnn"是表。然后你可以用" ip route show table 1006"来查看具体的表格。例如。

我担心我无法告诉您哪个路由表必然是您要查看的路由表,抱歉。​​

答案 5 :(得分:0)

只需安装 Termux 或任何其他适用于 android 的终端模拟器,即可享受 shell。