2010-07-08 49 views

回答

6

Net::Ping,但这是一个愚蠢的做法。如果你想连接SSH,只需要做,如果你不能处理失败。

如果网络接口响应ping,这不能保证SSH工作。相反,SSH可以工作并且ping被阻塞。

+0

嗯,你是正确的完成。但是我只想在进行一些处理之前进行基本检查。这就是为什么。谢谢兄弟..我在我的程序中使用期望做的ssh。 – Raj 2010-07-08 09:40:20

+0

。在那里我给了像 [email protected]; $ exp-> spawn(“ssh $ argument”)或者死于“无法产生ssh到ip $ ssh_ip_address \ n”; 但即使它不能执行ssh也不会打印无法将ssh分配给ip $ ssh_ip_address。你能帮我解释为什么它不会发生吗? – Raj 2010-07-08 09:42:12

+0

[打开一个新问题](http://stackoverflow.com/questions/ask)为这个不同的问题。 – daxim 2010-07-08 09:53:27

1

一个简单而快速的测试,一个主机特定端口上侦听可以使用IO::Socket::INET

use IO::Socket::INET; 
my $address_tuple = "$ip:$port"; 
my $test_sock = IO::Socket::INET->new(PeerAddr => $address_tuple, Timeout => 0.15); 
if ($test_sock) { 
    # Host is up and appears to be listening on that port 
    $test_sock->close(); 
} 
else { 
    # Host doesn't appear to be listening on that port 
} 
相关问题