欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

CVE-2012-0148: A Deep Dive Into AFD

CVE-2012-0148: A Deep Dive Into AFD

       原文:http://mista.nu/blog/2012/02/17/cve-...dive-into-afd/
       翻译:http://hi.baidu.com/promised_lu/
       演示:http://www.youtube.com/embed/F0JZT5N...feature=oembed
       欢迎大家指正翻译中的错误
 
       Introduction
 
       辅助功能驱动程序(AFD)是Windows Sockets接口的内核管理层。与许多其他流行的操作系统类似,Windows与AFD把网络连接作为套接字管理。套接字模式在Windows中被改编为Windows Sockets 1.1,并支持大部分传统上能在BSD中找到的基本功能。在这一设计背后的主要目标是让Unix开发者更容易地将现有的网络应用程序移植到Windows平台。微软之后又发布了Windows Sockets 2架构以兼容Windows开放式系统体系结构。Winsock 2.0定义了应用程序编程接口(API)与WS2_32.dll的导出函数和协议栈之间的标准服务提供商。这允许Winsock 2.0支持多种传输协议,然而Winsock 1.1仅支持TCP/IP协议。在Winsock标准之上,Windows还包含了主要提升性能(例如TransmitFile)和节约内存使用的额外扩展以及提供重用套接字功能的操作(例如ConnectEx和AcceptEx)。
 
       Winsock Architecture
 
       Winsock架构被分为用户模式和内核模式。在最高层,应用程序与Windows Sockets API (ws2_32.dll)交互,它提供了例如bind、listen、send和recv的常见函数。这些函数调用合适的提供商,它不是由系统定义的就是由应用程序定义的。举个例子,VMCI套接字可以被VMware虚拟机用来与其他虚拟机通信。这里,VMCI提供商(由VMware Tools安装)调用VMCI套接字库(vsocklib.dll),它然后调用负责管理和呼叫主机/其他虚拟机的VMCI驱动程序(vmci.sys)。类似的,Windows为例如TCP和UDP的本地支持协议注册了一个Winsock API的提供商(mswsock.dll)。Winsock然后通过辅助功能驱动程序(afd.sys)进行必要的套接字管理和TCP/IP协议调用。
       虽然Windows的网络架构在Windows Vista中有了显著的变化,但应用程序与Windows Sockets API和AFD之间的交互基本保持不变。
 

 
Winsock架构

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功