BigBall
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2002-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:997回复:0

PF_FORWARD_ACTION问题

楼主#
更多 发布于:2002-05-30 18:02
文章标题 PF_FORWARD_ACTION问题  
BigBall




新手上路



问题分数 : 20
贴子数量 : 9
注册日期 : 2002/3/8
在线情况 : 在线
   发表于: 2002/5/30 - 10:01
我在IPHOOK里设置了PacketFilterExtensionPtr过虑,
设置指向我自己的函数
callback.ExtensionPointer = (PacketFilterExtensionPtr)FTcpPackets;
ipFilterIRP = IoBuildDeviceIoControlRequest (IOCTL_PF_SET_EXTENSION_POINTER, filterObject, &callback, sizeof (PF_SET_EXTENSION_HOOK_INFO), NULL, 0, false, NULL, NULL);

FTcpPacket要求能够检查并且修改send出去的包,我在测试时候,发现recv的包都是正常的,但是send出去的包PacketLength的长度却不对,只有IPHeader中指定的协议类型的头大小的长度,Packet的内容明显不对,少了很多,通讯却还正常,也就是说,只能捕捉到进来的完整包,而捕捉不到出去的完整的包,请问怎么回事啊?


PF_FORWARD_ACTION FTcpPackets (struct IPHeader *PacketHeader,unsigned char *Packet, unsigned int PacketLength, unsigned int RecvInterfaceIndex, unsigned int SendInterfaceIndex, IPAddr RecvLinkNextHop, IPAddr SendLinkNextHop)
{
DbgPrint (\"---PacketLength:%d---SendInterfaceIndex:%d---RecvInterfaceIndex:%d---\\n\", PacketLength, SendInterfaceIndex, RecvInterfaceIndex);
return PF_PASS;
}
一个初学者:)
游客

返回顶部