2010-09-23 66 views
0

我想知道是否有可能实际打印出现在Linux机器上的可用以太网卡?到目前为止,我已经阅读了“ifconfig”命令中的“Grep”。如何在Perl中打印出可用的以太网网卡?

我必须使用“Net :: IP”还是“IO :: Socket”?我是这种编程语言的新手,所以有人可以提供一些建议,如何做到这一点?

抱歉让你们感到困惑!但是,在执行perl脚本之后,我需要在终端直接打印“eth0”或“eth1”脚本。

谢谢!

回答

2

看看Net::Address::Ethernet
它可能只是ifconfig/ipconfig的可移植包装。尽管如此,我并不担心这一点,因为在任何情况下,您都无法避免在此调用操作系统,因此调用ifconfig可能与其他选项一样好。

也有a few other modules可能值得一看。

UPD。如果只需要接口名称,则还可以读取文件/ proc/net/dev。现代的Linux应该有它,并且文件结构很容易解析。

+0

没有.....它只打印MAC地址,而不是接口号。 – JavaNoob 2010-09-23 07:08:48

0

如果您只为GNU/Linux或* BSD编程,那么您可以使用“ifconfig”中的“grep”。

+0

有什么办法可以使用任何PERL唯一相关的命令?而不是使用unix命令? – JavaNoob 2010-09-23 06:20:30

+0

我认为它是你需要的http://search.cpan.org/~lds/IO-Interface-0.98/Interface.pm。 – Drakmail 2010-09-23 06:26:58

+0

谢谢你的回复。我已经通读IO接口,但我似乎无法得到命令只检索接口号。对此有何想法? – JavaNoob 2010-09-23 06:39:47