我试图制作一个扫描networking的应用程序,并获取networking上每台PC的名称。 如果计算机名称不在受信任的计算机列表中,则应在不受信任的计算机上禁用Internet。 我怎样才能做到这一点,而不需要在不受信任的PC上添加软件?
如果你控制路由器/代理,你可以在那里实现一个名字或基于MAC地址的黑名单/白名单。 远程“禁用互联网”没有任何挂钩到系统似乎粗略充其量。 有关您的基础设施和情况的更多信息?
我认为你正在做这个错误的方式。 这种决策属于你通向互联网的门户。 你的路由器应该做出这个决定,整个发现机制在很多层面上都是有缺陷的。
如果您没有权限访问本机,该怎么办? 你可以使用互联网。
如果你想要可靠和安全地做这样的事情,我会考虑实施类似思科NAC的事情
你有几个select。 然而,你不能简单地告诉“不可信的电脑”closures其互联网 – 这将是一个重大的安全漏洞。
有几种使电脑脱机的策略。 但是,它们都涉及操纵networking本身。 控制访问networking的正确方法是使用类似于802.1x的。 这可能是阻止确定的攻击者的唯一方法。
MAC地址过滤对于未确定的用户有些有效。
如果您只是想在networking上造成麻烦而无法控制,则有几种技术。 ARP中毒可能是有效的,以及DHCP或DNS拦截。 我并不是在促使你们造成麻烦,所以你必须自己弄清楚。
我发现一个程序,做你正在做的事情。 这就是所谓的网卡挂锁 。
我已经玩过它,它的工作原理如同广告。 它还有一些其他好的function:

你需要做的是阻止电脑到达互联网的地步。 为了上网,电脑很可能要经过某种路由器/交换机/防火墙。 您必须以某种方式告诉您的路由器/交换机/防火墙阻止从该计算机访问,很可能是通过阻止其MAC地址。 你最好在你的networking和互联网之间build立一个硬件防火墙,告诉它只允许那些你已经明确决定的计算机(也是通过MAC地址)访问互联网。 在这种情况下,跟踪networking上允许的计算机的白名单可能要比扫描试图摆脱恶意计算机的networking要容易得多。
还应该注意的是,可以改变他们的MAC地址,但这可能是您可以区分networking上的计算机的最佳方式。 计算机名称,以及通过networking发送的其他内容也可以更改。
我build议不仅限于个人电脑,也限制用户使用。 你将需要像Squid这样的代理服务器。 确保用户不能直接访问网站,只能通过代理。
然后你就可以实现密码保护,只有通过authentication的用户才能通过Squid访问Internet。 可以让Squid 根据Active Directory (或其他LDAP服务器)检查密码。 在这种情况下,控制用户对互联网的访问非常简单,您只需允许访问特定的安全组。 将用户添加到该组可以为该用户启用Internet访问。
如果我们正在谈论Windows,而且您没有设置ACL(可能会很长)或者Web过滤解决scheme的选项,那么您可以做的一件事就是实施一项IPSEC策略,只要您有所述系统上的pipe理员权限。 IPSEC策略可以阻止任何stream量出站到除私人networking范围外的任何其他stream量。 这将允许您仍然pipe理您的networking上的计算机,但不让它与互联网交谈。 IPSEC策略并不是很多用户(以及不lesspipe理员)所熟悉的,即使他们拥有pipe理员权限,他们也可能不知道如何撤销所做的工作。 你可以通过netsh命令来做到这一点。
如果您没有pipe理员权限,那么您需要查看networking上的阻止情况。