我正在开发后端服务。后端包含一些进程,这意味着当客户端向我的服务器发送请求时,请求将经过这些进程。
例如,请求将首先发送到nginx
进程,然后发送到http_proxy
进程,然后发送到request_handler
进程。
我需要做的是跟踪请求的路径,如下所示:
req ---> nginx:8888
nginx:4444 ---> http_proxy:7777
http_proxy:2222 ---> request_handler:6666
这意味着req
通过端口8888
发送到进程nginx
,而nginx
从端口4444
发送另一个分组到端口7777
,以便该数据包被流程http_proxy
接收,然后http_proxy
将另一个数据包从端口2222
发送到端口6666
,以便进程request_handler
接收该数据包。
netstat
和lsof
似乎不能满足我的需要。有什么方法或工具可以这样做吗?
发布于 2021-04-15 10:37:25
我很抱歉地说,但您需要的要么是更好地理解TCP/IP,要么根本不需要TCP/IP。
应用程序日志可能是解决问题的答案,但这取决于您的应用程序。
您可以编写"nginx
将另一个数据包从端口4444
发送到端口7777
“。我很肯定它不是从固定的港口发送的。这样做会将“并发”请求限制为一个请求。另外,请求不是一个包,而是多个包,查看网络详细信息对于处理应用程序级别的问题通常并不有用。
如果您想查看TCP/IP数据包,该工具是tcpdump
,而不是netstat
或lsof
。
https://unix.stackexchange.com/questions/645185
复制相似问题