最近在搞 4G Volte 的漏洞分析,在一个 Android 测试机上模拟了一个 SIP 包发送给现网,结果根本发不出去。
检查了半天发现抓包数据中手机发给现网的数据包未发送成功,ping 了一下显示网络不可达 (network is unreachable)
$ adb shell ping6 -I rmnet_data7 2409:8010:8210:1:1004:1004:0:8
connect: Network is unreachable
这种情况一般是由于没有设置路由造成的。
由于 Volte 数据收发是通过 IPv6 地址,因此需要通过 Android 的 shell 添加路由。
$ adb shell ip -6 route add default dev rmnet_data7
说明
-6 代表IPv6地址,
rmnet_data7 代表需要设置的路由的网络接口 (network interface),一般 Volte 数据的网络接口就是 rmnet_data7
设置完成后看一下是否添加
$ adb shell ip route show
default dev rmnet_data7 scope link
此时说明已添加完成,再 ping 一下之前的 IPv6 地址,就可以通了。
$ adb shell ping6 -I rmnet_data7 2409:8010:8210:1:1004:1004:0:8
PING 2409:8010:8210:1:1004:1004:0:8(2409:8010:8210:1:1004:1004:0:8) from 2409:8800:8209:143d:5437:e004:db5b:483 rmnet_data7: 56 data bytes
64 bytes from 2409:8010:8210:1:1004:1004:0:8: icmp_seq=1 ttl=253 time=169 ms
64 bytes from 2409:8010:8210:1:1004:1004:0:8: icmp_seq=2 ttl=253 time=68.8 ms
64 bytes from 2409:8010:8210:1:1004:1004:0:8: icmp_seq=3 ttl=253 time=67.1 ms
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。