我最近发现在TMGBox中用Wireshark嗅探流量的话,Wireshark无法捕获到所有的数据包。于是在做网络跟踪的时候,我还有选择性地使用NetworkMonitor来嗅探流量。在TMGBox里,我注意到所有Wireshark能够捕获到的数据包,都是以监听的网卡的为目的地址的数据包,所有监听网卡发出去的数据包都无法捕获到。但是使用NetworkMonitor的话,就能捕获到所有的数据包。
这可能和Wireshark使用的WinPcap驱动有关。我猜测,在TMG环境下,防火墙引擎在NPF和NDIS层中,远比ISA引擎底层。于是,当防火墙截获数据包的时候,WinPcap还够不到这些数据包,就产生了Wireshark无法捕获所有数据包的情况。
如果你想在TMG环境下得到较好的网络跟踪数据包,那么就是用NetworkMonitor。如果你想是用Wireshark的功能,那么恭喜你,NetMon的捕获文件也可以被Wireshark兼容,也就是说你可以在Netmon中保存你的捕获文件,然后用Wireshark打开进行分析。