jiangfeng88
驱动牛犊
驱动牛犊
  • 注册日期2011-05-09
  • 最后登录2011-06-06
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2593回复:7

ndis 加解密

楼主#
更多 发布于:2011-05-29 03:43
        大家好!我现在基于passthru做了一个NDIS的加解密程序,现在的问题是解密数据能够成功,但是貌似解密之后的数据没有提交上去,因为我从一端ping另外一端的时候,在另外一端NDIS中间层打印了解密后的数据完全是正确的,但是另外一端并没有回应一个ICMP包,所以我猜想是解密后的数据包没有正确的提交到上层。
        我简单的介绍一下我加解密的实现:首先是在加密端用ESP算法加密传输层之后(包括传输层头)的数据,因为AES加密算法需要数据时16的倍数,所以还有相应的填充数据,所以加密后数据的总长度会变长。然后在接受端用AES算法进行解密数据,解密后数据的长度还原到原来的长度。由于数据的加解密在数据是一片完整的存储区时才比较好计算,所以我在接受函数和发送函数都是分配自己的buffer描述符和buffer。
        烦请各位大牛帮帮忙啊! 这个问题困扰我一个月了!
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
沙发#
发布于:2011-05-30 13:14
抓一下包,看看包是否正确,别网络校验之计算问题
走走看看开源好 Solaris vs Linux
jiangfeng88
驱动牛犊
驱动牛犊
  • 注册日期2011-05-09
  • 最后登录2011-06-06
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2011-05-30 16:41
抓到的报是加密的数据!(因为抓包是从网卡拷贝一个包过来,我还没有解密的数据),对于校验和的问题我觉得应该没有什么问题,因为我解密后的数据完全就是发送端要发送的数据(未加密之前的数据),一模一样的!
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2011-05-31 14:00
你修改了包数据后,就要重新计算校验和的.看这块计算对不对
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
iihacker
论坛版主
论坛版主
  • 注册日期2010-01-07
  • 最后登录2017-08-16
  • 粉丝5
  • 关注8
  • 积分377分
  • 威望1941点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2011-06-01 10:45
看一下在不装驱动时候能不能ping通,很多防火墙是拦截ICMP的。如果能的话,就是没有提交上去啦。
NDIS 1群74755180 NDIS 2群182802097 交换机软硬件技术群 187471475 FPGA PCI PCIE 群187471817
jiangfeng88
驱动牛犊
驱动牛犊
  • 注册日期2011-05-09
  • 最后登录2011-06-06
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2011-06-01 19:49
首先,在没有装加解密模块的时候是能够ping通的!至于上面那位大哥说的检验和问题,我后来重新计算了校验和,还是提交不上去。不知道怎么回事?我该怎么办呢?
wxj120bw
驱动小牛
驱动小牛
  • 注册日期2008-06-14
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分109分
  • 威望1014点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2011-06-03 02:16
不加密驱动和加密驱动尝试下 不加密驱动如果ping通 说明是加密出的错 若ping不通 驱动哪里出错
jiangfeng88
驱动牛犊
驱动牛犊
  • 注册日期2011-05-09
  • 最后登录2011-06-06
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2011-06-03 15:05
现在的情况又变了,能提交上去,但是提交的貌似是加密的包,但是我用debug调试了一下,它确实进入了我的解密代码,而且数据也改变了,重新分配了一个packet描述符和buffer描述符,还有一个buffer数据区,buffer数据区是解密之后的数据,把它们关联起来在提交上去,提交的明明是mypacket,但是上层接受到的貌似是加密后的数据!
游客

返回顶部