计算机网络课程设计--简单的端口扫描器.docx
《计算机网络课程设计--简单的端口扫描器.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计--简单的端口扫描器.docx(13页珍藏版)》请在第一文库网上搜索。
1、课程设计报告20142015学年第一学期课程名称计算机网络设计题目简单的端口扫描器目录一 .设计目的3二 .设计要求3三 .端口扫描器的研究33.1 TCP协议介绍33.2 UDP协议介绍33.3 SOCKET介绍43.4 常见端口介绍53.5 端口扫描器的功能简介53.6 常用端口扫描技术6四 .设计实现71 .设计环境72 .程序流程图83 .主要算法104 .主要数据结构及主要函数说明11五 .运行结果121 .扫描本地主机端口122 .扫描外部主机端口13六 .参考资料131 .理解客户机-服务器与端口扫描的工作原理,实现对目标主机端口扫描的功能,即发现目标主机开启的端口信息。2 .加
2、深对TCP/IP的理解,熟悉SOCket编程。二.设计要求1 .WindOWS环境下,程序在单机上运行;2 .使用端口扫描对一台主机进行扫描,并显示出结果;对一个网段进行IP扫描,显示出结果;3 .提供友好的用户界面。三.端口扫描器的研究3.1 TCP协议介绍提到端口扫描技术就不可不提及TCP协议了,作为互联网的核心协议,TCP协议的重要性是人人皆知,端口扫描主要是建立在TCP协议基础上的一门技术。TCP协议是一种面向连接的,可靠的传输协议。一次正常的TCP传输需要通过在客户和服务器之间建立特定的虚电路连接来完成,这个过程通常被称为“三次握手”。TCP通过数据分段中的序列号保证所有的传输数据可
3、以在远端按照正常的次序重组,而通过确认保证数据传输的完整性。三次握手过程:1 .客户端发送一个TCP包(SYN请求)给服务端,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端口号和客户端的ISNo2 .服务器端发回应答,包含自己的SYN信息ISN和对客户端的SYN应答,应答时返回下一个希望得到的字节序号。3 .客户端从对S服务器端来的SYN进行应答,数据发行开始。3.2 UDP协议介绍UDP,用户数据报协议。UDP为应用程序提供了一种方法来发送经过封装的IP数据报,而且不必建立连接就可以发送这些IP数据报。3.3 UDP传输的数据段是由8个字节的头和净荷域构成的。两个
4、端口分别被用来标示出源机器和目标机器内部的端点。当一个UDP分组到来的时候,它的净荷部分被递交给与目标端口相关联的那个进程。当目标端口必须将一个应答送会给源端口的时候,源端口是必须的O发送应答的进程只要将进来的数据段中的源端口域复制到输出的数据段中的目标端口域,就可以指定在发送机器上有哪个进程来接受应答。UDP的长度包含了8字节的头和数据部分。UDP校验和是可选的,如果不计算的话,则在该域中存放0.如果真正计算结果试的话,则该域中存放的全是1,除非数据的质量并不重要,否则就不应该将校验和的功能关闭。另外值得明确提出来的是UDP没有做到的一些事情。UDP并不考虑流控制,在收到一个坏的数据段之后它
5、也不重传。所有这些工作都留给用户的进程。UDP所做的事情是提供一个接口,并且在接口中增加解复用的特性。它利用端口的概念将数据段解复用到多个进程中,这就是他所做的全部工作。3.4 SOCKET介绍所谓SOCket通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。SOCket接口是TCP/IP网络的API,SoCket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解SoCket接口。SOCket接口设计者最先是将接口放在UniX操作系统里面的。如果了
6、解UniX系统的输入和输出的话,就很容易了解SoCket了。网络的SOCket数据传输是一种特殊的I/。,SoCket也是一种文件描述符。SoCket也具有一个类似于打开文件的函数调用SOCket(),该函数返回一个整型的SoCket描述符,随后的连接建立、数据传输等操作都是通过该SoCket实现的。常用的SoCket类型有两种:流式SOCket(SOCK_STREAM)和数据报式SOCket(SoCK_DGRAM)。流式是一种面向连接的SOCket,针对于面向连接的TCP服务应用;数据报式SOCket是一种无连接的SoCket,对应于无连接的UDP服务应用。最重要的是,socket是面向客户
7、/服务器模型而设计的,针对客户和服务器程序提供不同的SOCket系统调用。客户随机巾请一个SoCket(相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个SOCket号;服务器拥有全局公认的SOCket,任何客户都可以向它发出连接请求和信息请求(相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码)。socket利用客户/服务器模式巧妙地解决了进程之间建立通信连接的问题。服务器SOCket半相关为全局所公认非常重要。不妨考虑一下,两个完全随机的用户进程之间如何建立通信?假如通信双方没有任何一方的SOCket固定,就好比打电话的双方彼此不知道对方的电话号码,要通话是不可能的
8、。3.5 常见端口介绍端口:21服务:FTP说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马DO1yTrojan、ForeInvisib1eFTPWebExWineraSh和BIadeRUnner所开放的端口。端口:23服务:Te1net说明:远程登录,入侵者在搜索远程登录UN1X的服务。大多数情况下扫描这一端口是为了找到机器运行的*作系统。还有使用其他技术,入侵者也会找到密码。木马TinyTe1netSerVer就开放这个端口端口:25服务:SMTP说明:SMTP服务器所开放的端口,用于发送邮件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课程设计 简单 端口 扫描器