西电计算机网络大作业嗅探器和简易聊天程序.docx

西电计算机网络大作业嗅探器和简易聊天程序.docx

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE \* MERGEFORMAT2 计算机网络大作业 班级: 学号: 姓名: 目录 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc423449482 计算机网络大作业 PAGEREF _Toc423449482 \h 1 HYPERLINK \l _Toc423449483 网络嗅探器的实现 PAGEREF _Toc423449483 \h 3 HYPERLINK \l _Toc423449484 嗅探器简介 PAGEREF _Toc423449484 \h 3 HYPERLINK \l _Toc423449485 程序框图 PAGEREF _Toc423449485 \h 3 HYPERLINK \l _Toc423449486 程序的实现 PAGEREF _Toc423449486 \h 4 HYPERLINK \l _Toc423449487 运行结果 PAGEREF _Toc423449487 \h 15 HYPERLINK \l _Toc423449488 聊天程序设计 PAGEREF _Toc423449488 \h 16 HYPERLINK \l _Toc423449489 Winsock介绍 PAGEREF _Toc423449489 \h 16 HYPERLINK \l _Toc423449490 设计原理 PAGEREF _Toc423449490 \h 16 HYPERLINK \l _Toc423449491 设计过程及源代码 PAGEREF _Toc423449491 \h 17 HYPERLINK \l _Toc423449492 流程图: PAGEREF _Toc423449492 \h 17 HYPERLINK \l _Toc423449493 源代码: PAGEREF _Toc423449493 \h 17 HYPERLINK \l _Toc423449494 运行结果 PAGEREF _Toc423449494 \h 27 网络嗅探器的实现 嗅探器简介 网络嗅探器又称为网络监听器,简称为Sniffer子系统,放置于网络节点处,对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法。Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。Sniffer的正当用处主要是分析网络的流量,以便找出所关心的网络中潜在的问题。 程序框图 获得本地 获得本地OS版本号 显示NT设备列表 显示9X设备列表 定位及初始化设备 选择监听的网络适配器号 打开设备,把网卡设为“混杂”模式 在驱动器中设置缓冲 接收并打印网络包 打印统计数据 释放空间,关闭网卡指针 关闭设备,退出 ASCII编码 UNICODE编码 程序的实现 下面通过c语言实现基于原始套接字的嗅探程序 #include stdio.h #include stdlib.h #include string.h #include winsock2.h #include ws2tcpip.h #pragma comment (lib, ws2_32.lib) #define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) #define MAX_PACK_LEN 65535 // 最大包长度 #define MAX_ADDR_LEN 16 // 最大地址长度 #define MAX_PROTO_TEXT_LEN 16 // 子协议名称最大长度 #define MAX_PROTO_NUM 12 // 子协议数量 #define MAX_HOSTNAME_LEN 255 // 最大主机名长度 上面程序主要包含了工程所需的头文件和进行了相关的宏定义。其中 ,SIO_RCVALL表示套接字接收所有的数据包。 // 定义IP首部格式 typedef struct _IPHeader { unsigned char h_verlen; // 版本和首部长度 unsigned char tos; // 服务类型 unsigned short total_len; // 总长度 unsigned short ident; // 标识号 unsigned short frag_and_flags; // 段偏移量 unsigned char ttl; // 生存时间 unsigned char proto; // 协议 unsign

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档