欢迎来到天天文库
浏览记录
ID:12330329
大小:653.50 KB
页数:22页
时间:2018-07-16
《多线程端口扫描器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、湖南商学院《面向对象程序设计》课程设计报告题 目多线程端口扫描器姓名:吴虎学号:070920109专业:计算机科学与技术班级:计科0703指导教师:杭志职称:讲师计算机与电子工程学院2009年6月课程设计评审表姓名吴虎学院计算机与电子信息工程学院学号070920109专业班级计科0703班题目多线程端口扫描器评审意见评审成绩指导教师签名职称评审时间年月日目录1设计任务与要求42系统功能描述42.1功能概述42.2本系统要实现的功能43系统总体设计53.1总体分析53.2界面设置构思图53.3界面使用设置构思53
2、.4后台设计构思64系统详细设计74.1界面设计74.2界面设计图74.3后台设计85实现与测试115.1运行要求与环境115.2运行程序流程图125.3运行界面136设计总结15参考文献16附件16多线程端口扫描器1设计任务与要求加深对《Java面向对象程序设计》课程所学知识的理解,进一步巩固Java语言的语法规则。分析系统的可行性,让系统有一个明确的方向,使开发更具合理性,并能分析出系统的具体流程,为后面的开发做好铺垫。明确本次课程设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于Java的应用系统综合实例,来掌握Java语言编程技巧。并学会编制结构清晰
3、、风格良好的Java语言程序,从而具备解决综合性实际问题的能力,学会使用Java编程工具,如EditPlus,Eclipse等。2系统功能描述2.1功能概述多线程端口扫描器是实现计算机的端口的扫描,只要在在前台设置好所要扫描的IP、起始端口、结束端口以及所要用到的线程数,点击扫描,就可以扫描到所输入IP地址主机的开放端口,并显示在主窗体中;点击退出,则可以退出该程序。IP设置应为所在主机的IP地址,起始端口和结束端口应为0~65535之间的一个数,且起始端口应小于结束端口的大小。线程数为0~200之间的一个数。点击开始后就会运行,直到扫描完毕显示出开放端口,如果没有开放端口,则只显示扫
4、描完毕。2.2本系统要实现的功能①端口扫描功能:扫描开放的端口,并将扫描到的开放端口号送到前台。②图像显示功能:显示界面图形。③多线程功能:当客户端要求与服务器端建立连接时,服务器端就将用到多线程功能,为每一个建立起来的连接创建一个线程。④异常抛出功能:对于明显的错误,能提示出错误的类型并结束程序的运行。3系统总体设计3.1总体分析本程序分为前后台系统,后台系统用于扫描主机开放端口,并把节扫描的数据送至前台窗口显示;前台要显示扫描的结果,所以应为一个窗口,这个窗口应能够设置主机的IP地址,设置端口的开始端口、结束端口和线程数,并且还能够显示扫描的状态。在中央是显示结果的窗体。本程序还应
5、能够有控制扫描的状态命令,附加设置最小化和关闭按钮。3.2界面设置构思图图1系统构思图3.3界面使用设置构思当出现如图所示的界面时,填写好要扫描的IP地址,需要扫描的端口范围和线程数,单击命令提示按钮就可以开始扫描,扫描结果就会显示在中间的扫描结果显示区域,在扫描状态显示区就会显示是否扫描完毕。流程图如下:界面出现填写IP地址或者用默认的IP设置扫描需要的线程数或者是用默认的线程数单击命令按钮开始扫描扫描结束,显示结果显示在结果显示区域是否继续退出结束否是图2系统构思流程图3.4后台设计构思后台系统使用Scanner和Scan类,创建前台布局和创建扫描端口、事件处理,并且能对简单的错误
6、进行判断,显示错误原因。调用数据处理包,处理异常情况;调用皮肤包,美化显示窗口。4系统详细设计4.1界面设计本程序界面图形设计要能清楚显示扫描后的结果,并且能很好的体现出界面的整洁大方,但并不失去吸引人眼球的画面,所以在做界面的时候考虑了界面的色彩,并且添加了皮肤,界面上面的字体设置和windows窗口设置一样采用宋体,界面上的按钮不设置过多的按钮,仅设置有必要的按钮即可,界面设置大方。使用的时候有默认的IP地址、需要扫描的端口和线程数,如果需要扫描其他主机,只需要填写好要扫描的主机的IP地址,需要扫描的端口范围和线程数,单击命令提示按钮就可以开始扫描,扫描结果就会显示在中间的扫描结果
7、显示区域,在扫描状态显示区就会显示是否扫描完毕。4.2界面设计图本程序采用小窗口形式,外围大小为170mm*90mm,字体采用宋体五号,结果显示区域框架大小为160mm*45mm,底色为粉红,结果显示字幕为主机地址加开放端口。添加个性皮肤。其余地方设置按钮和扫描的主机地址、端口和线程数。设计的预计页面图形如图:添加个性皮肤显示粉红底色图3系统界面设计图4.3后台设计本程序使用了为主要的Scanner类和Scan类。Scan类的作用是创建线程扫描
此文档下载收益归作者所有