0

我 ruby​​ 有很棒的https://github.com/vcr/vcr gem,但仅适用于 ruby​​ HTTP 库。是否有可用于记录和播放网络流量的工具,但从系统级别,或者至少在 java 中?如果没有,你能给我证明如何创建这样的工具(仅适用于 linux)吗?

4

4 回答 4

2

您可以使用TCPRelay播放以 libpcap 格式捕获的网络数据包。如果你使用像 sip 这样的协议,你可以使用Sipp,其他选项是使用mts-project

于 2013-02-19T15:13:10.340 回答
1

结帐betamax。它是 JVM 的 VCR 端口。

于 2013-02-19T15:35:38.743 回答
0

我使用wireshark ......它有一个名为tshark 的命令行版本。您可以通过 yum install wireshark-gnome 在 centos 上安装它(wireshark 将安装 gui,但 wireshark-gnome 将其广告到您的 /bin 并为您提供 tshark。)

我使用 Jenkins CI 运行我的所有测试......例如,我经常使用 VOIP/SIP 测试......所以我有一个运行时的 jenkins 工作:

  1. 开始 SIPP 加载到服务器
  2. 开始 tshark 录制到文件

我使用命令行参数来保持 thsark 运行一段时间 - 但是您也可以使用信号来停止 tshark。

您可以设置 tshark 进行数据包捕获并拾取所有内容,或仅过滤某些层,例如仅 RTP 或仅 SIP 等。

如果您不想使用 Jenkins 来管理它,您可以通过 Ruby 或任何脚本语言以编程方式调用 tshark...只需使用 Ruby 打开并运行应用程序...例如:在 Ruby 脚本中运行命令行命令

于 2013-04-01T21:50:59.290 回答
0

对于 Java。尝试任何存根。您可以记录/回放项目中的任何调用

于 2016-09-23T05:58:00.877 回答