Я пытаюсь написать программу на Java, чтобы узнать, находится ли компьютер в глобальной / частной сети или нет.Ниже приведен мой фрагмент кода.Я думал, что если машина обнаруживает только адрес обратной связи (127.0.0.1
или ::1
), то можно предположить, что машина не находится в сети.Но в одной из Систем, где включена многоадресная рассылка, я получаю следующие IP-адреса, отличные от адреса обратной связи.
fe80::20c:29ff:fe90:8041
ff01::1,
ff02::1
ff02::1:ff90:8041
fe80::ffff:ffff:fffd
::1
fe80::1
127.0.0.1
224.0.0.1
Фрагмент кода:
private static ArrayList< InetAddress > getInetAddresses( ) throws IPAddressException
{
ArrayList< InetAddress > arrayIPAddress = new ArrayList< InetAddress >( );
try
{
Enumeration< NetworkInterface > networkInterfaces = NetworkInterface.getNetworkInterfaces( );
if ( networkInterfaces == null )
{
throw new IPAddressException( "NetworkInterface Not found" );
}
while ( networkInterfaces.hasMoreElements( ) )
{
NetworkInterface card = ( NetworkInterface ) networkInterfaces.nextElement( );
Enumeration< InetAddress > addresses = card.getInetAddresses( );
if ( addresses == null )
{
continue;
}
while ( addresses.hasMoreElements( ) )
{
InetAddress inetAddress = ( InetAddress ) addresses.nextElement( );
arrayIPAddress.add( inetAddress );
}
}
}
catch ( SocketException obj )
{
throw new IPAddressException( "NetworkInterface Not found" );
}
return arrayIPAddress;
}
Отчет IPConfig:
C:\Documents and Settings\Administrator>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : vm13autopassdl1
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : ind.hp.com
india.hp.com
Ethernet adapter Local Area Connection 2:
Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection #
2
Physical Address. . . . . . . . . : 00-0C-29-90-80-41
Tunnel adapter Teredo Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Physical Address. . . . . . . . . : FF-FF-FF-FF-FF-FF-FF-FF
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%4
Default Gateway . . . . . . . . . :
NetBIOS over Tcpip. . . . . . . . : Disabled
Есть ли какой-либо другой способ обнаружить, что аппарат не находится в сети?