《2022年2022年互联网程序设计实验六 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年互联网程序设计实验六 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验报告 (六) 课程名称 :互联网程序设计年级:实验日期 :姓名:学号:班级:实验名称 :实验六 TCP文件传输 / 端口扫描器( 2 学时)教师评语(成绩):一、实验目的及要求(1)理解掌握 SwingWorker 类的用法。(2)理解掌握端口扫描的编程方法。(3)学习 Swing 界面设计技术二、实验环境多媒体计算机Windows7 操作系统JDK 8 Netbeans IDE8.2 (开发语言Java)三、实验内容重温本章完成的基于TCP 协议的客户机 /服务器文件传输项目 ,综合运用Swing 界面设计 .SwingWorker 类和端口连接测试技术, 实现网络端口的扫描检测功能。图
2、 6.13给出针对 ww.163. com的 8090端口所做的扫描测试实例,扫描结果显示, 80、81、88 三个端口可达,其余不可达。四、实验步骤(或记录)及相关代码主要代码:protected List doInBackground() throws Exception long connectStart; long connectFinish=0; IOException exception=null; this.setProgress(progress); int lastIP=0; String beforeIP=; String currentIP; if (!single) l
3、astIP=Integer.parseInt(remoteIP.substring(remoteIP.lastIndexOf(.)+1); beforeIP=remoteIP.substring(0,remoteIP.lastIndexOf(.)+1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - for (int i=0;icount;i+) / 遍历每一个 IP if (!single) currentIP=before
4、IP+Integer.toString(lastIP+i); else currentIP=remoteIP; for (int port=minPort;port=maxPort;port+) / 遍历每一个 port target=new Target(); target.setRemoteIP(currentIP); target.setRemotePort(port); target.setTimeUsed(0); target.setConnected(false); target.setConnectType(0); target.setException(null); /作连接测
5、试Socket clientSocket=new Socket(); SocketAddress remoteAddr=new InetSocketAddress(InetAddress.getByName(currentIP),port); connectStart=System.currentTimeMillis(); try clientSocket.connect(remoteAddr,400);/ 连接目标,超时设为 400ms catch (IOException ex) exception=ex; connectFinish=System.currentTimeMillis();
6、 target.setTimeUsed(connectFinish-connectStart); if (clientSocket.isConnected() & !clientSocket.isClosed() / 连接成功target.setConnected(true); target.setConnectType(port); clientSocket.close(); else if (exception!=null) target.setException(exception); exception=null; /end if targetList.add(target); pub
7、lish(target); progress+; setProgress(progress*100/totalTask); /end for port /end for i return null; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 结果截图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 五、总结对上机实践结果进行分析,问题回答,上机的心得体会及改进意见。本次实验基于 TCP 协议的客户机 /服务器文件传输项目来实现,掌握了SwingWorker 类中 doInBackground、process 、done等方法的用法, 理解掌握端口扫描的编程方法,而且初步了解到了Swing 界面设计技术。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -