基于多线程的端口程序课程设计报告
滁州学院
课程设计报告
设计题目 基于多线程的端口扫描程序
院 部: 计算机与信息工程学院专 业 网络工程组 别 第六组
起止日期 012年1 月31日2013年1月日
计算机与信息工程学院二○一二年制
基于多线程的端口程序课程设计报告课程设计任务书
基于多线程的端口程序课程设计报告
目录
1需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
. 1网络安全. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
。 2课程背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1 3扫描器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1。 4多线程扫描器介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 . 1布局管理器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
.4。 2多线程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 .4.3线程优先级. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1 .4 4线程同步. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1。 5端口扫描. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2概要设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2 1整体框架设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2。 流程图描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3详细设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3。 端口扫描线程启动. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
. UI图形界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
. 按钮监听及异常处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
4调试与操作说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
. 1运行界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
4。 2扫描结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
4 3错误提示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
5课程设计总结与体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
6参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
7致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
8附录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
基于多线程的端口程序课程设计报告
1需求分析
. 1网络安全
二十一世纪是信息化、网络化的世纪信息是社会发展的重要资源。信息安全保障能力是一个国家综合国力、经济竞争实力和生存能力的重要组成部分是世界各国在奋力攀登的制高点。网络安全是指网络系统的硬件、软件及其系统中的数据受到保护不因偶然的或者恶意的原因而遭到破坏、更改、泄露 系统连续可靠正常地运行。网络安全包括技术领域和非技术领域两大部分非技术领域包括一些制度、政策、管理、安全意识、实体安全等方面的内容技术领域包括隐患扫描、防火墙、入侵检测、访问控制、虚拟专用网、 CA认证、操作系统等方面的内容。这些技术的目标是保证信息的可控性、可用性、保密性、完整性、和不可抵赖性。端口扫描属于安全探测技术范畴对应于网络攻击技术中的网络信息收集技术。
。 2课程背景
随着 nte net的不断发展,信息技术已成为促进经济发展、社会进步的巨大推动力端口扫描技术是网络安全扫描技术一个重要的网络安全技术与防火墙、入侵检测系统互相配合能够有效提高网络的安全性。安全扫描是安全技术领域中重要的一类通过扫描能自动检测远端或本地主机系统信息包括主机的基本信息(如计算机名、域名、组名、操作系统型等)、服务信息、用户信息以及漏洞信息 它的重要性在于能够对网络进行安全评估及时发现安全隐患 防患于未然。
网络的安全状况取决于网络中最薄弱的环节任何疏忽都有可能引入不安全的因素最有效的方法是定期对网络系统进行安全分析,及时发现并修正存在的脆弱,保证系统安全
国外安全扫描技术的历史可以追溯到20世纪90年代 当时因特网刚刚起步,但是在过去的十年内 扫描技术飞速发展,迄今为止其扫描技术已经非常完善但是在全面性 隐蔽性和智能性上还有待提高。安全扫描从最初专门为UN X系统而编写的一些只有简单功能的小程序发展到现在,已经出现了可以运行多个操作系统平台上的具有复杂功能的系统程序。
国内的扫描技术是在国外的扫描器基础上发展起来的。其中有一些专门从事安全技术的公司。这些公司的扫描器以硬件为主其特点是执行速度快不像软件一样受到安装主机系统的限制。
然而对于更多的基于主机的端口扫描而言,简单 实用,可靠才是它们的长处。
1 3扫描器
扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种 CP端口的分配。这就能让我们间接的或直观的了解到远程主机所存在的安全问题。为了保证网络中计算机的安全性,必须采取主动策略,快速、及时、准确、安全的检测出网络中计算机及防火墙开放的和未开放的端口。计算机端口扫描技术就是这种主动防御策略实现的重要技术手段
扫描器采用模拟攻击的形式对目标可能存在的已知安全漏洞进行逐项检查。 目标可以是工作站、服务器、交换机、数据库应用等各种对象。然后根据扫描结果向系统管理员提供周密可靠的安全性分析报告 为提高网络安全
基于多线程的端口程序课程设计报告
整体水平产生重要依据。在网络安全体系的建设中,安全扫描工具花费低、效果好、见效快、与网络的运行相对对立、安装运行简单,可以大规模减少安全管理员的手工劳动有利于保持全网安全政策的统一和稳定。
1。 4多线程扫描器介绍
1. 1布局管理器
在 ava中组件放置在窗体上的方式是完全基于代码的。组件放置在窗体上的方式通常不是通过绝对坐标控制,而是由“布局管理器”根据组件加入的顺序决定其位置。每个容器都有一个属于的自己布局管理器。使用不同的布局管理器组件大小,位置和形状将大不相同。表格型布局管理器将容器划分成为一个多行多列的表格表格的大小全部相同是由其中最大的组件所决定。通过add方法可以将组件一一放在每个表格中。表格包型布局与表格型布局有些相近,但与表格型布局比较起来表格包型更加灵活更加复杂。通常表格包型布局,我们可以设定每个格子的大小 间隙等
.4。 2多线程
每个正在系统上运行的程序都是一个进程每个进程包含一到多个线程进程也可能是整个程序或者是部分程序的动态执行线程是一组指令的集合或者是程序的特殊段,它可以在程序里独立执行也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程 它负责在单个程序里执行多任务通常由操作系统负责多个线程的调度和执行。
线程是程序中一个单一的顺序控制流程在单个程序中同时运行多个线程完成不同的工作称为多线程
线程和进程的区别在于 子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文多线程主要是为了节约C U时间发挥利用,根据具体情况而定。 线程的运行中需要使用计算机的内存资源和CPU
在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停下手头的工作,改为处理其他一些问题,再返回主进程。可以通过多种途径达到这个目的。最开始的时候那些掌握机器低级语言的程序员编写一些“中断服务例程”,主进程的暂停是通过硬件级的中断实现的。尽管这是一种有用的方法但编出的程序很难移植 由此造成了另一类的代价高昂问题中断对那些实时性很强的任务来说是很有必要的但对于其他许多问题只要求将问题划分进入独立运行的程序片断中,使整个程序能更迅速地响应用户的请求。
最开始线程只是用于分配单个处理器的处理时间的一种工具但假如操作系统本身支持多个处理器,那么每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。从程序设计语言的角度看 多线程操作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器程序在逻辑意义上被分割为数个线程假如机器本身安装了多个处理器那么程序会运行得更快,毋需作出任何特殊的调校。根据前面的论述大家可能感觉线程处理非常简单但必须注意一个问题:共享资源如果有多个线程同时运行而且它们试图访问相同的资源就会遇到一个问题。举个例子来说 两个线程不能将信息同时发送给一台打印机。为解决这个问题对那些可共享的资源来说比如打印机 ,它们在使用期间必须进入锁定状态。所以一个线程可将资源锁定在完成了它的任务后再解开(释放这个锁使其他线程可以接着使用同样的
基于多线程的端口程序课程设计报告
资源。
多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的
1.4.3线程优先级
线程优先级被线程调度用来判定何时哪个线程允许运行。理论上优先级高的线程比优先级低的线程获得更多的CP时间实际上线程获得的C U时间通常由包括优先级在内的多个因素决定(例如一个实行多任务处理的操作系统如何更有效的利用CPU时间 。一个优先级高的线程自然比优先级低的线程优先。举例来说,当低优先级线程正在运行,而一个高优先级的线程被恢复(例如从沉睡中或等待I O中 ,它将抢占低优先级线程所使用的CPU。
理论上等优先级线程有同等的权利使用C U。但你必须小心了。记住, Java是被设计成能在很多环境下工作的一些环境下实现多任务处理从本质上与其他环境不同为安全起见,等优先级线程偶尔也受控制。这保证了所有线程在无优先级的操作系统下都有机会运行实际上,在无优先级的环境下,多数线程仍然有机会运行 因为很多线程不可避免的会遭遇阻塞,例如等待输入输出遇到这种情形 阻塞的线程挂起其他线程运行但是如果你希望多线程执行的顺利的话,最好不要采用这种方法同样有些类型的任务是占 P的。对于这些支配 PU类型的线程有时你希望能够支配它们 以便使其他线程可以运行
基于多线程的端口程序课程设计报告
2。 流程图描述
基于多线程的端口程序课程设计报告
3详细设计
3。 端口扫描线程启动
扫描程序主要运用Scket编程对于一个工作齐全的S et其工作过程包含以下四个就基本步骤创建通信双方的s ke 链接 即分别为服务器和客户端创建 cket对象建立Socket连接;打开连接到Soc t的输入流和输出流按照一定的协议对So ket进行读/写操作关闭连接。
以下是程序代码
/运行扫描端口publ ic v idrun )
nt i ;
ocket theTC ocke ;
fo (iI Np r +thread m 〈MAXport; i+ t ger。 parseInt(ThreadSca max ead get xt() )
T readS an statu 。 se Text "扫描状态:正在扫描"+ +" 端口
t ry
{t eTC socket= ew Scket(h tAddres );
h TPsocke close
ThreadSc n。 Result ap e ” +i)
swit h(i)
基于多线程的端口程序课程设计报告
cas 2
Thr adS an Resultap end(" FTP)”)
br ;
case 3
ThreadSca Re ultappe (" TELNET)
e k
case 25:
Thre d can Res ltappend ” SMTP)" bre
c se 80:
Thre dScan。 R sul p d(”(HTTP ”)
rea ;
c se 110
hre d ca 。 Resu pe " POP ")
br ak;
case 39:
Thr a Sc Result。 appe d ” netB OS ”
break
}
Thr a S an。 R sul ap end("
c t (IOEx ept o e }
i i=AXp o rt
Th ea Sc n。 Result。 appen ( \n +”扫描完成。 ” ;
Thr adScan s a us s tText(”扫描状态:完成 " ;
. UI图形界面
图形用户界面是软件产品和用户交互的接口,是软件产品中用户直接可以看到并直接操作的部分publ c ss T rea S an
pu l ic sta icJFrame m in=n wJF ame("基于JAVA的多线程TCP端口扫描程序” ;
ub ic tatic J extrea Resu t=new JTex Are ("
4 4 )
bl c st tic J e t eld hostnaen wJ xtField ”loca ho ",8 ;
p bl ic static JTextF el m Port ew JTe t i
””,4
无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,自营有国内雅安高防、洛阳BGP企业线路、香港CN2线路、国外服务器产品等,非常适合需要稳定的线路的用户,如游戏、企业建站业务需求和各种负载较高的项目,同时还有自营的高性能、高配置的BGP线路高防物理...
hostkvm在2021年3月新上线洛杉矶新VPS业务,强制三网接入中国联通优化线路,是当前中美之间性价比最高、最火热的线路之一,性价比高、速度非常好,接近联通AS9929和电信AS4809的效果,带宽充裕,晚高峰也不爆炸。 官方网站:https://hostkvm.com 全场优惠码:2021(全场通用八折,终身码,长期) 美国 US-Plan0【三网联通优化线路】 内存:1G CPU:...
木木云怎么样?木木云品牌成立于18年,此为贵州木木云科技有限公司旗下新运营高端的服务器的平台,目前已上线美国中部大盘鸡,母鸡采用E5-267X系列,硬盘全部组成阵列。目前,木木云美国vps进行了优惠促销,1核1G/500M带宽/1T硬盘/4T流量,仅35元/月。点击进入:木木云官方网站地址木木云优惠码:提供了一个您专用的优惠码: yuntue目前我们有如下产品套餐:DV型 1H 1G 500M带宽...