感谢您使用微软产品。一般来说,要捕捉TCP包,我们需要写设备驱动。这样能够在底层获取网络通信数据。这样做类似于Network Monitor。较为简单的方法是在IP层获取数据。我们可以用WinSock来实现。在WinSock中,我们可以通过WSAIoctl函数以及SIO_RCVALL参数设置Socket来捕获IP包。有关WSAIoctl的详细信息,请参考VC的在线文档:http://msdn.microsoft.com/library/en-us/winsock/wsapiref_6ik2.asp
另外,您可以参考以下相关文章。这篇文章针对CSharp写的,不过相同原理也能使用在VC上。http://www.c-sharpcorner.com/Network/SimpleSnifferInCSLM.asp-微软全球技术中心 VC开发支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。