全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某著名企业三局铝模施工控制
- 《GB-Z 18914-2014信息技术 软件工程 CASE工具的采用指南》专题研究报告
- 《GBT 15824-2008热作模具钢热疲劳试验方法》专题研究报告
- 《GBT 15609-2008彩色显示器色度测量方法》专题研究报告
- 道路安全交通法班会课件
- 2025年病理科工作总结暨工作计划
- 2026年贵州省遵义市辅警招聘试卷带答案
- 2025-2026年苏教版初三历史上册期末真题解析含答案
- 2026年广东中山市高职单招数学考试题库(含答案)
- 道具交通安全培训内容课件
- 东莞初三上册期末数学试卷
- 鹦鹉热治疗讲课件
- 低碳-零碳产业园清洁能源供暖技术规范DB15-T 3994-2025
- 小学的思政教育
- 学术道德与学术规范严守诚信底线共建优良学风培训课件
- 门诊预约挂号流程
- 光伏防火培训课件
- 2025中学生国防教育
- 电视节目编导与制作(全套课件147P)
- 《海外并购》课件
- 医学预防科普
评论
0/150
提交评论