資源簡介
1.已知參數:目的節點IP地址或主機名 2.設計要求:通過原始套接字編程,模擬Ping命令,實現其基本功能,即輸入一個IP地址或一段IP地址的范圍,分別測試其中每個IP地址所對應主機的可達性,并返回耗時、生存時間等參數,并統計成功發送和回送的Ping報文。 2.1初始化Windows Sockets網絡環境; 2.2解析命令行參數,構造目的端socket地址; 2.3定義IP、ICMP報文; 2.4接收ICMP差錯報文并進行解析。 3. 程序實現主要用到Java網絡包中的類InetAddress。
代碼片段和文件信息
package?com.zhusien.ping;
import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.util.regex.Pattern;
public?class?Ping?{
private?static?int?TIME_OUT?=?3000;//超時在3秒以上
private?String?ip;
private?Pattern?pattern;
private??int?pingTimes?=?4;//ping的次數
private??boolean?isReachable?=?false;
public?Runtime?runtime;
public?Ping(String?ip)?{
this.ip?=?ip;
runtime?=?Runtime.getRuntime();//?將要執行的ping命令此命令是windows格式的命令
//Pattern對象做為匹配模式對字符串展開匹配檢查
pattern=Pattern.compile(“(\\d+)ms\\s+TTL=(\\d+)“Pattern.CASE_INSENSITIVE);
}
@SuppressWarnings(“finally“)
public?BufferedReader?ping(){
String??pingCommand=?“ping?“?+?this.ip?+?“?-n?“?+?pingTimes????+?“?-w?“?+?TIME_OUT;??
BufferedReader?buff?=?null;
try{//直接調用系統的ping命令,求要發送的回顯請求數和等待每次回復的超時時間(ms)
Process?process=runtime.exec(pingCommand);
if(process?==?null)?{
return?buff;
}else{
buff?=?new?BufferedReader(new?InputStreamReader(proc
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-09-07?19:27??ping程序的實現\
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\
?????文件?????????301??2016-06-30?23:30??ping程序的實現\myPing\.classpath
?????文件?????????382??2016-06-30?23:30??ping程序的實現\myPing\.project
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\.settings\
?????文件?????????598??2016-06-30?23:30??ping程序的實現\myPing\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\bin\
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\bin\com\
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\bin\com\zhusien\
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\bin\com\zhusien\ping\
?????文件????????3387??2016-07-07?15:02??ping程序的實現\myPing\bin\com\zhusien\ping\Ping.class
?????文件????????1055??2016-07-07?16:19??ping程序的實現\myPing\bin\com\zhusien\ping\Ping.jardesc
?????文件?????????705??2016-07-07?15:02??ping程序的實現\myPing\bin\com\zhusien\ping\Pingfr
?????文件????????1105??2016-07-07?15:02??ping程序的實現\myPing\bin\com\zhusien\ping\Pingfr
?????文件?????????762??2016-07-07?15:02??ping程序的實現\myPing\bin\com\zhusien\ping\Pingfr
?????文件????????3150??2016-07-07?15:02??ping程序的實現\myPing\bin\com\zhusien\ping\Pingfr
?????文件????????3540??2016-07-07?15:02??ping程序的實現\myPing\bin\com\zhusien\ping\PingRunnable.class
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\src\
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\src\com\
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\src\com\zhusien\
?????目錄???????????0??2016-07-11?20:45??ping程序的實現\myPing\src\com\zhusien\ping\
?????文件????????1130??2016-07-07?16:48??ping程序的實現\myPing\src\com\zhusien\ping\Ping.jardesc
?????文件????????2392??2016-07-07?12:09??ping程序的實現\myPing\src\com\zhusien\ping\Ping.java
?????文件????????3892??2016-07-07?12:01??ping程序的實現\myPing\src\com\zhusien\ping\Pingfr
?????文件????????2347??2016-07-07?12:02??ping程序的實現\myPing\src\com\zhusien\ping\PingRunnable.java
?????文件???????13402??2016-07-07?16:48??ping程序的實現\Ping.jar
?????文件??????316982??2016-09-07?19:27??ping程序的實現\實驗報告.doc
- 上一篇:JSP應用與開發技術(第二版)課后答案
- 下一篇:JSP個人博客功能模板
評論
共有 條評論