怎样获得本机的当前使用的IP..
包括多个网卡..
我们公司做的是用system ("/sbin/ifconfig eth0 | grep inet | cut -d \: -f 2 | cut -d \ -f 1 > ./ip.txt");
这样实现的..能不能用编程实现呢..
而且是找到所有的IP
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最近很忙,没试一下.你还可以用ioctl的方法.具体的在站内都能搜索到.
我编译了一下置顶贴中获得ip的程序.
执行:
root@darkstar:/# ./iptest
Iface IP address Netmask
lo 1.0.0.0
eth0 2.0.0.0
lo 127.0.0.1 255.0.0.0
eth0 192.168.55.99 255.255.255.128
eth0:1 192.168.223.6 255.255.0.0
eth0:0 192.168.55.98 255.255.255.128
可是我在执行ifconfig时效果是这样的:
eth0 Link encap:Ethernet HWaddr 00:02:E3:30:6D:4A
inet addr:192.168.55.99 Bcast:192.168.55.255 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20810893 errors:0 dropped:0 overruns:0 frame:0
TX packets:5123895 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3860843037 (3681.9 Mb) TX bytes:2500317702 (2384.4 Mb)
Interrupt:3
eth0:0 Link encap:Ethernet HWaddr 00:02:E3:30:6D:4A
inet addr:192.168.55.98 Bcast:192.168.55.255 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:3
eth0:1 Link encap:Ethernet HWaddr 00:02:E3:30:6D:4A
inet addr:192.168.223.6 Bcast:192.168.223.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:3
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:811717 errors:0 dropped:0 overruns:0 frame:0
TX packets:811717 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:116339787 (110.9 Mb) TX bytes:116339787 (110.9 Mb)
那么.执行./iptest说得到的
lo 1.0.0.0
eth0 2.0.0.0
这两行是怎么回事呢?
谢谢!!
看置顶帖.