江西广告网

标题: 检测SSH服务是否正常工作代码 [打印本页]

作者: bibibobo    时间: 2009-1-14 08:27
标题: 检测SSH服务是否正常工作代码
连接检测SSH服务是否正常工作 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.InterruptedIOException; import java.net.ConnectException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.NoRouteToHostException; import java.net.Socket; import java.net.UnknownHostException; public class TestSSH ...{ public static void main(String[] args)...{ int retry = 1; int timeout = 3000; // Port // int port = 22; String strBannerMatch = "SSH"; // Get the address instance. // InetAddress ipv4Addr = null; try ...{ ipv4Addr = InetAddress.getByName("fedora.unix-center.net"); } catch (UnknownHostException e1) ...{ // TODO Auto-generated catch block e1.printStackTrace(); } // Give it a whirl // int serviceStatus = -1; long responseTime = -1; for (int attempts = 0; attempts <= retry && serviceStatus != 1; attempts ) ...{ Socket socket = null; try ...{ create a connected socket long sentTime = System.currentTimeMillis(); socket = new Socket(); socket.connect(new InetSocketAddress(ipv4Addr, port), timeout); socket.setSoTimeout(timeout); System.out.println("SshMonitor: connected to host: " ipv4Addr " on port: " port); // We’re connected, so upgrade status to unresponsive serviceStatus = -2; if (strBannerMatch == null || strBannerMatch.equals("*")) ...{ serviceStatus = 1; break; } BufferedReader rdr = new BufferedReader(new InputStreamReader(socket.getInputStream())); // Tokenize the Banner Line, and check the first // line for a valid return. String response = rdr.readLine(); responseTime = System.currentTimeMillis() - sentTime; if (response == null) continue; System.out.println("poll: banner = " response); System.out.println("poll: responseTime= " responseTime "ms"); if (response.indexOf(strBannerMatch) > -1) ...{ serviceStatus = 1; } else serviceStatus = -1; } catch (Exception e) ...{ e.printStackTrace(); } finally ...{ try ...{ // Close the socket if (socket != null) socket.close(); } catch (IOException e) ...{ e.printStackTrace(); } } } } }




欢迎光临 江西广告网 (http://bbs.jxadw.com/) Powered by Discuz! X3.2