如何使用Perl确定本地计算机的IP地址?

16

是否有干净且与操作系统无关的方法来从Perl中确定本地机器的IP地址?

到目前为止,我找到了以下解决方案:

  • 解析 ifconfig 和 ipconfig 的输出结果(很麻烦,不同版本的Windows具有不同的ipconfig输出结果)

  • 连接到已知的IP地址并检查套接字的本地IP地址(如果无法建立连接,则无法使用此方法,并且只能确定一个IP地址)

有更好的建议吗?


神奇的数字是127.0.0.1。 - Toon Krijthe
2
这不是我需要的。我只想以自定义形式打印出机器的IP地址,我不想使用这些地址。 - Zizzencs
11个回答

-1

我使用了这些Linux命令的组合,因此不依赖于任何Perl模块。

hostname -i
hostname -I
ls /sys/class/net
ip -f inet addr show eth0| grep -Po 'inet \K[\d.]+'

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