收藏 分销(赏)

端口扫描程序设计和实现.doc

上传人:二*** 文档编号:4745695 上传时间:2024-10-11 格式:DOC 页数:8 大小:62.04KB
下载 相关 举报
端口扫描程序设计和实现.doc_第1页
第1页 / 共8页
本文档共8页,全文阅读请下载到手机保存,查看更方便
资源描述
课程设计汇报 ( -- 第2学期) 名 称: 网络综合试验 题 目: 端口扫描程序设计和实现 院 系: 计算机系 班 级: 网络1202 学 号: 学生姓名: 指导老师:李丽芬 曹锦刚 刘晓峰 设计周数: 2周 成 绩: 日期: 年 7 月 5 日 网络综合试验 任 务 书 一、试验名称:端口扫描程序设计和实现 二、目标和要求 1. 任务:设计并实现一个端口扫描程序,检测某个IP或某段IP计算机端口工作情况。 2. 目标:加深对课堂讲授知识了解,熟练掌握基础网络编程技术和方法,建立网络编程整体概念,使得学生初步含有研究、设计、编制和调试网络程序能力。 3. 要求:熟悉相关定义、概念和实现算法,设计出程序步骤框图和数据结构,编写出完整源程序,基础功效完善,方便易用,操作无误。 4. 学生人数:1人。 三、关键内容 1. 编写一个端口扫描程序,能够显示某个IP或某段IP计算机某一个或一些端口是否正在工作。(1) 设定好一定端口扫描范围,并设定每个端口扫描次数,因为有可能有端口一次扫描可能不通;(3) 创建socket,经过socketconnect方法来连接远程IP地址和对应端口;(4) 假如返回false,表示端口没有开放,不然端口开放。 四、进度计划 序号 设计内容 完成时间 备注 1 任务部署及资料搜集 第1周周一、周二 2 软件方案设计和制订 第1周周三至周四 3 编程实现 第1周周周五至第2周周二 4 程序测试和修改,撰写汇报 第2周周三至周五早晨 5 软件验收,汇报提交 周五下午 五、设计结果要求 1. 完成要求试验任务,保质保量; 2. 完成综合试验汇报,要求格式规范,内容具体而翔实,应表现本身所做工作,重视对试验思绪归纳和对问题处理过程总结。 六、 考评方法 1. 平时成绩+验收答辩+试验汇报; 2. 五级分制。 学生姓名:韦笑 指导老师:李丽芬 曹锦刚 刘晓峰 年7 月 5 日 一、综合试验目标和要求 1.目标:加深对《计算机网络体系结构》课程知识了解,熟练掌握基础网络编程技术和方法,建立网络编程整体概念,加深对JAVA编程语言使用,促进编程能力提升,同时为网络编程打下一个比很好基础。同时对试验过程要有完全了解。 2. 要求:熟悉相关定义、概念和实现算法,设计出程序步骤框图和数据结构,编写出完整源程序,基础功效完善,方便易用,操作无误。 二、综合试验正文 1、关键方法 TCP是Tranfer Control Protocol 简称,是一个面向连接确保可靠传输协议。发送方和接收方成正确两个socket之间必需建 立连接,方便在TCP协议基础上进行通信,当一个socket(通常全部是server socket)等候建立连接时,另一个socket能够要求进行连接,一旦这两个socket连接起来,它们就能够进行双向数据传输,双方全部能够进行发送 或接收操作。 本试验在一台主机创建socket,和远程主机某一个端口建立TCP连接,经过java中isConnected() 函数判定连接是否建立成功,若连接建立成功,说明该端口开放;不然不开放。 2、试验步骤图 3、试验优化 使用socket创建tcp连接时,若连接建立不成功,则程序抛出异常,但会有一定时延。为了加紧扫描速度,程序使用了多线程技术,每个线程扫描10个端口,并发实施全部线程。这么就大大加紧了扫描速度。 4、试验结果 三、试验总结 本试验经过建立tcp连接来扫描远程主机端口是否开放,使我们愈加深入地了解了TCP/IP协议原理,加深对课堂讲授知识了解,熟练掌握基础网络编程技术和方法,建立网络编程整体概念。这次试验也锻炼了我java编程能力,掌握了socket编程多种函数和方法。 试验中也出现了部分问题,比如扫描远程主机端口速度要比扫描本主机端口速度慢很多,处理方法是关闭远程主机防火墙。感谢老师指导! 源代码: package 端口扫描; import .Socket; import java.util.concurrent.CountDownLatch; public class test extends Thread{ private int[] p; Socket ss = null; CountDownLatch latch; private String ipAddress; private int port; public test(int[] p,CountDownLatch latch,int port,String ipAddress) { this.p = p; this.latch=latch; this.ipAddress=ipAddress; this.port=port; } public void run() { //System.err.println("开启线程"); for(int i=p[0]; i<p[1]&&i<=port;i++){ try { //System.out.println(i); ss = new Socket(ipAddress,i); if(ss.isConnected()){System.err.println("端口 " + i+"空闲");} ss.close(); } catch (Exception e) {System.out.println("端口 " + i+"占用");} } latch.countDown(); //System.out.println(latch.getCount()); } } package 端口扫描; import java.util.Scanner; import java.util.concurrent.CountDownLatch; public class test2 { public static void main(String[] args) throws InterruptedException { CountDownLatch latch = null; String ip; String ipAddress1; String ipAddress2; String ipAddress3; String ipAddress41; String ipAddress42; System.out.print("输入起始ip地址:"); Scanner s=new Scanner(System.in); ip=s.next(); String[] strs = ip.split("\\."); ipAddress1= strs[0]; ipAddress2 = strs[1]; ipAddress3 = strs[2]; ipAddress41 = strs[3]; System.out.print("输入终止ip地址:"+ipAddress1+"."+ipAddress2+"."+ipAddress3+"."); ipAddress42=s.next(); int start=Integer.parseInt(ipAddress41); int end=Integer.parseInt(ipAddress42); System.out.print("输入起始端口:"); double startport=s.nextInt(); System.out.print("输入终止端口:"); double endport=s.nextInt(); s.close(); int th=(int) Math.ceil((endport-startport+1)/10); System.out.println("开启"+th+"线程"); for(int num=start;num<=end;num++){ latch=new CountDownLatch(th); String ipAddress = ipAddress1+"."+ipAddress2+"."+ipAddress3+"."+num; System.out.println(ipAddress+"--------------------"); for(int i=(int)startport;i<=(int)endport;i=i+10){ new test(new int[]{i,i+10},latch,(int)endport,ipAddress).start(); } latch.await(); } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服