阅读:1921回复:7
是不是只有在 NdisSend 返回 NDIS_STATUS_PENDING 时 ProtocolSendComplete 才会被调用?
是不是只有在 NdisSend 返回 NDIS_STATUS_PENDING 时 ProtocolSendComplete 才会被调用?
NdisCoSendPackets,NdisSendPackets 和 NdisSend 有什么区别?分别用在什么情况下? |
|
沙发#
发布于:2002-07-25 13:30
还有一个问题:在 NAT 网关中,接收到一个包,我们当然要改变它的 IP 地址(依照规则),可是似乎用 Hook NDIS 的方法得到的包也包含物理桢头,那是不是也要改变其中的 MAC 地址再把它转发出去呢?
|
|
板凳#
发布于:2002-07-25 14:11
是不是只有在 NdisSend 返回 NDIS_STATUS_PENDING 时 ProtocolSendComplete 才会被调用? 是的
NdisCoSendPackets用于面向连接时 NdisSendPackets 用于发送多包 NdisSend 用于发单包 嗬嗬! |
|
|
地板#
发布于:2002-07-25 14:14
还有一个问题:在 NAT 网关中,接收到一个包,我们当然要改变它的 IP 地址(依照规则),可是似乎用 Hook NDIS 的方法得到的包也包含物理桢头,那是不是也要改变其中的 MAC 地址再把它转发出去呢? 不是。nat做的。 |
|
|
地下室#
发布于:2002-07-25 14:32
to fenger_li:
可能是我没有说清楚,我就是在用 Hook NDIS 的方法来做 NAT,接收到的包包含物理桢头吗?那么做 NAT 代理也要修改物理桢头里面的 MAC 地址了? |
|
5楼#
发布于:2007-03-18 21:29
关键问题总是没人回答,尽回答一些无关痛痒的问题
|
|
|
6楼#
发布于:2007-03-20 10:05
NDIS HOOK接收的包包括物理桢头,如果要转发,那你肯定要修改了。
|
|
|
7楼#
发布于:2007-03-20 12:42
调用系统函数让底层把剩余的data传上来就ok了
|
|