【发布时间】:2013-09-10 23:28:39
【问题描述】:
所以我坚持这个,下面我有一些代码将本地IP地址作为其绑定地址,然后远程登录到指定端口上的指定服务器并返回值,问题是我需要它来绑定到服务器上的循环上的不同 IP 地址,我不知道该怎么做。
本地主机 => $ip
我在下面指定了,但是当我运行它时,它得到了
为 Net::Telnet::new() 提供了错误的命名参数“localhost”
如果有人能告诉我在这里做错了什么,请提前感谢。
#!/usr/bin/perl
my $iplist = '/vbin/iplist';
use Net::Telnet;
for(0..50)
{
my $remoteserver = shift;
my $interface='eth2:'.$_;
my $ip = `ifconfig $interface|grep inet| cut -d':' -f2|awk '{print \$1}'`;
chomp($ip,$interface);
my $return = testport2("$ip","25");
print "$ip:\t$return\n";
print "$ip:\t$return\n";
}
sub testport2
{
my $ip =shift;
my $port = shift;
my $mailserver = shift;
my $telnet = new Net::Telnet ( Timeout=>10, Port=>$port, Errmode => 'return', localhost => $ip );
$telnet->open("$remoteserver");
if ($telnet->errmsg)
{
return "errmsg: " . $telnet->errmsg . "\n";
}else{
return"success\n";
}
}
【问题讨论】: