首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何跟踪服务器中的TCP/IP数据包?

如何跟踪服务器中的TCP/IP数据包?
EN

Unix & Linux用户
提问于 2021-04-15 08:42:16
回答 1查看 274关注 0票数 1

我正在开发后端服务。后端包含一些进程,这意味着当客户端向我的服务器发送请求时,请求将经过这些进程。

例如,请求将首先发送到nginx进程,然后发送到http_proxy进程,然后发送到request_handler进程。

我需要做的是跟踪请求的路径,如下所示:

代码语言:javascript
运行
复制
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接收该数据包。

netstatlsof似乎不能满足我的需要。有什么方法或工具可以这样做吗?

EN

回答 1

Unix & Linux用户

发布于 2021-04-15 10:37:25

我很抱歉地说,但您需要的要么是更好地理解TCP/IP,要么根本不需要TCP/IP。

应用程序日志可能是解决问题的答案,但这取决于您的应用程序。

您可以编写"nginx将另一个数据包从端口4444发送到端口7777“。我很肯定它不是从固定的港口发送的。这样做会将“并发”请求限制为一个请求。另外,请求不是一个包,而是多个包,查看网络详细信息对于处理应用程序级别的问题通常并不有用。

如果您想查看TCP/IP数据包,该工具是tcpdump,而不是netstatlsof

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/645185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档