2017-06-21 45 views
-1

无效参数为什么ping6并不在我的Android开发人员的工作?在Android开发IPv6的平连接:在Android

ping6。

bullhead:/ # ping6 fe80::405a:e0a5:e054:cbde 
connect: Invalid argument 
2|bullhead:/ # ping6 -I wlan0 fe80::405a:e0a5:e054:cbde                                       
PING fe80::405a:e0a5:e054:cbde(fe80::405a:e0a5:e054:cbde) from fe80::7af8:82ff:fea2:3210 wlan0: 56 data bytes 
ping: sendmsg: Invalid argument 
^C 
--- fe80::405a:e0a5:e054:cbde ping statistics --- 
1 packets transmitted, 0 received, 100% packet loss, time 0ms 

1|bullhead:/ # ping6 -I wlan0 fe80::405a:e0a5:e054:[email protected]                                       
unknown host 

ifconfig on Android dev。

wlan0  Link encap:Ethernet HWaddr 78:f8:82:a2:32:10 
      inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0 
      inet6 addr: fe80::7af8:82ff:fea2:3210/64 Scope: Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:5174 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:2951 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:3000 
      RX bytes:1883684 TX bytes:628725 

ifconfig在我的桌面上。

wlp8s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 
     inet 192.168.0.105 netmask 255.255.255.0 broadcast 192.168.0.255 
     inet6 fe80::405a:e0a5:e054:cbde prefixlen 64 scopeid 0x20<link> 
     ether 30:52:cb:6d:b1:2f txqueuelen 1000 (Ethernet) 
     RX packets 681081 bytes 913125757 (913.1 MB) 
     RX errors 0 dropped 1 overruns 0 frame 0 
     TX packets 375064 bytes 49389468 (49.3 MB) 
     TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

ping6 fe80 :: 7af8:82ff:fea2:3210在我的桌面上。

[email protected]:~$ ping6 fe80::7af8:82ff:fea2:3210 
PING fe80::7af8:82ff:fea2:3210(fe80::7af8:82ff:fea2:3210) 56 data bytes 
64 bytes from fe80::7af8:82ff:fea2:3210%wlp8s0: icmp_seq=1 ttl=64 time=268 ms 
64 bytes from fe80::7af8:82ff:fea2:3210%wlp8s0: icmp_seq=2 ttl=64 time=91.8 ms 

ping6在我的桌面上。广播地址

[email protected]:~$ ping6 FF02::1 
PING FF02::1(ff02::1) 56 data bytes 
64 bytes from fe80::405a:e0a5:e054:cbde%wlp8s0: icmp_seq=1 ttl=64 time=0.046 ms 
64 bytes from fe80::8616:f9ff:fe48:7a06%wlp8s0: icmp_seq=1 ttl=64 time=107 ms (DUP!) 
64 bytes from fe80::b6ce:f6ff:fedf:b4af%wlp8s0: icmp_seq=1 ttl=64 time=112 ms (DUP!) 
64 bytes from fe80::7af8:82ff:fea2:3210%wlp8s0: icmp_seq=1 ttl=64 time=200 ms (DUP!) 

回答

2

使用Android上的语法如下:

ping6 FE80 :: 405A:e0a5:e054:CBDE%为wlan0

您必须添加%为wlan0,因为它是一个链路本地地址,而你的android设备有多个接口(至少是Wi-Fi和移动设备),所以你需要告诉你的设备你想使用的接口/链接和这个链接本地地址。

+0

不会在Android出于某种原因。 'ping6 -I wlan0'是相同的(见包含在问题ping6输出) –

+0

你的错误消息预期:在你的问题,你从来不写正确的命令行,使用'ping6 IP_ADDRESS%INTERFACE_NAME'。你可以使用-I参数或者像这样的怪异格式编写地址:fe80 :: 405a:e0a5:e054:cbde @ 20(这个“@ 20”是什么?)。在我的Android设备(Galaxy S2,Nexus 5X)上,我写的语法正常工作。 –

+0

@ 20是scopeid。 –