解决 Android ping IPv6 地址显示 network is unreachable 的问题
生活随笔
收集整理的這篇文章主要介紹了
解决 Android ping IPv6 地址显示 network is unreachable 的问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近在搞 4G Volte 的漏洞分析,在一個 Android 測試機(jī)上模擬了一個 SIP 包發(fā)送給現(xiàn)網(wǎng),結(jié)果根本發(fā)不出去。
檢查了半天發(fā)現(xiàn)抓包數(shù)據(jù)中手機(jī)發(fā)給現(xiàn)網(wǎng)的數(shù)據(jù)包未發(fā)送成功,ping 了一下顯示網(wǎng)絡(luò)不可達(dá) (network is unreachable)
$ adb shell ping6 -I rmnet_data7 2409:8010:8210:1:1004:1004:0:8 connect: Network is unreachable這種情況一般是由于沒有設(shè)置路由造成的。
由于 Volte 數(shù)據(jù)收發(fā)是通過 IPv6 地址,因此需要通過 Android 的 shell 添加路由。
$ adb shell ip -6 route add default dev rmnet_data7說明
-6 代表IPv6地址,
rmnet_data7 代表需要設(shè)置的路由的網(wǎng)絡(luò)接口 (network interface),一般 Volte 數(shù)據(jù)的網(wǎng)絡(luò)接口就是 rmnet_data7
設(shè)置完成后看一下是否添加
$ 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總結(jié)
以上是生活随笔為你收集整理的解决 Android ping IPv6 地址显示 network is unreachable 的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode-412-Fizz B
- 下一篇: Python第一弹--------初步了