无法通过本地网络从 Android 设备 ping \trace win10 pc

无法通过本地网络从 Android 设备 ping \trace win10 pc

本地5g wifi网络 192.168.2.0/24

Android 5.1.1\CyanogenMod 12.1 设备 ip:192.168.2.222(ubeogesh-opo)(我使用 jackpal.androidterm 在其上执行命令)

Windows 10 电脑 IP:192.168.2.150(ubeogesh-pc)

Windows 防火墙已禁用,网络发现已启用(针对所有配置文件)

路由器 IP:192.168.2.1

从 PC ping android:

Pinging 192.168.2.222 with 32 bytes of data:
Reply from 192.168.2.222: bytes=32 time=73ms TTL=63

从 PC 到 Android 的跟踪路由:

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,我可以 ping 通 PC 和 Android:

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 阻止你(shell 用户)创建套接字 rtnetlink。所以我建议首先尝试将 selinux 设置为宽容模式。这不是一个简单的操作,因为你应该 root 你的手机并安装一个应用程序,例如SELinux模式改变去做吧。

答案2

这是我的 Windows 10 电脑的问题。其他设备也无法连接到它。通过重置所有网络设置解决了这个问题。这不是一个非常精确\优雅的解决方案(我希望知道是什么原因造成的),但它确实有效。

这是我所做的:

  1. 进入win10设置
  2. 转到状态
  3. 从那里使用“网络重置”功能。

重启后,问题不再出现

相关内容