我想知道是否可以使用.NET来禁用某个网络接口,或者替代地,删除所有现有的TCP连接(来自整个系统),然后禁止进一步创建。
我问这个是因为我想写一个小的C#实用程序,如果整体速度低于阈值,它会监视系统并阻塞网络(或至少是TCP连接)一段时间。 然后我希望它在一定时间后恢复连接。
据我所知,从.NET内部监控网卡吞吐量相当容易。 但我不知道是否可以阻止整个NIC或TCP连接。
也许使用P / Invoke和WMI?
答案 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( ... );
看一下,它应该解决你的问题,或者至少指出你正确的方向。