3

我正在使用移动设备,因此我希望网络丢失很常见。我正在付款,所以每个请求都很重要。

我希望能够测试我的服务器,以准确了解它在请求周期的不同时间点在客户端网络丢失时的表现 - 特别是在整个网络通信期间的任何给定数据包发送/接收之间。

我怀疑如果在发送响应和等待 FIN-ACK 时通信丢失,服务器的行为会略有不同,我想知道我可以区分哪些断开连接的时间。

我尝试使用 scapy 模拟 http 请求,并停止每个 TCP 数据包之间的通信。(即:先发送 SYN 然后消失;然后发送 SYN 并接收 SYN-ACK 然后消失;然后发送 SYN 并接收 SYN-ACK 并发送 ACK 然后消失;等等。)但是,我很快陷入了困境试图重现功能性 TCP 堆栈。

是否有一个很好的现有工具来自动化/启用这种测试?

4

1 回答 1

2

除非您的应用程序实际上响应并生成它自己的 IP 数据包(这将非常愚蠢),否则您可能不需要在该层进行测试。简单地在 TCP 层进行测试(例如 , connect(), send(), recv()shutdown()可能就足够了,因为这些事件是您的服务器将知道的唯一事件。

于 2011-09-15T01:03:05.240 回答