我知道有很棒的https://github.com/vcr/vcr gem,但只适用于ruby HTTP库。是否有可用于记录和播放网络流量的工具,但是从系统级别,或者至少在java中?如果没有,你能给我一个概念证明如何创建这样的工具(仅适用于linux)?
答案 0 :(得分:2)
您可以使用TCPRelay播放以libpcap格式捕获的网络数据包。 如果您使用的是sip等协议,则可以使用Sipp,其他选项是使用mts-project。
答案 1 :(得分:1)
结帐betamax。它是JVM的VCR端口。
答案 2 :(得分:0)
我使用wireshark ...它有一个名为tshark的命令行版本。你可以通过yum install wireshark-gnome在centos上安装它(wireshark将安装gui,但wireshark-gnome将它广告到你的/ bin并给你tshark。)
我使用Jenkins CI运行我的所有测试...例如,我使用VOIP / SIP测试很多...所以我有一个jenkins工作,当运行时:
我使用命令行参数来保持thsark运行一段时间 - 但是你也可以使用信号来停止tshark。
您可以设置tshark进行数据包捕获并拾取所有内容,或仅过滤某些层,例如仅限RTP或仅限SIP等。
如果您不想使用Jenkins来管理它,您可以通过Ruby或任何脚本语言以编程方式调用tshark ...只需使用Ruby打开并运行应用程序......如:Running command line commands within Ruby script
答案 3 :(得分:0)
for Java。试试anystub。您可以在项目中记录/回放任何调用