![ローカル ネットワーク経由で Android デバイスから Win10 PC に ping\trace できない](https://rvso.com/image/1505669/%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%20%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E7%B5%8C%E7%94%B1%E3%81%A7%20Android%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%8B%E3%82%89%20Win10%20PC%20%E3%81%AB%20ping%5Ctrace%20%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.png)
ローカル 5G Wi-Fi ネットワーク 192.168.2.0/24
Android 5.1.1\CyanogenMod 12.1 デバイス IP: 192.168.2.222 (ubeogesh-opo) (jackpal.androidterm を使用してコマンドを実行します)
Windows 10 PC IP: 192.168.2.150 (ubeogesh-pc)
Windows ファイアウォールは無効、ネットワーク検出は有効 (すべてのプロファイル)
ルーターIP: 192.168.2.1
PCからAndroidへのping:
Pinging 192.168.2.222 with 32 bytes of data:
Reply from 192.168.2.222: bytes=32 time=73ms TTL=63
PCからAndroidへのTraceroute:
Tracing route to ubeogesh-opo [192.168.2.222]
over a maximum of 30 hops:
1 1 ms <1 ms <1 ms router.asus.com [192.168.2.1]
2 308 ms 1 ms 1 ms ubeogesh-opo [192.168.2.222]
Trace complete.
Android から PC への Ping:
PING 192.168.2.150 (192.168.2.150) 56(84) bytes of data.
^C
--- 192.168.2.150 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2002ms
Android からルーターへの Ping とトレースパス:
22|u0_a72@A0001:/ $ ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=109 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=127 ms
64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=115 ms
^C
--- 192.168.2.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 109.158/117.387/127.349/7.526 ms
u0_a72@A0001:/ $ tracepath 192.168.2.1
1: ubeogesh-opo 0.323ms pmtu 1500
1: router.asus.com 1.907ms reached
1: router.asus.com 39.411ms reached
Resume: pmtu 1500 hops 1 back 64
AndroidからPCへのトレースパス:
tracepath 192.168.2.150
1: ubeogesh-opo 0.565ms pmtu 1500
1: no reply
^C
ルーター CP から、PC と Android の両方に ping を実行できます。
traceroute to 192.168.2.150 (192.168.2.150), 30 hops max, 38 byte packets
1 192.168.2.150 (192.168.2.150) 1.072 ms * 1.391 ms
traceroute to 192.168.2.222 (192.168.2.222), 30 hops max, 38 byte packets
1 192.168.2.222 (192.168.2.222) 109.768 ms 1.159 ms 1.015 ms
PING 192.168.2.150 (192.168.2.150): 56 data bytes
64 bytes from 192.168.2.150: seq=0 ttl=128 time=2.087 ms
--- 192.168.2.150 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 2.087/2.087/2.087 ms
PING 192.168.2.222 (192.168.2.222): 56 data bytes
64 bytes from 192.168.2.222: seq=0 ttl=64 time=259.913 ms
--- 192.168.2.222 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 259.913/259.913/259.913 ms
一番気になるのは、PC から Android へのトレースルートにルーターが含まれることです。つまり、同じネットワーク内の両方のデバイスを無視して、ホップはとにかく最初にルーターに行きます。Android デバイスでルートを確認しようとしましたが、そこからはあまり読み取れません。
130|u0_a72@A0001:/ $ ip route show
192.168.2.0/24 dev wlan0 proto kernel scope link src 192.168.2.222
ルーター経由で PC へのルートを明示的に追加しようとしましたが、失敗しました。
ip route add 192.168.2.150/32 via 192.168.2.1
Cannot talk to rtnetlink: Permission denied
他に何を確認すればよいでしょうか? どこに問題があるのでしょうか?
答え1
問題は、SELinuxがあなた(シェルユーザー)にソケットrtnetlinkを作成させないようにしているのではないかと思います。まずはSELinuxをpermissiveモードに設定してみることをお勧めします。これは簡単な作業ではありません。携帯電話をルート化し、次のようなアプリケーションをインストールする必要があるからです。SELinuxモードの変更それをするために。
答え2
これは私の Windows 10 PC の問題でした。他のデバイスも接続できませんでした。この問題は、すべてのネットワーク設定をリセットすることで解決しました。あまり正確でエレガントな解決策ではありませんが (原因がわかればよいのですが)、うまくいきました。
私がやったことは次のとおりです:
- Win10の設定へ
- ステータスへ移動
- そこから「ネットワーク リセット」機能を使用してください。
再起動後、問題は再発しなかった