实验二-IP数据包的捕获与解析(共5页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《实验二-IP数据包的捕获与解析(共5页).doc》由会员分享,可在线阅读,更多相关《实验二-IP数据包的捕获与解析(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验二 IP数据包的捕获与解析网络0902 1.实验目的:掌握网络层的基本原理,通过编程实现网卡截取标准格式的IP包;解析IP数据包,了解IP包结构中个字段的含义与用途。2.实验原理:IP数据报结构:3. 实验环境平台:Windows、编程环境:VC 6.0、语言:C+4流程图及源代码#include #include #include #include#include #pragma comment(lib,ws2_32) /指定连接到网络应用和internet#define IO_RCVALL _WSAIOW(IOC_VENDOR,1) typedef struc
2、t IP_HEAD union /定义联合 unsigned char Version; unsigned char HeadLen; ; unsigned char ServiceType; unsigned short TotalLen; unsigned short Identifier; union unsigned short Flags; unsigned short FragOffset; ; unsigned char TimeToLive; unsigned char Protocol; unsigned short HeadChecksum; unsigned int So
3、urceAddr; unsigned int DestinAddr; unsigned char Options; ip_head; /定义IP头部的数据结构void main(int argc,char *argv) using namespace std; ofstream outfile(C:logfile.txt,ios:out);if(argc!=2) coutendl请以下格式输入命令行:PackParse packet_sumendl; return; WSADATA WSAData; if(WSAStartup(MAKEWORD(2,2), &WSAData)!=0) cout
4、endlWSASTartup初始化失败endl; return; SOCKET sock=socket(AF_INET,SOCK_RAW,IPPROTO_IP); /三个参分别为通信发生的区字段,套接字的类型,与IP协议if(sock=INVALID_SOCKET) coutendl创建Socket失败!endl; closesocket(sock); WSACleanup(); BOOL flag=TRUE; if(setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char *) &flag,sizeof(flag)=SOCKET_ERROR) coutendls
5、etsockopt操作失败:WSAGetLastError()endl; closesocket(sock); WSACleanup(); char hostName128;/获取主机名 if(gethostname(hostName,100)=SOCKET_ERROR) coutendlgethostname操作失败:WSAGetLastError()endl; closesocket(sock); WSACleanup(); hostent *pHostIP; /获取本地IPif(pHostIP=gethostbyname(hostName)=NULL) coutendlgethostby
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 IP 数据包 捕获 解析
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内