0

Java を使用して Linux マシンのすべての IP アドレスを取得する方法は?

私のデバイスには 2 つの IP アドレスがありますが、以下を使用してすべての IP アドレスを取得しようとすると、プライマリ IP アドレスのみが返されます。Windows でも同じコードが正常に機能します。

InetAddress myAddr = InetAddress.getLocalHost();
System.out.println("myaddr::::" + myAddr.getHostName());
InetAddress localAddress[] = InetAddress.getAllByName(myAddr.getHostName());
int len = localAddress.length;
for(int i = 0; i < len; i++)
{
  String localaddress = localAddress[i].getHostAddress().trim();
  System.out.println("localaddress::::" + localaddress);
}
4

3 に答える 3

1

Java の NetworkInterfaces クラスを見てみるべきだと思います。使用可能なすべてのインターフェイスを照会し、それらを列挙して、それぞれに割り当てられている詳細 (この場合は IP アドレス) を取得します。

ここで例と説明を見つけることができます

お役に立てれば

于 2012-09-11T08:49:10.340 に答える
0

これを試してください、あなたは得ることができます

 InetAddress address = InetAddress.getLocalHost();
 NetworkInterface neti = NetworkInterface.getByInetAddress(address);
 byte macadd[] = neti.getHardwareAddress();
 System.out.println(macadd);
于 2013-12-02T16:31:45.013 に答える