阻止对主机的请求

时间:2012-12-24 09:36:55

标签: sockets network-programming request block host

免责声明:我制作恶意软件。

我想知道是否可以阻止我本地PC上的任何程序向互联网上的某个特定主机发送请求。是否有可能在高于网卡驱动程序的级别上。

我认为,例如浏览器打开套接字并通过它发送一些数据。我可以以某种方式访问​​它并使用它做什么来阻止数据的发送?

如果可能,我应该采取哪种方式?

2 个答案:

答案 0 :(得分:1)

您可以使用虚假路由规则从命令提示符轻松执行此操作。下面我将介绍如何在Windows上执行此操作。您也可以修改此解决方案以在Linux / Unix上运行。

从以 admin

运行的CMD shell提示符开始

第1步 - 使用nslookup找到要阻止的主机的IP地址

C:\>nslookup www.stackoverflow.com
Server:  myrouter.home
Address:  192.168.1.1

Non-authoritative answer:
Name:    stackoverflow.com
Address:  69.59.197.21
Aliases:  www.stackoverflow.com

我们在此处看到www.stackoverflow.com的IP地址为69.59.197.21

第2步 - 使用route print -4打印系统的当前路由表。查找“0.0.0.0 destination”行并标识互联网的网关地址。

C:\>route print -4
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1     192.168.1.10     10
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.1.0    255.255.255.0         On-link      192.168.1.10    266
     192.168.1.10  255.255.255.255         On-link      192.168.1.10    266
    192.168.1.255  255.255.255.255         On-link      192.168.1.10    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      192.168.1.10    266
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      192.168.1.10    266
===========================================================================

现在您可以看到我的网关是192.168.1.1(我家路由器的IP地址)。很明显,我的网络子网是192.168.1。*。 (如果您还不知道,也可以键入ipconfig来发现子网的所有属性。)

步骤3 - 为要阻止的IP地址插入虚假路由规则。诀窍是在不是网关的同一子网上选择IP地址。在这种情况下,192.168.1.2是我子网中不存在的主机。

C:\> route add  69.59.197.21 MASK 255.255.255.255 192.168.1.2
 OK!

您现在可以再次输入route print -4以确认表格中的虚假路线规则。这个条目说的是“每当这个主机需要发送到69.59.197.21时,尝试通过192.168.1.2发送它”。这将迫使主机发送到不存在的主机无法路由。

这就是它的全部内容。当我输入这个时,我实际上阻止我的机器到达www.stackoverflow.com。现在要撤消这个,只需输入一下:

C:\>route delete  69.59.197.21
 OK!

小字:

许多网站将拥有多个IP地址。如果NSLookup没有立即告诉您所有IP地址,那么您可能必须每隔几分钟定期调用NSLookup以查看更多IP地址。通过一些实验,您可以使用此技术来阻止整个网络。

如果您的浏览器配置为使用代理服务器,则此技术可能无效。

此外,此技术不太可能在重新启动后继续存在。您可以编写一个插入Windows任务计划程序(或其他适用于您的操作系统的自动启动机制)的脚本,该脚本在操作系统启动或用户登录时执行添加路由的工作。

答案 1 :(得分:0)

我通过编辑C:\Windows\System32\drivers\etc\hosts文件来阻止我的网络浏览器。

您需要“以管理员身份运行”来编辑此文件。

我添加了以下条目:

127.0.0.1   bad-domain.com
127.0.0.1   www.bad-domain.com

这会将请求重定向到localhost。

系统重新启动时编辑仍然存在。