0

我想用 c# 开发一个程序,它可以针对应用程序或端口的流量并尝试查看该流量。例如,我在我的应用程序中选择了 example.exe 程序,它给了我它的网络流量数据。有可能吗?如果可以,请给我一些指示。我试图不使用 airPcap 或 winPcap 或类似的东西,因为这些库针对的是网卡,我不知道用户可能使用什么类型的接口卡。

4

3 回答 3

1

winPcap is a very good library for what you want to do. If you choose to do it yourself, you will only be reinventing the wheel, and might not be able to support as many network cards as it does.

If you only want to see the traffic, you would have to use a proxy in between. But I believe you are not looking to build something like, fiddler for example, that sits in between and allows you to monitor the traffic.

于 2012-06-18T09:45:39.473 回答
1

您必须捕获从 NIC (pcap) 接收到副本的数据包,或者通过您自己的应用程序路由请求,以便检查实时数据包流(类似代理)。

对于 C# 中的 WinPcap 实现,请查看SharpPcap。对于代理,请参见此处

于 2012-06-18T09:34:52.803 回答
0

如果我对您的理解正确,您想要制作 ac# 应用程序,您可以在其中从正在运行的应用程序列表中进行选择,并显示进出该应用程序的网络流量。您可以使用 c# 执行此操作,但您必须调用 Windows API 才能获取所需的信息。此外,您将需要用于数据包捕获的非 c# 库,例如 WinPcap。Windows 有一个新的 NetMon API,可以做类似 pcap 的事情。我没有使用它,但你可能会更好地使用 pcap 和 CodeCaster 发布的SharpPcap库。

于 2012-10-07T13:22:27.107 回答