下载此文档

端口扫描实验报告.doc


文档分类:高等教育 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
综合实验报告(2010 --2011 年度第二学期) 名称: 网络综合实验题目: 端口扫描程序院系: 计算机系班级: 学号: 学生姓名: 指导教师: 设计周数: 2周成绩: 日期: 2011 年6月 10日 1 一、综合实验的目的与要求 1. 任务: 设计并实现一个端口扫描程序, 检测某个 IP 或某段 IP 的计算机的端口工作情况。 2. 目的: 加深对课堂讲授知识的理解, 熟练掌握基本的网络编程技术和方法, 建立网络编程整体概念,使得学生初步具有研究、设计、编制和调试网络程序的能力。 3. 要求: 熟悉有关定义、概念和实现算法, 设计出程序流程框图和数据结构, 编写出完整的源程序, 基本功能完善,方便易用,操作无误。 4. 学生要求人数: 1 人。二、综合实验正文 1 .端口扫描器功能简介:服务器上所开放的端口就是潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息,进行端口扫描的方法很多, 可以是手工进行扫描、也可以用端口扫描软件进行。扫描器通过选用远程 TCP/IP 不同的端口的服务, 并记录目标给予的回答, 通过这种方法可以搜集到很多关于目标主机的各种有用的信息,例如远程系统是否支持匿名登陆、是否存在可写的 FTP 目录、是否开放 TELNE T 服务和 HTTPD 服务等。 2. 实验所用的端口扫描技术: 端口扫描技术有 TCP connect() 扫描、 TCP SYN 扫描、 TCP FIN 扫描、 IP 段扫描等等。本次实验所用的技术是 TCP connect() 扫描,这是最基本的 TC P 扫描, 操作系统提供的 connect() 系统调用可以用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么 connect() 就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是, 你不需要任何权限。系统中的任何用户都有权利使用这个调用。 3 .实验具体实现方案:编写一个端口扫描程序,能够显示某个 IP 或某段 IP 的计算机的某一个或某些端口是否正在工作。基本工作过程如下: (1) 设定好一定的端口扫描范围; (2) 设定每个端口扫描的次数,因为有可能有的端口一次扫描可能不通; (3) 创建 socket ,通过 socket 的 connect 方法来连接远程 IP 地址以及对应的端口; (4) 如果返回 false ,表示端口没有开放,否则端口开放。 4 .有关 TCP/IP 的知识: 套接字概念 1) 在网络中要全局地标识一个参与通信的进程,需要采用三元组:协议、主机 IP 地址、端口号。 2 2 )要描述两个应用进程之间的端到端的通信关联则需要一个五元组:协议、信源机 IP 地址、信源应用进程端口、信宿机 IP 地址、信宿应用进程端口。 3) 套接字可以理解为通信连接的一端, 其主要包括协议、主机 IP 地址和端口号。 4) 将两个套接字连接到一起便可以在不同应用进程之间传递数据 5) 套接字实现了对网络和传输层协议的封装, 为应用进程之间的通信连接的建立、数据传输等通信过程提供了编程界面。 套接字编程的具体地位 面向连接的客户机/ 服务器程序工作模型: 3 本次实验所用到的知识仅仅是上图所示的一部分,先是建立 socket ,然后 connect 连接。 5 .试验流程图: 6 .本实验用所用到的 MFC 有关内容: CSocket 是 CAsyncSocket 类的派生类,除了继承了父类中一些常用、易懂的 Windows Sockets API 函数外, 还对 CAsyncSocket 底层中较难控制的一些函数进行了处理, 提供了对比 AsyncSocke t 类抽象化级别更高套接字的支持。 CSocke t是用 MF C 序列化协议的一种版本, 通过 MFC 中的 CArchive 对象将数据传递给套接字对象, 或者从套接字对象接收数据, 使得套接字上的数据输入输出就如同使用 MFC 的文档一样简捷易用,即 CArchive 管理着原来必须由用户自己使用原始 API 或 CAsyncSocket 类来管理通信的许多工作, 进而方便了用户的使用,较好地解决了 CAs y n c S o c k e t 应用中较难克服的多线程处理问题。 CSocket 实现了阻塞操作,其对象在调用 Connect 。 CSocket 主要成员函数: Create 函数格式: BOOL Create (UINT nSocketPort = 0, // 端口号 int nSocketType = SOCK_STREAM, // 套接字类型 LPCTSTR lpszSocketAddress = NULL //IP 地址);

端口扫描实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人独角戏
  • 文件大小426 KB
  • 时间2017-01-23