我们正在设计一个在笔记本电脑上执行以下操作的安全应用程序:
有没有人对如何做到这一点有任何好的建议?
我们已经对WMI进行了很多调查,但没有很好的方法可以做到这一点。仅禁用网络连接不够安全,因为大多数移动宽带应用程序都尝试重新建立连接。这应该是一个适用于所有笔记本电脑供应商的应用程序,无需任何用户交互(例如选择接口等)。
因此,非常感谢任何关于如何实现这一目标的建议。
答案 0 :(得分:0)
执行此操作的最简单方法是禁用适配器。你说这对你不起作用,但我怀疑它会。您可以检测某些内容是否尝试重新启用它并采取适当的行动。
如果对您不起作用,那么下一个最简单的方法就是删除设备本身。我相信你需要使用一些非托管调用来完成这项工作。有一些sample code on codeproject.com会指向正确的方向。
请记住,如果用户运行设备检查,它将再次显示。您可以monitor for DBT_DEVICEARRIVAL检测何时发生这种情况,并再次采取适当行动。
您也可以尝试简单地禁用该设备。通常虽然我已经看到当你禁用网络连接时,这正是它的作用。它可能取决于卡和操作系统。我还没有尝试过它。
我建议您重新考虑简单地禁用网络接口而不是转到设备级别。这是一种更简洁的方法,您可以随时检测界面是否恢复。你做的任何其他事情都会有些迟钝。
我能想到的唯一其他方法是使用Windows Firewall API阻止流量。请记住,并非所有网络流量都通过IP。
答案 1 :(得分:0)
嗯,这可能不是最佳解决方案,但是......您可以使用route命令禁用接口到达任何网络的能力。它可能需要对路由表进行大量调整和持续监视,但会有效地阻止接口与任何其他设备通信的能力。
答案 2 :(得分:0)
有不同的方法可以做到这一点。正如其他人在此问题中所述,它需要在比WMI允许的更低的水平上完成。有一些C ++示例可以解决此问题。查看Microsoft的.NETCONLib库。