阅读:2381回复:4
请教一个关于Winpcap和Passthru结合的问题
有没有可能用Winpcap监听报文的同时用Passthru控制报文是否需要传给上层呢?
我现在需要把报文从一个网卡监听之后从另一个网卡上发出去(这一步用Winpcap做了),但是原先的网卡会受到一份同样的报文并传给上层协议栈,怎样才能避免原先的网卡处理该报文呢? 多谢:)! |
|
沙发#
发布于:2010-01-27 15:24
Passthru禁止一切报文接收.都使用你的应用层报文处理不久可以了
|
|
|
板凳#
发布于:2010-01-27 15:33
回 1楼(cyliu) 的帖子
我担心的是如果Passthru把所有的报文都禁掉了,会不会Winpcap也收不到报文了?Winpcap的驱动貌似是一个Protocol Driver,是在Passthru IMD的上面的……而且现在比较诡异的是之前写的一个Passthru中间层驱动调试OK了,现在一开应用层Winpcap的处理程序就回蓝屏,搞得很郁闷…… 还望指点啊 |
|
地板#
发布于:2010-01-27 16:33
回 1楼(cyliu) 的帖子
其实我的问题是这样:我需要把报文从一个网卡A转发到另一个网卡B上(中间要做一步NAT),这一招对ICMP没有问题,但是遇到TCP时出现问题。我的链接是从网卡B上建立的,报文发到网卡A时,pcap和主机协议栈同时收到这个报文,结果主机看到是发给网卡A的但是A上并没有打开任何TCP链接,于是就发送一个RST报文把链接重置了,结果就挂了。 我在想有没有什么办法让报文不从网卡A送入主机协议栈,从而避免这个RST包呢? |
|
地下室#
发布于:2010-01-28 17:10
如果是做nat,就去掉winpcap。直接使用passthru,这个做起来也不复杂,很简单。
winpcap用在这里是错误的解决方法。 |
|
|