计算机网络课程设计-编程实现简单的TCP协议分析器
-
资源ID:1451102
资源大小:220.50KB
全文页数:15页
- 资源格式: DOC
下载积分:100金币
快捷下载

账号登录下载
三方登录下载:
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
|
计算机网络课程设计-编程实现简单的TCP协议分析器
1、 编程实现编程实现简单简单的的 TCPTCP 协议分析器协议分析器 一、问题描述一、问题描述 编程实现简单的 TCP 协议分析器,TCP 协议分析器是一种用于监督和跟踪网络活动的诊 断工具,它从局域网中抓取 IP 数据包,并对它进行分析得到相应的头部信息,过滤 TCP 包进 行分析,得到 TCP 包的相应信息。 二、基本要求二、基本要求 1.利用原始套接字实现简单的 TCP 协议分析器。 2.系统功能包括: 2.1 原始套接字与网卡绑定,并接收流经网卡的所有数据包; 2.2 对数据包进行分析以获得源 IP 地址和目的 IP 地址; 2.3 对 TCP Segment 进行分析以获得其首部详细信
2、息; 2.4 显示分析结果。 3 建议使用 VC+。 三、设计三、设计思想思想 TCP 协议的数据传送程序是由二个子程序组成的。也可以看成是服务器端程序和客户端 程序,其中:服务器端程序的功能是侦听端口号,接收远 程主要的 TCP 连接申请,并接收远 程主机传送来的文字数据。另外一个子程序,也就是所谓的客户端程序,主要实现向网络的 远程主机提出 TCP 连接申请。 程序利用原始套接字抓取局域网中的 IP 包。 TCP 协议分析器实现了 sniffer 的一部分功能。而 sniffer 的工作原理是:1. 把网卡置 于混杂模式;2. 捕获数据包;3. 分析数据包。 Raw Socket: 原始套
3、接字可以用它来发送和接收 IP 层以上的原始数据包, 如 ICMP, TCP, UDP 等。 四、系统四、系统结构结构 (1)Pcap_addr 描述网络接口地址; (2)pcap_pkthdr 用来描述每个捕获到的数据包的基本信息; (3)int_pcaplookupnet 获取网络地址和网络掩码; (4)int_pcaploop 循环捕获网络数据包,直到遇到错误或满足退出条件; (5)pcap_t* pcap_open_dead 构造一个 libpcap 句柄。 五、程序流程(或模块划分)五、程序流程(或模块划分) 六、源程序六、源程序 #include “pcap.h“ struct e
4、ther_header u_int8_t ether_dhost6; /* 目的以太网地址 */ u_int8_t ether_shost6; /* 源以太网地址 */ u_int16_t ether_type; /* 以太网类型 */ ; struct arp_header 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_address6; /* 源以太网地址 */ u_int8_t arp_source_ip_address4; /* 源 IP 地址 */ u_int8_t arp_destinati