黑客编程教程(三)Windows 网络协议
首先介绍一下网络协议:网络协议是网络上所有设备之间通信规则的集合,他定义了通信时信息必须采用的格式和这些格式的意义.大多数
网络协议都采用分层体系结,每一层都建立在他的下层之上,向他的上一层提供服务,而把如何实现这一服务的细节对上层加以屏蔽.一台设备上
的第N层与另一台设备上的第N层进行通信的规则就是第N曾协议.在网络上的个层之间中存在着许多协议,接受方和发送方同层的协议必须一致,
否则,一方就无法识别另一方发出的信息.网络协议使网络上的设备各种设备能相互交换信息. 常用的协议有:TCP/IP协议,IPX/SPX歇息等等.在局域网中常用的IPX/SPX协议.而访问INTERNET,就必须添加TCP/IP协议. TCP/IP协议是传输控制协议/互联网络协议.他规范了网络上所有设备的通信,尤其是一个主机与另一个主机之间的数据往来格式以及传送
方式. 在网络的各层中还存在着许多协议,下面列出部分网络协议规范:
ARP 地址解析协议
SNMP 网络管理协议
BOOTP 让无盘站从一个中心服务器上获得IP地址
DHCP 动态主机配置协议 下面介绍网络7层协议在WINDOWS的实现: 7层协议 WIN系统
________________________________________
应用层 应用程序
________________________________________________
表示层 WINSOCK API(DLL)
___________________________________________
会话层 SPI(DLL)
__________________________________________________
传输层 TDI(VXD,SYS)
___________________________________________________
网络层 NDIS(VXD,SYS)
__________________________________________________
数据链路层 网卡驱动程序(VXD,SYS)
___________________________________________
物理层 网卡
_________________________________________________
相信这个映射图可以让大家比较清楚了解他们的对应关系 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头和数据 ________________________________________________
黑客编程教程(三)Windows 网络协议的更多相关文章
- 脑残式网络编程入门(三):HTTP协议必知必会的一些知识
本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...
- 黑客编程教程(二)Win API编程简介
第二节 Win API编程简介 下面介绍一下WIN API. 我们需要自己编写一个工具时,必然会用到很多操作windows和控制windows的函数,这些函数就是windows API. API是Ap ...
- 黑客编程教程(一)了解Windows机制
第一节 了解Windows机制 Windows 是一个“基于事件的,消息驱动的”操作系统. 在Windows下执行一个程序,只要用户进行了影响窗口的动作(如改变窗口大小或移动.单击鼠标等)该动作就会触 ...
- 黑客编程教程(六)Windows的关机和重起
第六节 Windows的关机和重起 很多木马都有远程关机功能,但这并不是一个很好的功能.不过对于入侵服务器,有时需要重起服务器.其实对于关机和重起,只需要调用几个 API函数即可实现. 对于WIN9X ...
- 黑客编程教程(八)编写NT服务
先介绍一下什么是NT服务,实际上就是一个可以在系统启动时自动在一定身份下启动的,伴随着系统长期存在的进程. 一个NT服务有三部分构成: :Service Control Manager(SCM) 每个 ...
- View Programming Guide for iOS ---- iOS 视图编程指南(三)---Windows
Windows Every iOS application needs at least one window—an instance of the UIWindow class—and some m ...
- python网络编程【三】(网络服务器)
建立一个服务器需要以下4步: 1.建立socket对象. 2.设置socket选项(可选的) 3.绑定到一个端口(同样,也可以是一个指定的网卡). 4.侦听连接. 下面代码片段可以实现这些功能: ho ...
- 黑客编程教程(十三)多线程DOS程序
DOS基本原理相信大家都已经很熟悉了,DOS工具大家也用的很熟悉.在群里 经常有人说什么时候去DOS什么东西. 现在我们就自己编写一个DOS工具. #include <winsock2.h> ...
- 黑客编程教程(十五)HTTP代理
#include <stdio.h> #include <winsock2.h> #define MAXBUFLEN 20480 #define HTTPADDLEN 50 # ...
随机推荐
- wepy - 使用vsCode编辑器安装插件
完成后,高亮以及智能补全代码. 1. 首先ctrl+shift+p打开扩展,安装以下三个插件 2. 复制以下文件内容到你的vsCode配置 files.associations { "fil ...
- html页面禁止选择复制剪切
在body加入 onselectstart="return false" oncopy="return false;" oncut="return f ...
- Access denied with payslip工资条非同部门员工不能创建bug
Access Denied The requested operation cannot be completed due to security restrictions. Please conta ...
- 学习KNN
转:© 著作权归作者所有 by ido 什么是KNN算法呢?顾名思义,就是K-Nearest neighbors Algorithms的简称.我们可能都知道最近邻算法,它就是KNN算法在k=1时的特例 ...
- 微信小程序独家秘笈之抽奖大转盘
代码地址如下:http://www.demodashi.com/demo/14209.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
- Linux安装Nginx1.7.4、php5.5.15和配置
Nginx是一个轻量级的高性能Webserver.反向代理server.邮件(IMAP/POP3/SMTP)server,是Igor Sysoev为俄罗斯訪问量第二的Rambler.ru网站开发,第一 ...
- Archlive新年第一棒: 基于2.6.37稳定内核的archlive20110107
先上图,再来说明吧... 下载地址: http://u.115.com/file/t2cd0ea120 先上个本机器运行teamviewer的效果图吧... 如假包换的 2.6.37, 担保是目前最 ...
- HDUOJ---------2255奔小康赚大钱
奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- Python websocket
一.自己实现websocket 网上流传的都是Python2的websocket实现 # coding=utf8 # !/usr/bin/python import struct, socket im ...
- Bugtags 让你的 APP 测试轻松、上线安心
Bug 管理系统再进化 Bugtags 的创业团队,在过去几年,做了很多方向的尝试——没错,是开发了很多 APP. 每一轮迭代,都会被繁琐的 APP 测试困扰:无休止的截屏上传电脑,无数次的开发与测试 ...