计算机网络课程设计报告--局域网截包.docx
《计算机网络课程设计报告--局域网截包.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告--局域网截包.docx(8页珍藏版)》请在第一文库网上搜索。
1、计算机网络课程设计报告题目:局域网截包一、问题描述在一个局域网环境中,用C语言实现下面的基本功能:(1)确定截包的方法:包括RAW模式SoCKET、PAeKET以及直接作为驱动程序挂在NDISO(2)要求截获以下包的类型并分析:以IGMP包、ICMP包、TCP报文段、UDP报文段等相关字段进行描述。二、概要设计2.1设计原理局域网截包作为一种网络通讯程序,也是网络通过对网卡的编程来实现网络通讯的,对网卡的编程也是使用通常的套接字(socket)方式来进行。但是实际上要达到目的却不能让网卡按通常的正常模式工作,而必须将其设置成为混杂模式。具体到编程实现上,这种对网卡混杂模式的设置是通过原始套接字
2、(rawsocket)来实现的。先用gethostname()获取主机名,然后通过gethostbyname()获取主机信息。在创建了原始套接字后,然后再通过bind()函数将原始套接字绑定到本地网卡。然后通过监听报文来根据不同的协议来调用相应的函数,从而解析得出截得的数据包所得的信息。若最初没有获取到主机名或者中途出现数据包大小大于定义的buf缓冲区大小,则输出错误,即得不到正确的数据包信息。2.2数据结构设计2.2.1IP首部数据结构:typedefstruct_iphdr(unsignedcharh_1enver;4为首部长度+4位IP版本号unsignedchartos;8位服务类型T
3、OSunsignedshorttota1_1en;16位总长度(字节)unsignedshortident;16位标识unsignedshortfrag_and_f1ags;3位标志位unsignedchartt1;8位生存时间TT1unsignedcharproto;8位协议(TCP,UDP或其他)unsignedshortchecksum;16位IP首部校验和unsignedintsourceIP;32位源IP地址unsignedintdestIP;32位目的IP地址IpHeader;2.2.2TCP首部数据结构:typedefstruct_tcphdr(USHORTth_sport;16
4、位源端口USHORTth_dport;16位目的端口unsignedintth_seq;32位序列号unsignedintth_ack;32位确认号unsignedcharthCnres;4位首部长度/6位保留字unsignedcharth_f1ag;/6位标志位USHORTth_win;16位窗口大小USHORTth_sum;16位校验和USHORTth_urp;16位紧急数据偏移量TCPJiEADER;2.2.3UDP首部数据结构:unsignedunsignedunsignedunsigned)UDP_HEADER;typedefstruct_udphdrshortuh_sport;16
5、位源端口shortuh_dport;16位目的端口shortuh_1en;16位长度shortuh_sum;/16位校验和2.2.4ICMP首部数据结构:typedefstruct_icmphdrBYTEi_type;/8位类型BYTEi_code;/8位代码USHORTi_cksum;/16位校验和USHORTi_id;识别号(一般用进程号作为识别号)USHORTi_seq;报文序列号U1ONGtimestamp;时间戳Icmpjeader;2.3系统流程图三、详细设计3.1获取主机地址先用gethostname()获取主机名,然后通过gethostbyname()获取主机信息具体实现程序如
6、下:structsockaddr_inaddr;memset(&addr,0,sizeof(addr);charname256;PHOSTENThostinfo;if(gethostname(name,sizeof(name)=0)(if(hostinfo=gethostbyname(name)!=NU11)(memcpy(&(addr.sin_addr.S_un.S_addr),(structin_addr*)*hostinfo-h_addr_1ist,sizeof(structin_addr*)*hostinfo-h_addr_1ist);3.2创建原始套接字,绑定原始套接字在创建了原始套
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课程设计 报告 局域网
