RT看了网上一些资料,基本都是如下 操作流程:passthru的PtReceive 得到某数据包 --->把 数据复制下来 ,改一改,弄一弄--->NdisSend发出去。 ~~~~~~~~~~~~~①我现在想实现这样的要求:(举个例子)
passthru 得到一TCP数据包 ETHeader+IPHeader+TCPHeader+数据(这里就假设是"Test")--->修改数据(把前面红色的数据"Test"改成"TestAAA")--->把改后的数据包 继续传到上层协议,仍然能被应用程序收到,但收到的数据变成"TestAAA"了。 ~~~~~~~~~~~~~②在①应该是相当于 自己重新构建了一个 数据包 然后NdisSend。
那在②中应该如何做? 重新构建了一个 数据包?----->如何向上传?? 直接修改PNDIS_PACKET?----->怎么改??我要实现②的形式,请问怎么弄啊?
passthru 得到一TCP数据包 ETHeader+IPHeader+TCPHeader+数据(这里就假设是"Test")--->修改数据(把前面红色的数据"Test"改成"TestAAA")--->把改后的数据包 继续传到上层协议,仍然能被应用程序收到,但收到的数据变成"TestAAA"了。 ~~~~~~~~~~~~~②在①应该是相当于 自己重新构建了一个 数据包 然后NdisSend。
那在②中应该如何做? 重新构建了一个 数据包?----->如何向上传?? 直接修改PNDIS_PACKET?----->怎么改??我要实现②的形式,请问怎么弄啊?
解决方案 »
- 我的vs2008编译的程序在其他机器上不能运行?
- mfc中有以文件夹为最小单位作为文件打开的对话框类吗?
- 请帮忙看一下我的WM_KEYDOWN为什么不取值??
- 菜鸟问:我用winio库来读AD卡的读数,怎么读不出来数据?
- 重载的OnIdle要动鼠标才执行是为什么?
- com dll在作为activex控件使用时, 为何只暴露其中一个默认接口的方法
- Can you?????
- 在VC中用二进制形式存储图片,出现error:在此环境中不允许操作。
- 串口超时设置的疑问。
- 画一条曲线,如何算出“中心点”,然后按住这个“中心点”范围拖动!
- 非模态框 的ok如何关联到主框中去.
- ADO调用oracle存储过程返回值 类型为sys_refcursor 大虾们 快来看下吧 小弟抗不住了 - -
如果想自己构造一个包传到上层,可以直接调用目标适配器的ReceiveHandle
PtReceive(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE MacReceiveContext,
IN PVOID HeaderBuffer,
IN UINT HeaderBufferSize,
IN PVOID LookAheadBuffer,
IN UINT LookAheadBufferSize,
IN UINT PacketSize
)
参数怎么传啊?我现在只想改改数据,然后将包继续往上走