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

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

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

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

总结

以上是内存溢出为你收集整理的linux – 如何在另一个环境(例如VM)中重现真实站点的http流量全部内容,希望文章能够帮你解决linux – 如何在另一个环境(例如VM)中重现真实站点的http流量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1038959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存