linux – 如何在另一个环境(例如VM)中重现真实站点的http流量

我的网络应用程序中有一个我无法重现的错误.所有日志看起来都不错,或者至少我看不到任何异常.但它发生了.因此,我认为我可以记录进出网站的所有流量,等待发生错误,然后在我的测试环境中以某种方式重放它.它确实发生了!所以我有这样的数据:
tcpdump -s 1514 -X tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0) -Z root -C 20 -W 1000 -w capture.cap

而且我不知道我能用它做什么.我有一个运行相同版本的Web应用程序的虚拟机,我想重播其中的记录数据.我该怎么办呢?

[编辑]

我尝试在this example之后使用tcpreplay,但我的网络服务器没有记录任何流量.

我的测试机器(Fedora 8)在VMWare Player中运行.假设机器的IP是192.168.41.128并且它有一个网络接口:eth0(环回除外) – 在我的情况下,示例中的步骤#2和#3应该如何?我应该在同一台机器上还是从另一台机器上运行它?

解决方法

你有几个选择,所有这些选项都很酷,而且没有任何一款产品.需要一些装配.

> PERL application Sprocket能够重播网络流量. Here’s the raw PERL.
>那是TCPReplay.
>如果使用Varnish服务器,则可以使用varnishreplay.
>还有一个名为“PReplay”的工具适用于Windows机器.
> JWireReplay将重播tcpdump捕获.

您可能想要做的是忘记您已经检查过的日志,或者至少放弃重播这些文件的愿望.设置其中一个系统并以受控方式使用它来测试您的流量.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...