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

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

ID:6818848

大小:462.50 KB

页数:15页

时间:2018-01-27

计算机网络课程设计-编程实现简单的tcp协议分析器_第1页
计算机网络课程设计-编程实现简单的tcp协议分析器_第2页
计算机网络课程设计-编程实现简单的tcp协议分析器_第3页
计算机网络课程设计-编程实现简单的tcp协议分析器_第4页
计算机网络课程设计-编程实现简单的tcp协议分析器_第5页
资源描述:

《计算机网络课程设计-编程实现简单的tcp协议分析器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编程实现简单的TCP协议分析器编程实现简单的TCP协议分析器一、问题描述编程实现简单的TCP协议分析器,TCP协议分析器是一种用于监督和跟踪网络活动的诊断工具,它从局域网中抓取IP数据包,并对它进行分析得到相应的头部信息,过滤TCP包进行分析,得到TCP包的相应信息。二、基本要求1.利用原始套接字实现简单的TCP协议分析器。2.系统功能包括:2.1原始套接字与网卡绑定,并接收流经网卡的所有数据包;2.2对数据包进行分析以获得源IP地址和目的IP地址;2.3对TCPSegment进行分析以获得其首部详细信息;2.4显示分析结果。3建议使用VC++。三、

2、设计思想TCP协议的数据传送程序是由二个子程序组成的。也可以看成是服务器端程序和客户端程序,其中:服务器端程序的功能是侦听端口号,接收远程主要的TCP连接申请,并接收远程主机传送来的文字数据。另外一个子程序,也就是所谓的客户端程序,主要实现向网络的远程主机提出TCP连接申请。程序利用原始套接字抓取局域网中的IP包。TCP协议分析器实现了sniffer的一部分功能。而sniffer的工作原理是:1.把网卡置于混杂模式;2.捕获数据包;3.分析数据包。RawSocket:原始套接字可以用它来发送和接收IP层以上的原始数据包,如ICMP,TCP,UDP等。

3、四、系统结构(1)Pcap_addr描述网络接口地址;(2)pcap_pkthdr用来描述每个捕获到的数据包的基本信息;(3)int_pcaplookupnet获取网络地址和网络掩码;(4)int_pcaploop循环捕获网络数据包,直到遇到错误或满足退出条件;(5)pcap_t*pcap_open_dead构造一个libpcap句柄。五、程序流程(或模块划分)编程实现简单的TCP协议分析器六、源程序#include"pcap.h"structether_header{u_int8_tether_dhost[6];/*目的以太网地址*/u_int8_

4、tether_shost[6];/*源以太网地址*/u_int16_tether_type;/*以太网类型*/};structarp_header编程实现简单的TCP协议分析器{u_int16_tarp_hardware_type;/*硬件类型*/u_int16_tarp_protocol_type;/*协议类型*/u_int8_tarp_hardware_length;/*硬件地址长度*/u_int8_tarp_protocol_length;/*协议地址长度*/u_int16_tarp_operation_code;/*操作码*/u_int8_t

5、arp_source_ethernet_address[6];/*源以太网地址*/u_int8_tarp_source_ip_address[4];/*源IP地址*/u_int8_tarp_destination_ethernet_address[6];/*目的以太网地址*/u_int8_tarp_destination_ip_address[4];/*目的IP地址*/};structip_header{#ifdefined(WORDS_BIGENDIAN)u_int8_tip_version:4,/*版本*/ip_header_length:4;/

6、*首部长度*/#elseu_int8_tip_header_length:4,ip_version:4;#endifu_int8_tip_tos;/*服务质量*/u_int16_tip_length;/*长度*/u_int16_tip_id;/*标识*/u_int16_tip_off;编程实现简单的TCP协议分析器/*偏移*/u_int8_tip_ttl;/*生存时间*/u_int8_tip_protocol;/*协议类型*/u_int16_tip_checksum;/*校验和*/structin_addrip_souce_address;/*源IP

7、地址*/structin_addrip_destination_address;/*目的IP地址*/};structudp_header{u_int16_tudp_source_port;/*源端口号*/u_int16_tudp_destination_port;/*目的端口号*/u_int16_tudp_length;/*长度*/u_int16_tudp_checksum;/*校验和*/};structtcp_header{u_int16_ttcp_source_port;/*源端口号*/u_int16_ttcp_destination_port;

8、/*目的端口号*/u_int32_ttcp_sequence_liuzhen;/*序列号*/u_int32_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。