电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

计算机网络课程设计-编程实现简单的TCP协议分析器VIP免费

计算机网络课程设计-编程实现简单的TCP协议分析器_第1页
1/15
计算机网络课程设计-编程实现简单的TCP协议分析器_第2页
2/15
计算机网络课程设计-编程实现简单的TCP协议分析器_第3页
3/15
编程实现简单的 TCP 协议分析器 编程实现简单的 TCP 协议分析器一、问题描述编程实现简单的 TCP 协议分析器,TCP 协议分析器是一种用于监督和跟踪网络活动的诊断工具,它从局域网中抓取 IP 数据包,并对它进行分析得到相应的头部信息,过滤 TCP 包进行分析,得到 TCP 包的相应信息。二、基本要求1.利用原始套接字实现简单的 TCP 协议分析器。2.系统功能包括: 2.1 原始套接字与网卡绑定,并接收流经网卡的所有数据包; 2.2 对数据包进行分析以获得源 IP 地址和目的 IP 地址; 2.3 对 TCP Segment 进行分析以获得其首部详细信息; 2.4 显示分析结果。3 建议使用 VC++。三、设计思想TCP 协议的数据传送程序是由二个子程序组成的。也可以看成是服务器端程序和客户端程序,其中:服务器端程序的功能是侦听端口号,接收远 程主要的 TCP 连接申请,并接收远程主机传送来的文字数据。另外一个子程序,也就是所谓的客户端程序,主要实现向网络的远程主机提出 TCP 连接申请。程序利用原始套接字抓取局域网中的 IP 包。TCP 协议分析器实现了 sniffer 的一部分功能。而 sniffer 的工作原理是:1. 把网卡置于混杂模式;2. 捕获数据包;3. 分析数据包。Raw Socket: 原始套接字可以用它来发送和接收 IP 层以上的原始数据包, 如 ICMP, TCP, UDP 等。 四、系统结构(1)Pcap_addr 描述网络接口地址;(2)pcap_pkthdr 用来描述每个捕获到的数据包的基本信息;(3)int_pcaplookupnet 获取网络地址和网络掩码;(4)int_pcaploop 循环捕获网络数据包,直到遇到错误或满足退出条件;(5)pcap_t* pcap_open_dead 构造一个 libpcap 句柄。五、程序流程(或模块划分) 编程实现简单的 TCP 协议分析器 六、源程序#include "pcap.h"struct ether_header{ u_int8_t ether_dhost[6]; /* 目的以太网地址 */ u_int8_t ether_shost[6]; /* 源以太网地址 */ u_int16_t ether_type; /* 以太网类型 */};struct arp_header 编程实现简单的 TCP 协议分析器 { u_int16_t arp_hardware_type; /* 硬件类型 */ u_int16_t arp_protocol_type; /* 协议类型 */ u_int8_t arp_hardware_length; /* 硬件地址长度 */ u_int8_t arp_protocol_length; /* 协议地址长度 */ u_int16_t arp_operation_code; /* 操作码 */ u_int8_t arp_source_ethernet_address[6]; /* 源以太...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

计算机网络课程设计-编程实现简单的TCP协议分析器

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部