如何从 Rust 获取机器的 IP 地址列表?

18

具体来说,我对以编程方式获取类似于ifconfig返回的IP地址列表的方法感兴趣。

最好的解决方案应该是跨平台的。

1个回答

20

看看pnet包

extern crate pnet;

use pnet::datalink;

fn main() {
    for iface in datalink::interfaces() {
        println!("{:?}", iface.ips);
    }
}

这是一个很好的回答,但如果您今天尝试此操作可能会出现错误“根目录中没有数据链接”在使用pnet::datalink行上。似乎这在版本0.31.0中已经失效了。只需更改您的cargo.toml文件以使用0.30.0[dependencies] pnet = "0.30.0" - wood.wheels
不知道这个是否应该在Windows上工作,我遇到了一个链接器错误:note: LINK : fatal error LNK1181: cannot open input file 'Packet.lib'。---> 在下面找到了答案:https://docs.rs/crate/pnet - jaques-sam
不知道这个是否应该在Windows上工作,我遇到了一个链接器错误:note: LINK : fatal error LNK1181: cannot open input file 'Packet.lib'。---> 在下面找到了答案:https://docs.rs/crate/pnet - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接