全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保项目执行经理资源效率绩效评估表
- 设计师项目推进与创意绩效考核表
- 生产车间生产质量绩效考核表
- 房地产销售顾问项目完成率绩效评定表
- 食品加工企业质量检验部经理绩效评定表
- 电子商务网站运营人员用户活跃度与转化率绩效评定表
- 汽车销售顾问车辆销售与售后绩效考评表
- 供应商资质审核通知函4篇范文
- 项目预算审议通知函3篇范文
- 通讯行业5G技术研发团队创新与技术突破KPI考核表
- 2026年安全教育授课教师培训试题
- 有机磷农药中毒诊疗专家共识(2025版)
- 合同范本委托经营管理合同5篇
- (2026)中国石油化工集团中石化招聘笔试试题及答案
- 新课标高中生物实验目录
- 20260402 偏差管理控制程序
- 《浙江省城镇燃气用户设施安全检查导则》
- 挂网客土喷播施工方案
- 幼儿园秋季流感预防知识
- 高三数学一轮复习教学设计:《三角恒等变换》
- 工程科学的创新之道-研究生科研能力的培养与提升
评论
0/150
提交评论