2012-09-05 68 views
2

我创建了获取本地主机和当前ip地址的代码的一部分,我在windows,linux(opensuse,debian),mac上尝试了这个,并且每个人都返回除debian之外的他的ip地址返回127.0.0.1和我连接到互联网。为什么只有debian返回127.0.0.1

因为我期待下面的地址

192.168.1.1 
192.168.1.2 
192.168.1.3 
192.168.1.4 

任何帮助。

我的代码是用java编写的,并在不同的平台上测试过。

我ceraet使用inetaddress类中的Java代码

编辑:

sbin目录/ IPCONFIG OUTPU

eth0  Link encap:Ethernet HWaddr 00:1e:33:e0:56:af 
      inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 
      inet6 addr: fe80::21e:33ff:fee0:56af/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:10549 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:12135 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:8705530 (8.3 MiB) TX bytes:1857590 (1.7 MiB) 
      Interrupt:20 Memory:fc600000-fc620000 

lo  Link encap:Local Loopback 
      inet addr:127.0.0.1 Mask:255.0.0.0 
      inet6 addr: ::1/128 Scope:Host 
      UP LOOPBACK RUNNING MTU:16436 Metric:1 
      RX packets:270 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:270 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:0 
      RX bytes:22696 (22.1 KiB) TX bytes:22696 (22.1 KiB) 

vmnet1 Link encap:Ethernet HWaddr 00:50:56:c0:00:01 
      inet addr:192.168.68.1 Bcast:192.168.68.255 Mask:255.255.255.0 
      inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:159 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 

vmnet8 Link encap:Ethernet HWaddr 00:50:56:c0:00:08 
      inet addr:172.16.79.1 Bcast:172.16.79.255 Mask:255.255.255.0 
      inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:45 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:160 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 

wlan0  Link encap:Ethernet HWaddr 70:1a:04:a5:86:5a 
      UP BROADCAST MULTICAST MTU:1500 Metric:1 
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 

等/主机

127.0.0.1 localhost 
127.0.1.1 debiam.domain debiam 

# The following lines are desirable for IPv6 capable hosts 
::1 ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

约SRC代码,它只是inetaddress

+0

如果系统有多个网络接口(卡)会怎么样?如果一个接口有多个分配给它的IP地址会怎么样? –

+0

但我运行debian和opensuse和mac在同一台机器上都正确地返回了这个意思debian – user1344201

+1

你还没有回答我的问题。另外你如何编程?一些源代码会很好。 –

回答

2

取决于具体的实现,它将取决于您在linux中检查的接口。 lo界面会给你127.0.0.1。您可能有一个接口,如'eth0'或'eth3',它使用您的预期IP地址。

1

通过这个表彰在linux

ifconfig 

你把这个细节

eth0  Link encap:Ethernet HWaddr xx:xx:xx:xx 
     inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0 
     inet6 addr: fe80::1e6f:65ff:fed5:8a16/64 Scope:Link 
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
     RX packets:3363918 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:1892239 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:1000 
     RX bytes:4890880074 (4.8 GB) TX bytes:150386146 (150.3 MB) 
     Interrupt:43 Base address:0xa000 

lo  Link encap:Local Loopback 
     inet addr:127.0.0.1 Mask:255.0.0.0 
     inet6 addr: ::1/128 Scope:Host 
     UP LOOPBACK RUNNING MTU:16436 Metric:1 
     RX packets:160038 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:160038 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:0 
     RX bytes:64218501 (64.2 MB) TX bytes:64218501 (64.2 MB) 

wlan0  Link encap:Ethernet HWaddr xx.xx.xx.xx.xx.xx 
     UP BROADCAST MULTICAST MTU:1500 Metric:1 
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:1000 
     RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 

IP 127.0.0.1是LO(回环,本地主机)接口,但在另一个接口例如eth0的你的ip是xxx.xxx.xxx.xxx或ipv6。

相关问题