如何故意丢失源自可执行文件的数据包
How to deliberately lose packets originating from an executable
我正在测试一些基于 getaddrinfo 挂起的代码。如果 getaddrinfo 永远得不到响应,它可能会挂起。因此,我正在尝试使用调用 getaddrinfo 的简单程序在我的 mac 上对此进行测试。我希望我可以拦截源自我的可执行文件 (a.out) 的数据包并丢弃它们。有没有办法做到这一点或任何其他方法来测试这个?
我认为拒绝访问 exe 是行不通的,因为它仍然会得到响应并出错,所以我真的不确定除了“丢失”数据包之外的其他方法,所以它永远不知道是否它失败了或者只是在等待。
谢谢!
编辑 /etc/resolv.conf
并将其指向受防火墙保护的地址。然后 getaddrinfo()
将不会收到响应,您可以看到挂起。剧透:一段时间后超时。有些人真的不想长时间停顿,在后台线程中调用它。
我正在测试一些基于 getaddrinfo 挂起的代码。如果 getaddrinfo 永远得不到响应,它可能会挂起。因此,我正在尝试使用调用 getaddrinfo 的简单程序在我的 mac 上对此进行测试。我希望我可以拦截源自我的可执行文件 (a.out) 的数据包并丢弃它们。有没有办法做到这一点或任何其他方法来测试这个?
我认为拒绝访问 exe 是行不通的,因为它仍然会得到响应并出错,所以我真的不确定除了“丢失”数据包之外的其他方法,所以它永远不知道是否它失败了或者只是在等待。
谢谢!
编辑 /etc/resolv.conf
并将其指向受防火墙保护的地址。然后 getaddrinfo()
将不会收到响应,您可以看到挂起。剧透:一段时间后超时。有些人真的不想长时间停顿,在后台线程中调用它。