版块
论坛
喜欢
话题
应用
搜索
登录
注册
diaowubin的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=186008
撑不住了,passthru的ptreceive的LookAheadBuffer中取得IP头数据是对的,但TCP头怎么不对??
撑不住了,搞了两天了,passthru的ptreceive的LookAheadBuffer中取得IP头数据是对的,但TCP头怎么不对??我的代码:NDIS_STATUSPtReceive( IN NDIS_HANDLE ProtocolBind...
全文
回复
(
8
)
2008-05-19 21:36
来自版块 -
NDIS网络接口开发
◆
◆
表情
告诉我的粉丝
提 交
diaowubin
:
NdisQueryPacket( Packet, NULL, NULL, &firstBuffer, &totalLength ); j = 0; while( firstBuffer != NULL ) { j ++; ...
(2008-05-22 22:09)
回复
cyliu
:
数据不再同一片上,需要遍历packet的里面的buffer(不是数据阿)数据片联表。你这样直接+数据,谁知道你读的数据是什么了。 似乎有什么NdisNextbuffer之类接口,好久了不写windows code了,忘记了。你可以从ndis的数据格式的api里面找到答案。
(2008-05-22 12:40)
回复
diaowubin
:
我已经改成这样了: pTCPHdr = ( PTCPHeader )( (char*)pIPHdr + (pIPHdr->iphVerLen & 0xf) * 4 ); 但取到的源端口和目的端口都是很大的值,怎么回事? 还真是不知道错在哪? 驱动网的大小牛们都...
(2008-05-21 14:55)
回复
65551494
:
pTCPHdr = ( PTCPHeader )( (char*)pIPHdr + sizeof(IPHeader) ); 如果IP头有可选头的话,这样定位就有问题了。。。 UCHAR iphVerLen; // 版本号和头长度(各占4位) (iphVerLen...
(2008-05-21 14:13)
回复
lgr98
:
ip头取到了,ip头中的协议类型是tcp, 那ip头加上ip头的长度不就是tcp头吗?我这样取是可以取到的呀!!(ip头长度的单位是4字节的)
(2008-05-20 22:55)
回复
diaowubin
:
lgr98,我也用过你这种方法了,取到的数据和我这个方法是一样的,难道是我TCP头位置截错了?不可能的呀
(2008-05-20 10:11)
回复
lgr98
:
取不到吗?没有试过你这种,你可以试试 NdisQueryPacket(packet, NULL, NULL, &ndisBuffer, &totalLen); while (NULL != ndisBuffer) { Ndi...
(2008-05-20 06:52)
回复
eleqi
:
不懂,学习中,帮顶一下
(2008-05-19 22:48)
回复
diaowubin
加关注
写私信
0
关注
0
粉丝
31
帖子
返回顶部