我正在研究在 Beaglebone 上运行的 Python 通信类,该类从我的可用服务器列表连接到/重新连接到远程主机。
为了测试重新连接,我一直在物理上从路由器上拔下我的局域网以模拟中断。我想在代码中执行此操作以进行扩展测试。本质上,我想创建一个名为kill_internet(timeout)的方法,它将把地毯拉出来,然后在超时结束时恢复连接。
要求:
- 必须中断已建立的套接字连接。
- 断开连接必须是残酷和丑陋的 - 套接字没有机会优雅地关闭。
最后——我更喜欢局域网连接不被中断,这样我就可以继续从我的电脑上通过 SSH 监控测试。这不是一个真正的要求,因为我以后总是可以重新连接并读取日志文件。
服务网络停止将满足#1,但不确定它有多残酷。我考虑过 UFW ( iptables) 出站规则,但这可能不会阻止已建立的连接以及对#2 的同样关注。
我想我可以构建一个硬件 2 端口设备来在硬件级别执行此操作,但这很好 - 很难。
任何想法如何进行?
谢谢比尔