全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于socket套接字的IP数据包的抓取SOCKET sock; WSADATA wsData;ofstream ofs(ip.log,ios:app);if (WSAStartup(MAKEWORD(2,2), &wsData) != 0)printf(WSAStartup failed!n);return -1;if ( ( sock = socket(AF_INET, SOCK_RAW, IPPROTO_IP) ) = INVALID_SOCKET )printf(create socket failedn);return -1;BOOL flag = true;if ( setsockopt(sock, IPPROTO_IP, IP_HDRINCL,(char*)&flag, sizeof(flag) = SOCKET_ERROR )printf(setsockopt failed!n);return -1;char hostName128;if ( gethostname(hostName, 100) = SOCKET_ERROR )printf(gethostname failed!n);return -1;hostent* pHostIP;if( ( pHostIP = gethostbyname(hostName) ) = NULL )printf(gethostbyname failedn);return -1;sockaddr_in addr_in;addr_in.sin_addr = *(in_addr*)pHostIP-h_addr_list0;addr_in.sin_family = AF_INET;addr_in.sin_port = htons(6000);if ( bind(sock, (PSOCKADDR)&addr_in, sizeof(addr_in) = SOCKET_ERROR )printf(bind failedn);return -1;#define IO_RCVALL _WSAIOW(IOC_VENDOR,1) DWORD dwBufferLen10;DWORD dwBufferInLen = 1;DWORD dwBytesReturned = 0;char buffer100;if ( WSAIoctl(sock, IO_RCVALL, &dwBufferInLen, sizeof(dwBufferInLen),&dwBufferLen, sizeof(dwBufferLen), &dwBytesReturned, NULL, NULL) = SOCKET_ERROR )printf(ioctlsocket faildn);return -1;printf(Analysis IP Packet !nn);string s;char * p;char buffer1100;while ( true )int size = recv(sock, buffer, sizeof(buffer), 0);IP_HEADER ip = *(IP_HEADER *)buffer; cout - endl; s+=n-n;cout Version: 4) 4,buffer1,10);s+=Version: ;s+=buffer1;s+=n;cout IHL: ( (ip.HdrLen & 0x0f) * 4) endl; s+=IHL:;_itoa(ip.HdrLen & 0x0f)*4,buffer1,10);s+=buffer1;s+=n;cout Type of service: Priority 5) , Service 1 ) & 0x0f) 5,buffer1,10);s+=buffer1; s+=, Service; _itoa(ip.ServiceType 1 ) & 0x0f,buffer1,10);s+=buffer1;s+=n;cout TOtal Length: ip.TotalLen endl;s+=TOtal Length: ; _itoa( ip.TotalLen ,buffer1,10);s+=buffer1;s+=n;cout Identifcation: ip.ID endl;s+=Identifcation: ; _itoa( ip.ID ,buffer1,10);s+=buffer1;s+=n; cout sign: 15) & 0x01) , DF = 14) & 0x01) , Mf = 13) &0x01) 15) & 0x01,buffer1,10);s+=buffer1; s+= , DF = ; _itoa(ip.Flags 14) & 0x01,buffer1,10); s+=buffer1;s+=, Mf = ; _itoa(ip.Flags 13) & 0x01,buffer1,10); s+=buffer1;s+=n;cout Fragment offset: (ip.Fragoff & 0x1fff) endl; s+=Fragment offset: ; _itoa(ip.Fragoff & 0x1fff,buffer1,10); s+=buffer1;s+=n;cout Time to live: (int)ip.TimeToLive endl; s+=Time to live: ; _itoa(int)ip.TimeToLive ,buffer1,10); s+=buffer1;s+=n;cout Protocol: (int)ip.Protocol endl; s+=Protocol: ; _itoa(int)ip.Protocol ,buffer1,10); s+=buffer1;s+=n;cout Header Checksum: ip.HdrChksum endl; s+=Header Checksum: ; _itoa( ip.HdrChksum ,buffer1,10); s+=buffer1;s+=n;cout Source address: inet_ntoa(*(in_addr *)&ip.SrcAddr) endl; s+=Source address: ; s+=inet_ntoa(*(in_addr *)&ip.SrcAddr);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026文明乘车面试题及答案
- 肇庆500千伏德庆站220千伏配套工程环境影响报告表
- 2025-2026学年河北省沧州市孟村县数学四年级第二学期期末综合测试试题含答案
- 2025-2026学年河北省保定市莲池区四年级数学下学期期末学业质量监测试题(含答案解析)
- 2025-2026学年江西省赣州市赣县数学四下期末预测试题含解析
- 宿迁市宿城区国有企业招聘笔试真题2025
- 西安工程大学专职辅导员招聘笔试真题2025
- 蚌埠固镇县谷阳镇招聘村居后备人才笔试真题2025
- 2026 年病房环境物体表面消杀护理质控教育
- 2026 年护生面对临终患者沟通带教主题
- 2026年甘肃金麟锂电新材料有限公司招聘78人考试备考试题及答案详解
- 成都市新都区部分单位2026年7月公开招聘编外(聘用)人员79人(三)笔试模拟试题及答案详解
- 2026年长沙航空职业技术学院单招职业技能考试题库及答案详解(夺冠)
- 2026年行政能力测试真题(附答案)
- 现代接入网技术 课件 第5章 HFC接入网
- 人教版七年级(下)期末数学综合考试卷(十五)
- 幼儿园 中班数学《感知7以内的数字》
- 《如何做一名好教师》课件
- 定向减资协议
- 铁路工程危害因素辨识评价表及高中度风险清单(常用版)
- 广电兰亭荣荟项目铝合金模板的应用总结
评论
0/150
提交评论