禁用NIC或阻止所有tcp连接

时间:2009-09-04 08:57:27

标签: c# .net networking tcp

我想知道是否可以使用.NET来禁用某个网络接口,或者替代地,删除所有现有的TCP连接(来自整个系统),然后禁止进一步创建。

我问这个是因为我想写一个小的C#实用程序,如果整体速度低于阈值,它会监视系统并阻塞网络(或至少是TCP连接)一段时间。 然后我希望它在一定时间后恢复连接。

据我所知,从.NET内部监控网卡吞吐量相当容易。 但我不知道是否可以阻止整个NIC或TCP连接。

也许使用P / Invoke和WMI?

1 个答案:

答案 0 :(得分:1)

我发现了这个:How to kill any network connection。有一个人写的整个班级来杀死任何网络连接。它围绕您的代码中的这两个导入来自IP Helper(MSDN链接)API:

[DllImport("iphlpapi.dll")] 
public static extern int GetTcpTable( ... ); 

[DllImport("iphlpapi.dll")] 
public static extern int SetTcpEntry( ... );

看一下,它应该解决你的问题,或者至少指出你正确的方向。