LonelyTraveler 2014-05-16
public String addPingForm() throws IOException {
Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象
String osName = System.getProperty("os.name").toLowerCase();
Process process = null; // 声明处理类对象
if(osName.indexOf("windows") >= 0) {
String line = null; // 返回行信息
InputStream is = null; // 输入流
InputStreamReader isr = null; // 字节流
BufferedReader br = null;
// String ip = "www.baidu.com";
boolean res = false;// 结果
try {
process = runtime.exec("ping " + ipName); // PING
is = process.getInputStream(); // 实例化输入流
isr = new InputStreamReader(is);// 把输入流转换成字节流
br = new BufferedReader(isr);// 从字节中读取文本
while ((line = br.readLine()) != null) {
if (line.contains("TTL")) {
res = true;
break;
}
}
is.close();
isr.close();
br.close();
if (res) {
setTip("ping 通 ...");
} else {
setTip("ping 不通...");
}
} catch (IOException e) {
e.printStackTrace();
}
}else{
process = Runtime.getRuntime().exec("ping -c 2 "+ipName);//ping 2次
InputStreamReader r = new InputStreamReader(process.getInputStream());
LineNumberReader returnData = new LineNumberReader(r);
String returnMsg="";
String line = "";
while ((line = returnData.readLine()) != null) {
returnMsg += line;
}
if(returnMsg.contains("ttl") || returnMsg.contains("TTL") ){
setTip("ping 通 ...");
}else{
setTip("ping 不通 ...");
}
if(returnData != null){returnData.close(); }
if(r != null){ r.close(); }
}
return SUCCESS;
}
From 192.168.25.133 icmp_seq=238 Destination Host Unreachable 虚拟机ping主机不通,但是主机可以ping通虚拟机,虚拟机ping不通外网