Ping程序设计代码及报告.doc

上传人:土8路 文档编号:10295281 上传时间:2021-05-06 格式:DOC 页数:6 大小:40.50KB
返回 下载 相关 举报
Ping程序设计代码及报告.doc_第1页
第1页 / 共6页
Ping程序设计代码及报告.doc_第2页
第2页 / 共6页
Ping程序设计代码及报告.doc_第3页
第3页 / 共6页
Ping程序设计代码及报告.doc_第4页
第4页 / 共6页
Ping程序设计代码及报告.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Ping程序设计代码及报告.doc》由会员分享,可在线阅读,更多相关《Ping程序设计代码及报告.doc(6页珍藏版)》请在三一文库上搜索。

1、 实验报告课 程 计算机网络课程设计实验名称 Ping程序的设计与实现专业班级 08级信管(2)班姓 名 学 号 2008081410实验日期 2011年11月8日1 实验目的和要求 1.课程设计目的Ping程序是使用得比较多的用于测试网络连通性的程序。Ping程序基于ICMP协议,使用ICMP的回送请求和回送应答来工作。ICMP是基于IP的一个协议,ICMP包通过IP的封装之后传递。 通过模拟实现Ping命令,使学生掌握网络编程中对应的相关基础知识; 通过跟踪运行Java网络包,使学生了解网络编程实现的细节。 2.课程设计要求本实验要求模拟实现Windows下Ping命令,具体内容及要求如下

2、: 运行Windows环境下的Ping命令,了解Ping命令的功能; 设计并实现测试网络中一个主机连通性的程序,该程序输入为主机的域名 或IP地址,输出为连通性测试结果; 跟踪运行Java网络包。2 实验环境 操作系统 Windows xp 处理器 AMD Athlon(tm) x2 240 Processor 运行环境 Jcreator LE三程序源代码(核心部分)Ping.java代码如下: import .*;/java的网络包 import java.io.*;/java的io包 public class Ping /定义类Ping private int timeOut;/定义私有整

3、型变量timeout private Timer t;/声明一个Timer类的对象t,但未分配内存 public Ping(int timeOut)/构造方法 进行初始化 this.timeOut=timeOut;/内部调用timeout() t=new Timer();/给Timer创建一个新对象t public String pingRang(String from,String to) /确定ping地址的范围 int ipFrom=stringArToIntAr(from.split(.);/整形数组变量用来接收起始ip地址 int ipTo=stringArToIntAr(to.sp

4、lit(.);/接收终止的ip地址 String output=;/定义字符串型变量output用来接收结果,介于from和to之间的内容 ipTo3=ipTo3+1;/ipTo 数组里的地址的第四个元素加1 while(!matchIP(ipFrom,ipTo)/ output+=Pinging:+printIP(ipFrom);/ output变量用来接收printIP(ipFrom)的返回结果 output+=(+ping(printIP(ipFrom)+) Response Time:+responseTime()+n;/再接收ping(printIP(ipFrom)的结果 incre

5、aseIPrange(ipFrom,ipFrom.length-1);/调用increaseIPrange(),传入的参数为ipFrom起始地址、ipFrom数组长度-1,即为3 return output; private void increaseIPrange(int ipFrom,int curBit)/逐渐增加IP地址的范围,curBit表示ip地址的最后一位 ipFromcurBit+=1;/ipFrom3,即表示最后一位每次加1 if (ipFromcurBit255) /如果最后一位大于255 ipFromcurBit=0; /则重新置为0 if(curBit0) /如果大于0

6、 increaseIPrange(ipFrom,curBit-1);/则再次调用本方法,将增加位置改为ip地址的第三位 private boolean matchIP(int from,int to)/判断起始ip地址和终止ip地址是否在同一个网段中 for(int c=0;cfrom.length;c+) if(fromc!=toc) return false; return true; private String printIP(int ip)/将数组形式存放的ip地址转换成一般ip地址格式后打印出来 String ipVal=; for(int c=0;cip.length;c+)/循

7、环输出ip数组中的每个元素,同时加符号.,得到ip地址格式的字符串 ipVal+=ipc;/ipVal=ipVal+ipc if(cip.length-1) ipVal+=.;/输出IP地址的格式 return ipVal; private int stringArToIntAr(String ar)/实现字符串数组转换为整形数组输出 intresult=new int ar.length; for(int a=0;aar.length;a+) resulta=Integer.parseInt(ara); return result; public String ping (String ho

8、st)/获取主机地址名 try t.start();/通过t调用Timer类中的start()方法 InetAddress address=InetAddress.getByName(host);/给出主机的名称,决定主机的IP地址 String retVal=pingAddress(address); t.end(); return retVal; catch(UnknownHostException e)/UnknownHostException - 如果找不到 host 的 IP 地址 return指定主机没有找到; public String ping (byte host)/将给定的

9、ip地址创建成InetAddress 对象 try t.start(); InetAddress address=InetAddress.getByAddress(host);/给出原始的ip地址,返回一个InetAddress对象 String retVal=pingAddress(address);/调用pingAddress()方法,实现ping功能,并取得返回结果 t.end(); return retVal;/返回结果 catch(UnknownHostException e)/指示主机 IP 地址无法确定而抛出的异常。 return指定主机没有找到; private String

10、pingAddress(InetAddress address)/实现ping命令功能,返回字符串格式的原始 IP 地址。 try/可能会抛出异常 if(address.isReachable(timeOut)/调用isReachable()方法,如果测试可以达到address地址 return连接成功;/则返回连接成功 else return连接超时; catch(IOException e)/当发生某种 I/O 异常时,捕获此异常。 return不可达; public long responseTime()/响应时间的长度 return t.duration();/调用Timer类的dur

11、ation()方法计算响应时间。 public static void main(String args)/main主函数 Ping pt=new Ping(2000);/设置响应时间的最大时间 System.out.println(pt.pingRang(192.168.1.100,192.168.1.105);/需要测试的ip地址范围 /package cd.ch02;final class Timer/定义一个final类Timer private long start; private long end; public void start()/开始时间 reset();/调用rese

12、t()方法重置start和end System.gc();/然后运行垃圾回收,释放所占用内存 start=System.currentTimeMillis();/记录开始时间为currentTimeMillis当前时间 public void end()/结束时间 System.gc(); end=System.currentTimeMillis(); public long duration()/计算响应时间的方法 return(end-start); public void reset()/重置开始和结束时间 start=0; end=0;四视图如下:5 实验总结 通过这次实验,我掌握了J

13、ava网络编程中对应的相关基础知识,知道了ICMP协议以及跟踪运行Java网络包了解网络编程实现的细节问题,并了解了Ping命令的功能。我认识了ping作为一种通信命令,是IP协议的一部分,利用他可以检查网络是否能够连通,它也可以帮助我们分析网络故障。 肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆

14、蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇

15、蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅

16、蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅

17、薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆

18、薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄

19、蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄

20、芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃肅羆芅蚆羁肅莇袁袇肅蒀蚄螃肄蚂蒇膂肃莂螂肈肂蒄薅羄肁薆螀袀肀芆薃螆聿莈蝿肄腿蒁薂羀膈薃螇袆膇莃薀袂膆蒅袅螈膅薇蚈肇膄芇袄羃膃荿蚆衿芃蒁袂螅节薄蚅肃芁芃蒈罿芀蒆蚃羅艿薈薆袁芈芈螁螇芇莀薄肆芇蒂螀羂莆薅薂袈莅芄螈螄莄莇薁膃莃蕿螆肈莂蚁虿羄莁莁袄袀羈蒃蚇螆羇薅袃

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1