论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

端口信息工具(论文+程序)

1.2.2开发工具

本软件采用MicrosoftVisual C++ 6.0进行开发,完成一个能够获得端口信息的探测工具。 内容来自www.paper51.com

1.2.3软件功能设计 内容来自论文无忧网 www.paper51.com

(1)ping: copyright paper51.com

输入目标主机ip,能够测试ping目标主机是否成功,判断目标主机是否开机。

http://www.paper51.com

(2)scan: copyright paper51.com

输入起止端口号,当ping测试成功后进行扫描,得到目标主机的端口信息。可以知道那些端口是开放的,哪些没有开放。

http://www.paper51.com

(3) 将结果信息输出到列表。 paper51.com

1.3端口信息探测工具的设计原则 内容来自www.paper51.com

(1)应用性: 内容来自论文无忧网 www.paper51.com

设计本软件,应首先考虑能满足使用者的功能要求和实际应用的需要。 http://www.paper51.com

(2)易操作性:   软件以一个简洁的界面,简单的几个按钮就能够实现测定目标主机和端口的扫描,以及信息列表等。方便与用户的操作。 copyright paper51.com

(3)可靠性和稳定性:  在系统设备、网络设计、软件设计等各个方面要充分考虑可靠性和稳定性。在设备方面,要保证软件、硬件的可靠性。必须考虑采用成熟的技术和产品。在设备和程序设计的各个方面都尽量减少故障的发生。

paper51.com

(4)整体性:                          

内容来自www.paper51.com

系统的整体性,涉及到方方面面,对于端口扫描这样的软件必须对这些因素统筹考虑,以构成一个有机的整体。

paper51.com

2理论基础  

http://www.paper51.com

2.1TCP:传输控制协议 内容来自论文无忧网 www.paper51.com

2.1.1TCP概述

paper51.com

传输控制协议 TCP 是 TCP/IP 协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与 IP 协议相结合, TCP 组成了因特网协议的核心。 paper51.com

由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 TCP 的“端口号”完成的。网络 IP 地址和端口号结合成为唯一的标识 , 我们称之为“套接字”或“端点”。 TCP 在端点间建立连接或虚拟电路进行可靠通信。 paper51.com

TCP 服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。

copyright paper51.com

TCP 通过面向连接的、端到端的可靠数据报发送来保证可靠性。 TCP 在字节上加上一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节。如果在规定时间内,没有收到关于这个包的确认响应,重新发送此包。 TCP 的可靠机制允许设备处理丢失、延时、重复及读错的包。超时机制允许设备监测丢失包并请求重发。

paper51.com

2.1.2 TCP首部 paper51.com

TCP向应用层提供一种面向连接的,可靠的字节流服务。每个TCP段都包含源端和目的端的端口号,用来寻找发端和收端的应用进程。这两个值加上IP首部中的源IP地址和目的端的IP地址唯一确定一个TCP连接。

http://www.paper51.com

数据被封装在一个IP数据报中,TCP首部的数据格式如图1, 内容来自www.paper51.com

内容来自www.paper51.com

                            图1  TCP首部 copyright paper51.com

2.1.3 TCP连接的建立

copyright paper51.com

TCP是面向连接的协议。运输连接是用来传送TCP报文的。TCP的运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此,TCP的数据传输过程就有三个阶段,即:连接建立、数据传送和连接释放。

paper51.com

  在这三个过程中,TCP首部的6位标志字段起到了非常重要的控制作用,下面就是他们的代表的意义(均是置1有效):

http://www.paper51.com

 URG:和紧急指针配合使用,发送紧急数据; copyright paper51.com

 ACK:确认号是否有效;

内容来自www.paper51.com

 PSH:指示发送方和接收方将数据不做缓存,立刻发送或接收; paper51.com

 RST:由于不可恢复的错误重置连接; http://www.paper51.com

 SYN:用于连接建立指示;

http://www.paper51.com

 FIN:用于连接释放指示。 copyright paper51.com

    在连接建立阶段,首先需要解决的问题便是建立连接的延迟重复问题。在复杂的网络拓扑环境下,重复分组有可能因为时延而被存储在子网中,并在很久以后突然出现。这就使出现重复连接成为可能。为解决这一点,TCP建立连接就采用了三次握手的方式。如图2:

copyright paper51.com

paper51.com

                          图2 连接建立 内容来自论文无忧网 www.paper51.com

在三次握手连接建立过程中,首先,客户端(图中主机A)要向服务器端(图中主机B)发送连接请求报文段,其首部的同步比特SYN应置为1,同时选择一个序号x,表明在后面传送数据时的第一个数据字节的序号是x。在图中一个从A到B的箭头上标有“SYN,SEQ=x”就是这个意思。服务器端在收到连接请求报文后,如同意,则发回确认。在确认报文段中应将SYN置为1,确认号应为x+1,同时也为自己选择一个序号y。最后,客户端在收到此报文后,还要向B发出确认,其确认号为y+1。

内容来自论文无忧网 www.paper51.com

2.1.4 TCP连接的终止

http://www.paper51.com

在数据发送完毕之后,就将进入连接释放阶段。与建立连接不同的是通信的双方都可以发出连接释放请求,并且不再发送数据(如图3)。假设主机A先向对方发出连接释放请求。这时主机A要做的便是向主机B发送首部终止比特FIN为1的报文,其序号x等于前面已传送过的数据的最后一个字节的序号加1。紧接着,主机B在收到此请求后要发出确认,其序号为x+1,同时通知高层应用进程。这样从A到B的连接就释放了,连接处于半关闭(half-close)状态,即主机A不能再向B发送数据,但主机B可以向A发送数据。之后,若主机B也完成数据发送过程,便也将进入连接释放阶段以释放那另一半连接。这时,主机B将向主机A发送连接释放请求报文,此报文的首部也将把FIN比特置1,并且序号为y等于前面已传送过的数据的最后一个字节加+1,另外 还必须重复上次已发送过的ACK=x+1。主机A必须对此发出确认,给出ACK=y+1。这样才能把从B到A的反向连接释放掉。同时,主机A也要向应用进程报告。至此,整个连接才全部释放掉。整个过程如图3: paper51.com

内容来自www.paper51.com

                          图3 连接终止 http://www.paper51.com

------分隔线----------------------------
联系方式