网络驱动
ReversalC
这个作者很懒,什么都没留下…
展开
-
TCP交互数据流 成块数据流
TCP数据流分类基于TCP的各类解决方案,可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet(小数据交互),ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。 游戏客户端原创 2012-09-01 15:10:06 · 677 阅读 · 0 评论 -
手动加载驱动的方法
今天研究NDIS中的MpSend函数的数据结构,由于网上没有资料,所以准备自己调试一下,在windbg中查看数据结构,找到passthru工程中包含MpSend函数,编译之后,在虚拟机中用驱动加载工具怎么启动都是失败,经过各种查找和分析,得到如下解决办法:对应驱动程序外面有 .inf 文件和 pssthru.sys 一起拷贝到虚拟机中接着要做的是安装,错误的安装:原创 2012-09-01 15:15:22 · 1867 阅读 · 0 评论 -
TCP的超时与重传
原理:Client/Server发送某个数据以后就开启一个计时器,在一定时间内如果没有得到发送数据包的ACK报文,那么就重新发送数据,知道发送成功为止超时和重传要做到的几点:(拥塞窗口记做cwnd,慢启动门限记做ssthresh) 1.RTT 发包往返时间测量 首先TCP必须测量在发送一个带有特别序号的字节和接受到包含该字节的确认之间的时间 2.RTO 重传超原创 2012-09-03 17:22:49 · 1537 阅读 · 0 评论 -
网络驱动过程图
原创 2012-09-05 09:40:28 · 780 阅读 · 0 评论 -
LIST_ENTRY链表
链表的使用链表是驱动开发中经常遇到的一个数据结构,主要是双向循环链表;要使用链表,需要用到一个LIST_ENTRY的结构,其定义如下:typedef struct _LIST_ENTRY { struct _LIST_ENTRY *Flink; // 指向下一个节点 struct _LIST_ENTRY *Blink; // 指向前一个节点} LIS原创 2012-09-06 10:42:07 · 9568 阅读 · 0 评论 -
经过一天带半天的学习和错误调试, 重新对协议驱动的认识
协议驱动的真谛:协议驱动上层提供直接供应用层的Socket使用的数据传输接口,下层则绑定小端口,用于发送和接受以太网包 首先谈谈我开始对协议驱动的错误认识,一开始我以为协议驱动只是对数据进行收发,也就是认为HOOK驱动,后来调“错”(其实是不理解的逻辑错误,并非程序错误),打开网站int3,Dbgprint和F9都试过了,封包就是未到 关键错误就错在对协议驱动这个4个原创 2012-09-07 11:12:06 · 981 阅读 · 0 评论