阅读:731回复:0
PF_FORWARD_ACTION问题
我在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; } |
|
|