黑客编程教程(三)Windows 网络协议
首先介绍一下网络协议:网络协议是网络上所有设备之间通信规则的集合,他定义了通信时信息必须采用的格式和这些格式的意义.大多数 网络协议都采用分层体系结,每一层都建立在他的下层之上,向他的上一层提供服务,而把如何实现这一服务的细节对上层加以屏蔽.一台设备上 的第N层与另一台设备上的第N层进行通信的规则就是第N曾协议.在网络上的个层之间中存在着许多协议,接受方和发送方同层的协议必须一致, 否则,一方就无法识别另一方发出的信息.网络协议使网络上的设备各种设备能相互交换信息. 常用的协议有:TCP/IP协议,IPX/SPX歇息等等.在局域网中常用的IPX/SPX协议.而访问INTERNET,就必须添加TCP/IP协议. TCP/IP协议是传输控制协议/互联网络协议.他规范了网络上所有设备的通信,尤其是一个主机与另一个主机之间的数据往来格式以及传送 方式. 在网络的各层中还存在着许多协议,下面列出部分网络协议规范: ARP 地址解析协议 SNMP 网络管理协议 BOOTP 让无盘站从一个中心服务器上获得IP地址 DHCP 动态主机配置协议 下面介绍网络7层协议在WINDOWS的实现: 7层协议 WIN系统 ________________________________________ 7 应用层 7 应用程序 ________________________________________________ 6 表示层 6 WINSOCK API(DLL) ___________________________________________ 5 会话层 5 SPI(DLL) __________________________________________________ 4 传输层 4 TDI(VXD,SYS) ___________________________________________________ 3 网络层 3 NDIS(VXD,SYS) __________________________________________________ 2 数据链路层 2 网卡驱动程序(VXD,SYS) ___________________________________________ 1 物理层 1 网卡 _________________________________________________ 相信这个映射图可以让大家比较清楚了解他们的对应关系 TCP协议图示 应用程序协议 HTTP FTP TELNET 传输协议 TCP UDP 网际协议 IP 物理层协议 网卡 IP协议保证数据的传输,TCP协议保证数据传输的质量. TCP/IP协议基于四层结构:应用层,传输层,网络层,接口层,数据在传输时每通过一层就要在数据上加个头,其中的数据供接受端同层使用,在 接收端,每经过一层就把头去掉,来保证传输数据格式的一致. TCP头部结构: 16位源端口号 16位目的端口号 _______________________________________________________________________________ 32位序列号 ___________________________________________________________________________ 32位确认号 _____________________________________________________________________________________ 4位首部长度+6位保留字 6位标志 16位窗口大小 _______________________________________________________________________________________ 16位效验和 16位紧急数据偏移量 _____________________________________________________________________________________ 数据段 _______________________________________________________________________________ IP头部结构: 4位IP版本号 4位首部长度 8位服务类型 16位总长度 ___________________________________________________________________________________________ 16位标示 3位标志和偏移 __________________________________________________________________________ 8位生存时间 8位协议 16位IP首部效验和 ________________________________________________________________________________________________ 32位源IP地址 _________________________________________________________________________________________________________ 32位目的IP地址 ________________________________________________________________________________________ TCP头和数据 ________________________________________________