1.1端口信息探测的背景
信息技术的广泛应用,深刻的改变了人们的生活方式,推动着文明的的进步。随着信息化的普及和发展,互联网覆盖了社会政治,经济,文化,生产的各个领域,网络攻击充斥着大大小小的网络中。无论黑客和红客,应用各种网络攻击方式,对目标方进行,刺探,侦听,欺骗和侵入,已达到己方的目的。而在网络攻击之前,如何有效查知被攻击方的有用信息是必要的不可缺少的,所以端口扫描技术孕育而生。
1.2端口信息探测工具的设计要求
1.2.1研究内容
(1)TCP/IP协议,TCP连接的建立与终止的过程。
(2)WINDOWS网络编程,winsocket的使用。
(3)端口扫描原理,各种端口扫描方式。
(4)研究对一个端口信息探测工具的需求分析,模块划分,功能实现、开发步骤等,并能够对设计的过程进行总结、说明。
1.2.2开发工具
本软件采用Microsoft Visual C++ 6.0进行开发,完成一个能够获得端口信息的探测工具。
1.2.3软件功能设计
(1)ping:
输入目标主机ip,能够测试ping目标主机是否成功,判断目标主机是否开机。
(2)scan:
输入起止端口号,当ping测试成功后进行扫描,得到目标主机的端口信息。可以知道那些端口是开放的,哪些没有开放。
(3) 将结果信息输出到列表。
1.3端口信息探测工具的设计原则
(1)应用性:
设计本软件,应首先考虑能满足使用者的功能要求和实际应用的需要。
(2)易操作性:
软件以一个简洁的界面,简单的几个按钮就能够实现测定目标主机和端口的扫描,以及信息列表等。方便与用户的操作。
(3)可靠性和稳定性:
在系统设备、网络设计、软件设计等各个方面要充分考虑可靠性和稳定性。在设备方面,要保证软件、硬件的可靠性。必须考虑采用成熟的技术和产品。在设备和程序设计的各个方面都尽量减少故障的发生。
(4)整体性:
系统的整体性,涉及到方方面面,对于端口扫描这样的软件必须对这些因素统筹考虑,以构成一个有机的整体。
2理论基础
2.1TCP:传输控制协议
2.1.1TCP概述
传输控制协议 TCP 是 TCP/IP 协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与 IP 协议相结合, TCP 组成了因特网协议的核心。
由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 TCP 的“端口号”完成的。网络 IP 地址和端口号结合成为唯一的标识 , 我们称之为“套接字”或“端点”。 TCP 在端点间建立连接或虚拟电路进行可靠通信。
TCP 服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。
TCP 通过面向连接的、端到端的可靠数据报发送来保证可靠性。 TCP 在字节上加上一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节。如果在规定时间内,没有收到关于这个包的确认响应,重新发送此包。 TCP 的可靠机制允许设备处理丢失、延时、重复及读错的包。超时机制允许设备监测丢失包并请求重发。