![是否可以借助 tcpdump 重新生成 TCP 请求](https://linux22.com/image/200085/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%80%9F%E5%8A%A9%20tcpdump%20%E9%87%8D%E6%96%B0%E7%94%9F%E6%88%90%20TCP%20%E8%AF%B7%E6%B1%82.png)
我正在开发一个后端服务器,后端的架构如下:
APP --> Server1 --> Server2 --> Server3 --> MyServer
APP向后台发送HTTP请求Server1
,后端各服务器之间采用基于TCP协议的RPC方式进行通信。
我正在开发MyServer
,由于我的工作尚未完成,我需要做很多测试,但Server3
并不总是可用。
我不知道什么Server1
,Server2
and did,从到 的Server3
RPC真的很复杂,它包含很多我不知道的参数。我需要的是捕获来自 的请求,将其内容复制到脚本中,以便我可以运行脚本来模拟请求。Server3
MyServer
Server3
让我举个例子:
Server3
将发送一个MyServer
带有参数p1
, p2
,的 RCP p3
。对我来说,我只关心p3
,所以我处理p3
,生成一个新参数p4
,并将p1
,p2
发送p4
到另一台服务器。所以我需要模拟 RPC,Server3
以便我可以在需要测试MyServer
.
关于协议
我们的团队使用了一个私有框架,它有自己的协议来进行 RPC。我所知道的是该协议基于 TCP,而不是 HTTP。所以我需要的是捕获请求Server3
并在需要时重播它。