AhmedElsagher / android-os-monitor

Automatically exported from code.google.com/p/android-os-monitor
0 stars 1 forks source link

IPv6 addresses not listed in Network tab #5

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
When enabling Wi-Fi, OSMonitor does not display the IPv6 of the eth0 interface 
(last of the list in "Network" tab). I only see my IPv4 class C address for 
eth0.

I'm sure i have global IPv6 address on the device because i can use IPv6 in and 
outside my network and see TCP6 connections in the "Connection" tab (mail 
through IMAP, ssh sessions, etc.).
The only IPv6 address listed in the "Network" tab is for loopback interface 
(lo), correctly displayed.

Not a severe issue though, but i appreciated your app and this is the only 
remark i have :). Thanks for your work.

Version : 1.1.8
Android : 2.2 (Froyo)
Device  : HTC Desire

Original issue reported on code.google.com by guillaum...@gmail.com on 12 Dec 2010 at 11:15

GoogleCodeExporter commented 8 years ago
I try it on My HTC Magic, it displays correctly, I will try it on my friend's 
HTC Desire tomorrow. :>

Original comment by eolw...@gmail.com on 13 Dec 2010 at 7:34

GoogleCodeExporter commented 8 years ago
Thanks for your reply.

I noted that when i enable 3G, the Network tab shows the local link (starting 
with fe80::) IPv6 on the rmnet0 interface too (as the provider does not have 
IPv6 support in his network).

I've also noted that when i enable 3G and after that i enable Wi-Fi, i can see 
the local-link IPv6 address for eth0 (Wi-Fi) but never the global one.

Anyway, i think that if a global IPv6 adress is detected, it should be printed 
(and not local link, because each interface have a fe80:: one when IPv6 network 
stack is enabled).

Original comment by guillaum...@gmail.com on 13 Dec 2010 at 9:10

GoogleCodeExporter commented 8 years ago
Thanks for your information.

Finally, I found the reason why IPv6 address isn't detect.

OSMonitor extract interface information from two files, when the function works 
on HTC Desire, it will get a result like below.

/proc/%pid%/net/dev  ==> "name:  eth0", "MAC:XX:XX:XX:XX:XX"
/proc/%pid%/net/if_inet6 == > "name:eth0", "IPv6:xxxxxxxx"

because the first interface name has two spaces, OSMonitor won't combine two 
interface information into one.

I will fix it on the next version. 

Original comment by eolw...@gmail.com on 16 Dec 2010 at 10:19

GoogleCodeExporter commented 8 years ago
Guess, it's a bit more complicated then this. With IPV6 you'll have multiple 
IPV6 addresses bound to one interface. Usually you have one link local address 
and (e.g. depending on the IPV6 privacy extension settings) multiple global 
addresses. But your if_dump() function and the if_info structure only supports 
one IPV6 address (and netmaks, scope etc.) per interface. Additionally, 
if_get_addr6() returns only one address.

Original comment by vdtick1...@gmail.com on 3 Nov 2011 at 9:10

GoogleCodeExporter commented 8 years ago
Fixed on version 3.0.2.

Original comment by eolw...@gmail.com on 18 May 2013 at 9:45