计算机网络课程设计报告--端口扫描器.docx
《计算机网络课程设计报告--端口扫描器.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告--端口扫描器.docx(10页珍藏版)》请在第一文库网上搜索。
1、计算机网络课程设计报告题目:端口扫描器一、问题描述(把你所选的题目及要求说一下)我们做的题目是端口扫描器。实现一个扫描器,使用TCPconnect进行端口扫描,并对扫描结果进行记录。主要是为了加深对TCP/IP的理解,学习端口扫描技术和原理。端口扫描器包括IP扫描和端口扫描,IP扫描使用同一网段的IP地址,端口扫描是对特定主机的一个范围段内的端口进行扫描,两者使用相同的原理,均使用TCP三次握手对主机的端口进行侦听来进行判断。扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配。这就能让我们间接的或直观的了解到远程主机所存在的安
2、全问题。为了保证网络中计算机的安全性,必须采取主动策略,快速、及时、准确、安全的检测出网络中计算机及防火墙开放的和未开放的端口。计算机端口扫描技术就是这种主动防御策略实现的重要技术手段。而端口扫描器中的“端口”是专门为计算机通信而设计的,它并非硬件,不同于计算机中的“插槽”。“端口”是由计算机的通信协议TCP/IP协议定义的。其中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socketo具体来说,就是用IP:端口来定位一台主机中的进程。计算机就像一座大楼,这个大楼有好多入口(端口),进到不同的入口中就可以找到不同的公司(进程)。端口与进程是一一对应的,入侵者通过扫描
3、端口,便可以判断出目标计算机有哪些通信进程正在等待连接。要求是:使用端口扫描器对一台主机进行扫描,并显示出结果;对一个网段进行IP扫描,显示出结果。二、概要设计输出结果输出结果图1流程图三、详细设计(主要算法和函数间的调用关系)1、主要算法思想:利用系统提供的connect系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么ConneCt就会成功;否则,这个端口是不能够用的,即没有提供服务。端口侦听状态:就是端口处于开放状态,等待连接,但是没有被连接。扫描有很多种,包括TCPConneCt()扫描、TCPSYN扫描、TCPFIN扫描、IP段扫描、TCP反向iden
4、t扫描、FTP返回攻击等等。本设计采用TCPCOrmeCt()扫描。优点是稳定可靠,不需要特殊权限;缺点是扫描方式不隐蔽,服务器日志会记录大量密集的链接和错误记录,并容易被防火墙发现和屏蔽。2、实现原理:通过调用SoCket方法COnnneCt()连接到目标计算机上,完成一次完整的三次握手,如果端口处于侦听状态,那么该方法就返回成功;否则,该端口不可用,即没有提供服务。本设计采用JaVa编程语言实现,加深对计算机网络TCP连接的认知和掌握,同时增加对Java的认识使用。端口扫描:通过对界面提交数据的处理,调用端口扫描程序依次对特定主机的端口进行扫描,并将扫描结果呈现在界面中。IP扫描:通过对界
5、面提交数据的处理,调用IP扫描程序依次对该IP段的多个常用端口进行扫描,如果连接成功,代表IP正在使用,否则,IP停止使用。两者都是对端口进行扫描,是通过JaVa提供的套接字Socket的COnneCt()方法对端口进行连接,如果端口处于侦听状态,即连接成功,否则就连接失败。3、网络基础知识:TCP三次握手原理及过程:第一次握手:建立连接时,客户端发送Syn包(syn=j)到服务器,并进入SYN_SEND,等待服务器确认;第二次握手:服务器收到Syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态第三次
6、握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k1),此包发送完毕,客户端和服务器进入ESTAB11SHED状态,完成三次握手。Java网络套接字Socket:网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个SocketoSocket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。4、程序方法:Main类作为主类启动程序。PortScannerFrame类作为界面类和相应扫描处理类;其中的PortScannerFrame构造方法初始化程序界
7、面,并对界面相应组件添加事件监听;actionPerformed方法是对扫描数据进行监听,并对一些异常进行处理,并调用相应的处理方法。PortScanThread类是端口扫描的类,其中的方法StartScan是进行端口扫描处理的方法。IpScanThread类是IP扫描的类,其中的方法StartScan是IP扫描处理的方法。IPData类和PortData类是一JaVaBean对象,是对界面数据进行封装并在相应处理类中进行创建实例的对象。四、调试分析(调式过程中出现的问题及如何改正)1、问题:界面提交数据进行封装时,错误数据也可以提交解决:在触发监听后,对数据进行校验,并对错误数据进行提示取消
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课程设计 报告 端口 扫描器