问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用C/C++实现网络监听抓包

发布网友 发布时间:2022-05-05 20:50

我来回答

3个回答

热心网友 时间:2022-06-28 02:07

Windows2000在TCP/IP协议组件上做了很多改进,功能也有增强。比如在协议栈上的调整,增大了默认窗口大小,以及高延迟链接新算法。同时在安全性上,可应用IPSec加强安全性,比NT下有不少的改进。 Microsoft TCP/IP 组件包含“核心协议”、“服务”及两者之间的“接口”。传输驱动程序接口 (TDI) 与网络设备接口规范 (NDIS) 是公用的。 此外,还有许多用户模型应用程序的更高级接口。最常用的接口是 Windows Sockets、远程过程调用 (RPC) 和 NetBIOS。 Windows Sockets 是一个编程接口,它是在加州大学伯克利分校开发的套接字接口的基础上定义的。它包括了一组扩展件,以充分利用 Microsoft Windows 消息驱动的特点。规范的 1.1 版是在 1993 年 1 月发行的,2.2.0 版在 1996 年 5 月发行。Windows 2000 支持 Winsock 2.2 版。在Winsock2中,支持多个传输协议的原始套接字,重叠I/O模型、服务质量控制等。 这里介绍Windows Sockets的一些关于原始套接字(Raw Socket)的编程。同Winsock1相比,最明显的就是支持了Raw Socket套接字类型,通过原始套接字,我们可以更加自如地控制Windows下的多种协议,而且能够对网络底层的传输机制进行控制。 1、创建一个原始套接字,并设置IP头选项。 SOCKET sock; sock = socket(AF_INET,SOCK_RAW,IPPROTO_IP); 或者: s = WSASoccket(AF_INET,SOCK_RAW,IPPROTO_IP,NULL,0,WSA_FLAG_OVERLAPPED); 这里,我们设置了SOCK_RAW标志,表示我们声明的是一个原始套接字类型。创建原始套接字后,IP头就会包含在接收的数据中,如果我们设定 IP_HDRINCL 选项,那么,就需要自己来构造IP头。注意,如果设置IP_HDRINCL 选项,那么必须具有 administrator权限,要不就必须修改注册表: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Afd\Parameter\ 修改键:DisableRawSecurity(类型为DWORD),把值修改为 1。如果没有,就添加。 BOOL blnFlag=TRUE; setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char *)&blnFlag, sizeof(blnFlag); 对于原始套接字在接收数据报的时候,要注意这么几点: 1、如果接收的数据报中协议类型和定义的原始套接字匹配,那么,接收的所有数据就拷贝到套接字中。 2、如果绑定了本地地址,那么只有接收数据IP头中对应的远端地址匹配,接收的数据就拷贝到套接字中。 3、如果定义的是外部地址,比如使用connect(),那么,只有接收数据IP头中对应的源地址匹配,接收的数据就拷贝到套接字中。 2、构造IP头和TCP头 这里,提供IP头和TCP头的结构: // Standard TCP flags #define URG 0x20 #define ACK 0x10 #define PSH 0x08 #define RST 0x04 #define SYN 0x02 #define FIN 0x01 typedef struct _iphdr //定义IP首部 { unsigned char h_lenver; //4位首*度+4位IP版本号 unsigned char tos; //8位服务类型TOS unsigned short total_len; //16位总长度(字节) unsigned short ident; //16位标识 unsigned short frag_and_flags; //3位标志位 unsigned char ttl; //8位生存时间 TTL unsigned char proto; //8位协议 (TCP

热心网友 时间:2022-06-28 02:07

残对方的电话内容在他的手机安装一个监护软件就行活惕Sf

热心网友 时间:2022-06-28 02:07

钥须`老公出轨,怎样挽回婚姻.途
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
福建南安都有哪些市场 端午节去南安旅行的线路有哪些值得分享? 南安有哪些特色商业街 把一个棱长是10厘米的正方体铁块熔铸成一个底面积是20厘米的圆锥形铁块... 把一块棱长10厘米的正方体铁块熔铸成一个底面直径是20厘米的圆柱形零件... 0x0438ef0指令引用的0x0438ef0内存.该内存不能为“read”的错误提示... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(8.8-25.7mm、F1.8) Vl... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(24-70mm、F1.8-F2.8)-购... 索尼RX100 M5A数码相机 索尼RX100 M5A数码相机:小巧便携,成像卓越 江西宜春的民歌、民谣、笑话 急急急!!! AngularJS 为什么成功了? 江西是个好地方的歌词 江西有哪些民歌和名曲? 用ansys对基板做应力分析,trace怎么处理 为什么说有的rpc是基于二进制的协议,传递的是二进制,有的则不是(比如传递xml和json字符串) 中国农业大学考研公共课成绩怎么复查? 联想xcc默认账户密码 苹果手机之间怎么传app 江西有哪些好听的民歌? 日头一出就红又红是哪首歌? win7电脑怎么加密码 被涉及赌博被封了,多久可以自动解封? 海尔电视开机后时间不长关机怎么回事儿 武则天若传位给武三思,结局会是怎样的? 在武则天死后,武家人的结局怎么样? 武则天在位时,武氏家族权倾一时,武则天死后,武家的人结局如何? 吃水果会发胖吗?减肥期间如何选择水果呢? 电脑恢复出厂设置了,忘记初始用户名了 怎样使thinkpad T61指纹识别登录时,默认登陆自己创建的账户 圣斗士星矢赏金猎人第三副本区域怎么过? 圣斗士星矢最简单也最全的概要! 怎么用jQuery,写一个循环体中间包含多维数组? jquery获取如何获取点击TD中的id值 圣斗士星命空间如何重来 求救cxf 发布服务,接收参数为null 跪求一都市打黑拳小说 中国农业大学考研成绩 2O22届中国农业大学考研复式名单什么时候公布 陕西渭南违章查询电话多少? 圣斗士星矢完整顺序? 网上怎么查渭南市车辆违章记录? 【请问】网络抓包的实现方法 qq邮箱被拦截的怎么在手机上查看阿 砂糖椰子块怎么做 跪求:用C++实现的抓包程序!! 圣斗士星矢的排序 渭南交通违章查询网 aa出行是滴滴旗下的吗 渭南违章多久能查询出来