阅读:2026回复:5
利用passthru实现vpn的几个问题,谢谢
现在想使用passthru实现vpn客户端。看了一些资料现在有很多问题请教大家,希望能得到指点谢谢。
1.看了一些例子里面在接收时都是只处理了ptreceivepacke,没有处理ptreceive。看的资料里说这个是必须处理的吧。 在ptreceive中处理网络包,有两种情况,一种是可以直接获取网络包,这里可以直接处理; 一种是不能获取完整的网络包,这里如果希望立即获取完整的网络包需要自己发送MPTransferData。如果不需要 就在MPTransferData中判断返回状态,如果返回成功就说明已经获取到完整的包可以直接处理,否则在 PtTransferDataComplete中处理。不知道是不是这个过程。 2.如果实现esp和ah,看有的帖子说需要重新计算tcp与udp的校验和,应该没有必要重新计算吧。 3.我参考了ipsec driver的代码,将它移植到wdk的passthru中,编译的时候总有error:2220.就是说吧警告当做错误 ,不能生成obj文件。查了一下都是说将警告级别降低就可以了,我试了也确实可以,但是感觉不放心,有没有什么方 法能去掉这个警告呢?是代码不严谨吗? 4.ipsec driver的代码有人说不稳定,还有其他可以参考的吗? 5.虽然现在还没考虑数据包过大添加头后封包的问题,这里有什么注意的吗,一般怎么实现? 6.这个比较重要,现在不知道怎么测试,建立两台虚拟机然后相互访问网上邻居可以测试吗,有没有什么方法可以查 看发送与接收到的数据包。哪里有参考资料呢,网上看都是说怎么调试,或者直接在passthru中输出。 问题比较多,希望大家能耐心看一下,十分感谢!!! |
|
沙发#
发布于:2012-02-27 09:26
有木有人啊
|
|
板凳#
发布于:2012-02-28 14:23
1. receive 和 receivepacket都要处理 . receive中如果数据不完整,就自己发送TransferData。
2. 要计算ip头校验值 3. 是代码不严谨。你的ipsec driver哪里找到的? 4.不知道。我有商业版的。 5. 注意mtu即可 6. 网络抓报工具 |
|
|
地板#
发布于:2012-02-28 20:54
同意楼上所说,IPSec driver好像只实现了AH吧,ESP没有实现,而且最重要的策略管理,安全关联的自动协商都没有写,求哪位大牛分享商业版本!
|
|
地下室#
发布于:2012-02-29 09:17
回 cyliu 的帖子
cyliu:1. receive 和 receivepacket都要处理 . receive中如果数据不完整,就自己发送TransferData。 谢谢您的回复! 1.只能自己发送TransferData吗,是不是也可以在MPTransferData或者PtTransferDataComplete中处理。哪种方式简单一点呢。 3.ipsec driver我是在网上下到的,它有一个官网。但是只更新到2002年,版本是0.99版。 不知道找的地方对不对。 4.商业版的是要买的吧~~~ 6.我这几天也测试了,用了网络调试助手。这个可以吧 再次谢谢! |
|
5楼#
发布于:2012-03-07 09:47
回 cyliu 的帖子
cyliu:1. receive 和 receivepacket都要处理 . receive中如果数据不完整,就自己发送TransferData。 斑竹,我参照以前的帖子实现了PtReceive以及相应其他函数的处理。 但是在虚拟机里测试的时候数据都不会经过这里,现在没办法测试, 不知道有没有什么办法?谢谢! |
|