- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告
( 2014-- 2015年度第2学期)
名 称: 网络综合实验
题 目: 端口扫描程序设计与实现
院 系: 计算机系
级: 网络
学 号:
学生姓名:
指导教师:李丽芬
设计周数: 2周
成 绩:
日期:2015 年 7 月 5 日网络综合实验
任 务 书
一、实验名称:端口扫描程序设计与实现
二、目的与要求
任务:设计并实现一个端口扫描程序,检测某个IP或某段IP的计算机的端口工作情况。
目的:加深对课堂讲授知识的理解,熟练掌握基本的网络编程技术和方法,建立网络编程整体概念,使得学生初步具有研究、设计、编制和调试网络程序的能力。
要求:熟悉有关定义、概念和实现算法,设计出程序流程框图和数据结构,编写出完整的源程序,基本功能完善,方便易用,操作无误。
学生人数:1人。
三、主要内容
编写一个端口扫描程序,能够显示某个IP或某段IP的计算机的某一个或某些端口是否正在工作。(1) 设定好一定的端口扫描范围,并设定每个端口扫描的次数,因为有可能有的端口一次扫描可能不通;(3) 创建socket,通过socket的connect方法来连接远程IP地址以及对应的端口;(4) 如果返回false,表示端口没有开放,否则端口开放。
四、进度计划
序号 设计内容 完成时间 备注 1 任务布置及资料收集 第1周周一、周二 2 软件方案设计与制定 第1周周三至周四 3 编程实现 第1周周周五至第2周周二 4 程序测试与修改,撰写报告 第2周周三至周五上午 5 软件验收,报告提交 周五下午 五、设计成果要求
完成规定的实验任务,保质保量;
完成综合实验报告,要求格式规范,内容具体而翔实,应体现自身所做的工作,注重对实验思路的归纳和对问题解决过程的总结。
六、 考核方式
平时成绩isConnected() 函数判断连接是否建立成功若连接建立成功说明该端口开放
4、实验结果
三、实验总结
本实验通过建立tcp连接来扫描远程主机端口是否开放,使我们更加深入地理解了TCP/IP协议的原理,加深对课堂讲授知识的理解,熟练掌握基本的网络编程技术和方法,建立网络编程整体概念。这次实验也锻炼了我java的编程能力,掌握了socket编程的各种函数和方法。
实验中也出现了一些问题,比如扫描远程主机端口的速度要比扫描本主机端口速度慢很多,解决方法是关闭远程主机的防火墙。感谢老师的指导!
源代码:
package 端口扫描;
import java.net.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]; ip[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.
文档评论(0)