我正在寻找一种工具,用于录制和回放一侧的TCP流测试。我看到了记录整个TCP流(服务器和客户端)的工具,用于测试防火墙等,但我正在寻找的是一种工具,它只记录客户端提交的流量(带有计时信息),然后将其重新提交给服务器进行测试。
发布于 2012-06-01 00:51:11
由于TCP处理重传、序列号、SACK和窗口的方式,这可能是一项比您想象的更困难的任务。
通常,人们使用tcpreplay来重放数据包;然而,它是doesn't support synchronizing TCP sequence numbers。由于您需要具有双向TCP流(这需要同步序列编号),因此请使用以下选项之一:
TCP
scapy来剥离你的流的内容,解析时间和交互性。接下来,使用此信息打开到服务器的新TCP套接字,并将该数据反序列化为新的TCP套接字。如果遇到TCP重传和窗口动态,使用scapy解析原始流可能会很棘手。将字节写入新的TCP套接字将不需要自己处理序列号...scapy进行解析。获得原始字节后,将这些字节写入新的TCP套接字(根据需要考虑交互性)。将字节写入新的TCP套接字将不需要自己处理序列号...spawn远程登录(或其他任何)会话,并使用send / expect重播文本命令。你所期望的库/底层操作系统将会处理你正在测试的web服务的序列numbering.Selenium或Splinter来模拟一个真实的web客户端点击链接会容易得多。您的http库/底层操作系统将负责新流中的序列号。发布于 2013-04-11 08:29:09
看看SYN code.google.com/p/wireplay或github.com/abhisek/wireplay,它承诺根据需要修改所有SYN/ACK序列号,重放捕获的WirePlay会话的客户端或服务器端。
我不知道是否有可用的二进制构建,您需要自己编译它。
请注意,我自己还没有尝试过这一点,但正在研究。
发布于 2013-06-27 09:21:04
是的,实现这样一个工具是一项艰巨的任务。我在两年前开始实现这种工具,现在这个工具已经成熟了。尝试一下,也许你会发现它就是你要找的工具。
https://stackoverflow.com/questions/10834615
复制相似问题