ftbk86
驱动牛犊
驱动牛犊
  • 注册日期2005-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望402点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
阅读:3618回复:13

数据包加密和解密的问题,急待高手解疑!!!!!!

楼主#
更多 发布于:2010-03-12 12:36
AB两台机器,需要在底层数据通讯的时候进行数据加解密,数据加密发送部分已经完全实现,如果A发送的话,B的NDIS层能收到数据,但是在B部分接收数据的部分解密却有问题:

我是通过ndis这么处理的:

程序的整个框架采取的是passthru,我在数据接收注册协议函数PtReceive 中处理数据解密的,在此部分运用解密后,然后用
NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &MyPacket, 1); 向上传递该数据包。

但是在我在用iris抓包后发现,数据包并没有被解密!各位高手请教下是什么原因?...

1、难道在ptreceive中做解密数据包 是不行的么?如果此处不可以的话,在什么地方进行数据包解密合适呢,不至于让上层收到乱码?
2、iris抓的包难道是在我ndis中协议层下面进行的?
3、还在传递数据包的时候不是按层进行传递,而是拷贝数据包进行并发传递?


高手帮忙看看!


vipfengxiao
驱动牛犊
驱动牛犊
  • 注册日期2009-12-29
  • 最后登录2011-12-21
  • 粉丝1
  • 关注0
  • 积分79分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-03-13 15:36
  可能你的解密有问题 你是怎么解密的?解密和你的加密是一样的 要重新计算长度 校验和 重新关联包描述符
vipfengxiao
驱动牛犊
驱动牛犊
  • 注册日期2009-12-29
  • 最后登录2011-12-21
  • 粉丝1
  • 关注0
  • 积分79分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-03-13 15:38
回 楼主(ftbk86) 的帖子
ptreceive  和ptreceivePacket里面都要进行解密  解密步骤我上面说了
ftbk86
驱动牛犊
驱动牛犊
  • 注册日期2005-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望402点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-03-14 00:44
检验和之类的这些都已经计算过了!而且已经确认没有问题了!解密应该是没有错的!解密后的内容我已经打印出来了!
我在将解密后的数据NdisAllocateBuffer,然后     NdisChainBufferAtFront(MyPacket,MyBuffer); 最后

NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &MyPacket, 1);

但是这样操作后用iris去抓包,发现是没有解密的!不知道是为什么?
同时为了验证我解密的是否成功,我甚至在NdisMIndicateReceivePacket函数之前都查看了mypacket是没有任何问题!

搞不清楚是什么原因!
zhou_gz8888
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2014-08-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望247点
  • 贡献值1点
  • 好评度28点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-03-14 23:19
哪个高人给解答一下,再次感谢。
ftbk86
驱动牛犊
驱动牛犊
  • 注册日期2005-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望402点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-03-15 01:24
回 4楼(zhou_gz8888) 的帖子
是的啊!高手看看呢!这个是为什么?
mz_suya
驱动小牛
驱动小牛
  • 注册日期2008-06-13
  • 最后登录2010-08-01
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望648点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分1分
6楼#
发布于:2010-03-15 02:05
2、iris抓的包难道是在我ndis中协议层下面进行的? en
ftbk86
驱动牛犊
驱动牛犊
  • 注册日期2005-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望402点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2010-03-15 09:05
好像不是的哦!..我检查了 iris的拦截!..他没有用到比ndis还要底层的东西哦!....
bannerman
驱动牛犊
驱动牛犊
  • 注册日期2010-01-26
  • 最后登录2014-05-29
  • 粉丝2
  • 关注1
  • 积分41分
  • 威望341点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分22分
8楼#
发布于:2010-03-16 15:54
上面不是有人回答你了嘛
ftbk86
驱动牛犊
驱动牛犊
  • 注册日期2005-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望402点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2010-03-16 17:44
?不明白!
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
10楼#
发布于:2010-03-16 17:52
关注需要解密的函数的就可以了。

走走看看开源好 Solaris vs Linux
ftbk86
驱动牛犊
驱动牛犊
  • 注册日期2005-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望402点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2010-03-17 01:04
版主大人!我这么做了!确实不行!...解密函数确实没有错误!但是这样就是不行!
vipfengxiao
驱动牛犊
驱动牛犊
  • 注册日期2009-12-29
  • 最后登录2011-12-21
  • 粉丝1
  • 关注0
  • 积分79分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2010-04-22 11:30
我估计你是在关联解密后的包时出问题了  
hyzimbtb
驱动牛犊
驱动牛犊
  • 注册日期2004-08-27
  • 最后登录2010-11-10
  • 粉丝2
  • 关注0
  • 积分387分
  • 威望216点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2010-05-08 11:36
楼主有没有解决啊?我也碰到了同样的问题
游客

返回顶部