当前位置:首页 > 开发 > 编程语言 > Java > 正文

java Ping操作(测试网络)

发表于: 2015-01-20   作者:消失-IT超市   来源:转载   浏览:
摘要: 说明: Ping命令是个危险的命令,用它可以知道你的操作系统,IP等,为了安全禁Ping是个很好的方法,也是防DDOS攻击的。应该是有外部网络试图连接你的UDP的1434端口,不知道你打了补丁没有。 黑客入侵时,大多使用Ping命令来检测主机,如果Ping不通,水平差的“黑客”大多就会知难而退。事实上,完全可以造成一种假相,即使我们在线,但对方Ping时也不能相通,这样就能躲避很多攻击。 所
说明:
Ping命令是个危险的命令,用它可以知道你的操作系统,IP等,为了安全禁Ping是个很好的方法,也是防DDOS攻击的。应该是有外部网络试图连接你的UDP的1434端口,不知道你打了补丁没有。
黑客入侵时,大多使用Ping命令来检测主机,如果Ping不通,水平差的“黑客”大多就会知难而退。事实上,完全可以造成一种假相,即使我们在线,但对方Ping时也不能相通,这样就能躲避很多攻击。
所以测试时,应确定以下两个方面:
1.确保Ping命令可用。
2.确认操作系统,不同系统,Ping命令的参数不一样。

未例代码如下:
/**
	 * 测试设备网络状态
	 * 
	 * @return boolean
	 * @throws Exception 
	 */
	private static boolean connectTest() throws Exception {
		
		String OS = System.getProperty("os.name").toLowerCase();
		int pingTimes = 4;
		String pingCommand = "";
		if (OS.indexOf("windows")>=0) {
			pingCommand = "ping " + ip + " -n " + pingTimes;
		} else {
			pingCommand = "ping " + "-c " + pingTimes + " " + ip;
		}
		boolean status = isReachable(pingCommand, pingTimes);
		
		if (!status) {
			throw new Exception("设备不能连接(ping 不通!!!)");
		}
		
		return status;
	}

/**  * 测试是否能ping通  
	 * * @param server  
	 * * @param timeout  
	 * * @return  */ 
	private static boolean isReachable(String pingCommand, int pingTimes) {
		BufferedReader in = null;
		Runtime r = Runtime.getRuntime();
		try {
			// 执行命令并获取输出
			System.out.println(pingCommand);
			Process p = r.exec(pingCommand);
			if (p == null) {    
				return false;   
			}
			in = new BufferedReader(new InputStreamReader(p.getInputStream()));
			// 逐行检查输出,计算类似出现=23ms TTL=62字样的次数
			int connectedCount = 0;
			String line = null;  
			while ((line = in.readLine()) != null) {
				connectedCount += getCheckResult(line);
			}   
			// 如果出现类似=23ms TTL=62这样的字样,出现的次数=测试次数则返回真
			return connectedCount == pingTimes;
		} catch (Exception ex) {   
			ex.printStackTrace();
			// 出现异常则返回假
			return false;}
		finally {  
			try {
				in.close();
			} catch (IOException e) { 
				e.printStackTrace();
			} 
		}
	} 

java Ping操作(测试网络)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
ping(Packet InterNet Groper分组因特网探测器) 它是一个可以检查两个主机之间连通性的DOS命令,
该例子为利用Ping类检测与主机之间的通信是否正常。。延迟多少毫秒等。。 完整代码如下: 引入命名
该例子为利用Ping类检测与主机之间的通信是否正常。。延迟多少毫秒等。。 完整代码如下: 引入命名
ping 192.168.67.1 ping windows网卡地址,默认会一直ping下去,区别于windows的ping命令ping4次 ping
package cn.com.songjy; import java.io.BufferedReader; import java.io.IOException; import java
package cn.com.songjy; import java.io.BufferedReader; import java.io.IOException; import java
最近在研究https协议是如何传输数据的,用wireshark抓包分析,发现客户机和google网站在传输数据时
PyQt作品 – PingTester – 多点Ping测试工具 | Felix's Blog PyQt作品 – PingTester – 多点Ping
电脑的使用已经越来越普及,人们渐渐已经离不开网络。互联网是知识的海洋,在里面大家可以结交到不
1. 使用PING 命令 R1#ping 12.1.1 .2 Type escape sequence to abort. Sending 5, 100-byte ICMP Ec
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号