1、第 1 页 共 21 页 TCP/IP TCP/IP 原理与应用原理与应用课程设计课程设计 第 2 页 共 21 页 摘要:摘要:计算机信息网络的发展加速了信息化时代的进程,但是随着社会网络化程 度的增加,对计算机网络的依赖也越来越大,网络安全问题也日益明显。端口扫 描技术是发现安全问题的重要手段之一。 本程序是在Windows系统中使用C语言用MFC完成的一个存活主机和端口扫 描程序。存活主机使用的 ICMP 协议,端口扫描使用了 TCP connect()扫描。能 找出一定 IP 段存在的主机,能扫描主机特定的部分端口号或对指定的端口段内 的端口进行逐个扫描。 关键词:关键词:存活主机 i
2、p 地址 端口扫描 第 3 页 共 21 页 一、设计题目. 4 1、任务 4 2、要求 4 二、需求分析. 4 三、概要设计. 4 1、设计思想 . 4 2、功能模块 . 4 3、程序执行模块 5 四、详细设计. 6 1、界面的设计 6 2、存活主机扫描 8 3、端口扫描 . 12 五、调试分析. 18 1、扫描单一 ip 地址(以本地计算机为例) . 18 2、扫描本地计算机所在网段内其他主机情况 18 3、扫描本机的端口 . 19 4、扫描主机若干个端口 19 5、保存扫描结果 20 六、心得体会. 21 第 4 页 共 21 页 一、设计题目一、设计题目 基于全连接的网络主机端口扫描系
3、统设计与实现* 1、任务 基于全连接的 TCP 协议,设计、实现并测试扫描远程主机端口开放情况的应用软 件。 2、要求 采用多线程、DLL 技术对指定的单个 IP 或 IP 段(连续或不连续)内存活主机的 开放端口进行扫描 扫描结果用树型方法显示, 并将主机及其开放的端口信息保存在自己指定的文本 文件中 界面要美观、大方 二、需求分析二、需求分析 1、对单个 IP 地址,对一个 IP 对进行扫描,查看存活主机。 2、对 IP 地址进行扫描,查看端口号是否打开。 3、向 IP 地址发送 ICMP 包,根据返回的情况判断是否存在主机。 三、概要设计三、概要设计 1、设计思想 扫描 IP 就是查看存
4、活主机,向所要发送的 IP 地址发送 ICMP 包,如果有返 回的数据就说明该主机存在,否则不存在。当扫描 IP 地址段的时候,向下一个 IP 地址发送 ICMP 包即可,依次类推就可以的得到一棵树,来显示存活主机。 扫描整个系统的所有端口,找到自己需要了解的端口的扫描结果。用户在等 待扫描的时候,往往希望知道它的工作进度。这样用户可以更好地控制自己的操 作。站在用户的角度思考,设置进度是程序需要完成的,这样就能知道程序扫描 的进度。 系统必须提供的服务是功能需求的基本,本着站在用户角度思考的原则,做 出如上叙述需求,从简列举如下: IP 扫描功能; 地址选择功能; 端口选择功能; 进度显示功能; 2、功能模块 第 5 页 共 21 页 3、程序执行模块 扫描系统 存活主机扫描 端口扫描 单 一 地 址 扫 描 结 果 地 址 段 扫 描 状 态 单 一 端 口 扫 描 状 态 多 端 口 扫 描 结 果 第 6 页 共 21 页 四、四、详细设计详细设计 1、界面的设计 主题界面使用两个界面叠加而成, 即存活主机扫描和端口扫描, 具体如下图所示: 第 7 页 共