我正在尝试制作一个应用程序来扫描网络并获取网络上每台 PC 的名称。如果计算机名称不在受信任的计算机列表中,则应禁用不受信任的计算机上的 Internet。如何在不需要在不受信任的 PC 上添加软件的情况下执行此操作?
答案1
如果您控制路由器/代理,则可以在那里实施基于名称或 MAC 地址的黑名单/白名单。在不与系统挂钩的情况下远程“禁用互联网”似乎充其量是粗略的。还有更多关于您的基础设施和情况的信息吗?
答案2
我认为你的做法是错误的。这种决策属于你的互联网网关。你的路由器应该做出这个决定,整个发现机制在很多层面上都是有缺陷的。
如果你没有权限访问该机器怎么办?你可以让它访问互联网。
如果你想可靠、安全地完成这类工作,我会考虑实施类似 Cisco NAC 的东西
答案3
您有多种选择。但是,您不能简单地告诉“不受信任的 PC”关闭互联网 - 这将是一次重大的安全漏洞。
有几种方法可以让计算机离线。但是,它们都涉及操纵网络本身。控制网络访问的正确方法是使用 802.1x 之类的东西。这可能是阻止坚定攻击者的唯一方法。
MAC地址过滤对于不确定的用户有一定效果。
如果你只是想在你无法控制的网络上制造麻烦,有几种方法。ARP 投毒可能有效,DHCP 或 DNS 拦截也是如此。但我并不鼓励你制造麻烦,所以你必须自己想办法。
答案4
您需要做的是在计算机接入互联网时阻止它。要接入互联网,计算机很可能要经过某种路由器/交换机/防火墙。您必须以某种方式告诉路由器/交换机/防火墙阻止该计算机的访问,最有可能的方式是阻止其 MAC 地址。您最好在网络和互联网之间设置一个硬件防火墙,并告诉它只允许那些您明确决定应该允许访问互联网的计算机(再次通过 MAC 地址)。在这种情况下,跟踪允许在网络上访问的计算机白名单可能比扫描网络试图摆脱恶意计算机要容易得多。
还应该注意的是,你可以更改 MAC 地址,但这可能是区分网络上的计算机的最佳方式。计算机名称以及通过网络发送的任何其他内容也可以更改。