基于WinPcap的网络嗅探器设计.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于WinPcap的网络嗅探器设计

结课论文 题目名称:端口扫描程序的设计和实现 院系名称:计算机学院 班 级:网络124 学 号:201200824426 学生姓名:张继杰 授课教师:孙飞显 2014 年 12月15 目录 1 引言 3 1.1 课题的背景及意义 3 1.2 端口扫描现状 3 2 系统设计 3 2.1 系统主要目标 3 2.2 开发环境及工具 4 2.3 功能模块与系统结构 4 3 系统功能程序设计 5 3.1、TCP端口扫描的工作原理: 5 3.2 TCP端口扫描的关键问题: 5 3.3TCP端口扫描程序代码分析 6 4 设计步骤与实现 7 4.1使用vc++6.0创建一个工程 7 4.2 设计程序对话框 10 4.3在的初始化对话框函数OnInitDialog()中添加列表控件的初始化: 11 4.4TCP connect() 扫描 13 4.4UDP扫描: 14 4.41UDP相关代码截图: 15 5运行结果 16 结 论 18 参考文献 18 摘 要 计算机信息网络的发展加速了信息化时代的进程,但是随着社会网络化程度的增加,对计算机网络的依赖也越来越大,网络安全问题也日益明显。端口扫描技术是发现安全问题的重要手段之一。connect()扫描和UDP扫描功能。TCP扫描支持多线程,能对单个指定的主机进行扫描或对指定网段内的主机进行逐个扫描。能扫描特定的部分端口号或对指定的端口段内的端口进行逐个扫描。此端口扫描程序能快速地进行TCP扫描,准确地检测出对TCP协议开放的端口。而对于UDP扫描只支持单线程,速度较慢。的安全漏洞计算机信息网络的发展加速了信息化时代的进程,但是随着社会网络化程度的增加,对计算机网络的依赖也越来越大,网络安全问题也日益明显。端口扫描技术是发现安全问题的重要手段之一。一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息发现目标机的某些内在的弱点。connect()扫描,支持多线程; UDP扫描功能; 能对单个指定的主机进行扫描或扫描指定网段内的主机; 能扫描特定的部分端口号或对指定的端口段内的端口进行逐个扫描; 开发环境及工具 测试平台:Windows XP Professional 使用软件:Visual C++ 6.0 开发语言:C语言 功能模块与系统结构 作为端口扫描程序,首先需要完成的功能就是对于系统操作系统的服务端口进行扫描,返回扫描结果。对于端口的扫描,包括对于本机系统服务端口,局域网内目标机系统,以及远程IP的系统服务端口进行扫描。有些时候,用户并不需要去扫描整个系统的所有端口,因为这样的话不仅会浪费大量的时间,而且可能导致难以找到自己需要了解的端口的扫描结果。所以,对于选择性地对端口进行扫描也非常重要。这当然也是扫描程序需要实现的功能之一。用户在等待扫描的时候,往往希望知道它的工作进度。这样用户可以更好地控制自己的操作。站在用户的角度思考,设置进度是程序需要完成的,这样就能知道程序扫描的进度。系统必须提供的服务是功能需求的基本,本着站在用户角度思考的原则,做出如上叙述需求,从简列举如下:扫描功能;地址选择功能;端口选择功能; 系统功能程序设计 本程序主要实现了简易的TCP connect()扫描和UDP扫描功能,对TCP扫描支持多线程扫描,UDP扫描仅支持单线程。 3.1、TCP端口扫描的工作原理: TCP服务的网络应用,可以实现顺序、无差错的数据流传输,在通信过程中首先需要建立连接。端口扫描程序所在的主机是客户机;被扫描的目的主机是服务器。图1给出了TCP连接的建立过程。假设客户机向服务器发送SYN=1、ACK=0的TCP包,表示客户机请求与服务器建立连接;客户机向服务器返回SYN=1、ACK=1的TCP包,表示服务器同意与客户机建立连接;客户机再向服务器发送SYN=0、ACK=1的TCP包,表示客户机确认与服务器建立连接(即三次握手的过程)。 图1 TCP建立连接的过程 3.2 TCP端口扫描的关键问题: TCP端口扫描采用的是Connect扫描,通过Connect系统调用尝试连接目的主机的端口。如果这次TCP连接成功建立,说明该端口处于开启状态;否则,说明该端口处于关闭状态。Connect扫描的最大优点是原理简单,不需要具有管理员或超级用户权限。首先,端口扫描程序调用socket()函数建立套接字,SOCK_STRE

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档