我正在制作一个从某些网络服务中抓取信息的程序。我想测试我的程序在无法访问 Web 服务时的反应,例如 Web 服务是否已关闭或本地计算机是否无法访问互联网。每次我想运行测试时,断开整个计算机与网络的连接是一项繁重的工作。
有没有一种简单的方法可以在没有网络访问的Linux下运行程序?
像这样的命令会很棒:
$ no_networking "ruby my_program.rb"
答案1
您有多种选择,例如将要连接的主机添加到 /etc/hosts 文件中:
vi /etc/hosts, add: 10.0.0.1 host.where.i.want.to.connect.to
确保 10.0.0.1 是您的网络中不存在的 IP 地址。使用此方法将覆盖您在 my_program.rb 应用程序中配置的主机的解析。如果您想再次“允许”正常访问,只需在 /etc/hosts 文件中注释该行,方法是在该行前添加一个#
字符。
另一种选择是添加防火墙规则,阻止或拒绝到您正在连接的主机的流量。