标签: tcpreplay

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

我的 Web 应用程序中存在无法重现的错误。所有日志看起来都不错,或者至少我看不到任何异常。但它发生了。所以我想我可以记录所有进出我的网站的流量,等待错误发生,然后在我的测试环境中以某种方式重播。它确实发生了!所以我有这样捕获的数据:

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
Run Code Online (Sandbox Code Playgroud)

我不知道我能用它做什么。我有一台运行相同版本的 Web 应用程序的虚拟机,我想重放其中记录的数据。我应该如何处理这个问题?

[编辑]

我尝试按照此示例使用tcpreplay执行此操作,但我的 Web 服务器没有记录任何流量。

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

linux http tcpdump network-traffic tcpreplay

7
推荐指数
1
解决办法
3647
查看次数

使用 VMware 进行 Tcpreplaying

这更像是一个测试台设置问题。

我想使用VMware在VM中调试linux内核中的一些网络代码。我的 VM 有两个网络接口。我想要做的是在主机中重放捕获文件并在VM中接收数据包。我的问题是我在 VM 中看不到重放的数据包。

  1. 我在主机上以 sudo 身份运行 VMware 和 tcpreplay。因此我认为访问设备文件应该没有任何问题。
  2. 我正在运行 VMware 工作站 7.0

一种。我首先从自定义网络开始,因为它提供了创建自己的虚拟网络名称的选项。我分别为这两个接口写了/dev/vmnet3和/dev/vmnet4。但是,在引导来宾之后,我没有看到在主机上创建的任何这些接口或设备文件(在 /dev 中)。

湾 然后我尝试了“仅主机”,但这并没有显示与接口关联的网桥/设备文件。

C。最后我尝试了桥接网络模式。

我在主机上看到 vmnet1、vmnet8 和 vboxnet0。对于以上三种情况,我已经在每个接口上播放了捕获文件。我尝试使用“tcpdump -i any”在虚拟机中捕获数据包。但是,我没有看到任何数据包。

任何想法/指示?

vmware-workstation tcpreplay

5
推荐指数
1
解决办法
2910
查看次数

用于数据包重放的 GUI 工具

是否有免费软件 Windows/Linux GUI 数据包重放工具具有 tcpreplay ( http://tcpreplay.synfin.net/ ) 或 bittwist ( http://bittwist.sourceforge.net )的高级功能?我对以下功能特别感兴趣:

  1. 打开 pcap 文件进行编辑和注入任意网络
  2. 更改 UDP 数据包的源和目标地址/端口
  3. 更改数据包时序(毫秒分辨率)
  4. 编辑数据包内容,包括修改其长度
  5. 具有适用于 Windows 或 Linux(或 Mac OS X)的图形前端

我已经扫描了几个潜在工具列表(这里这里),但没有什么真正符合我的要求。最接近的工具可能是 Ostinato ( http://code.google.com/p/ostinato/ ),但它似乎无法打开数据包捕获文件。谢谢你的帮助!

graphical-user-interface packet-analyzer tcpreplay

5
推荐指数
1
解决办法
6205
查看次数

现有的 TCP 中继解决方案

我有一个需要使用 TCP 中继的场景。在我开始写一些自定义的东西之前,我想看看是否有人知道可以为我做这件事的现有软件。

我在不同的网络上有 2 台无法相互连接的设备。我们称它们为网络 A 和 B。这些设备需要通信,它们可以通过网络 C 上的“中间人”中继来实现。A 可以连接到 C,B 可以连接到 C。C 不能连接到 A 或 B .

A -> C <- B
Run Code Online (Sandbox Code Playgroud)

思路如下:

  1. A 建立到 C 的 TCP 连接并简单地等待
  2. 当 B 想从 A 那里得到一些东西时,它建立到 C 的 TCP 连接。
  3. C 从 B 读取数据并用它响应来自 A 的已经打开的连接。
  4. A 处理数据并响应 C,C 中继到 B。

有没有现有的工具可以做到这一点?

tcp tcpreplay

5
推荐指数
1
解决办法
3661
查看次数