如何在两个端口之间的本地主机中捕获数据包

Posted

技术标签:

【中文标题】如何在两个端口之间的本地主机中捕获数据包【英文标题】:How to capture packets in localhost between two ports 【发布时间】:2013-09-02 09:54:52 【问题描述】:

我有两个应用程序在同一台机器(本地主机)上使用套接字进行通信。如果应用程序在不同的机器上,我可以使用 Wireshark。但是如何在同一台机器上捕获数据包。

我不知道应用程序在哪个端口号上进行通信。因为我正在使用库调用并且不知道较低级别的详细信息。

我们的应用程序在 Ubuntu 和 Windows XP 上。

【问题讨论】:

您使用的是 Windows 还是 Linux?对于 Windows,这是重复的:***.com/questions/1566234/… @rene 两个操作系统都需要它。我们在 Ubuntu 和 Windows XP 上运行我们的应用程序。 我在您的问题中添加了您的评论。请检查您是否可以。 @rene 好吧。谢谢。 【参考方案1】:

在 Linux 上,您可以使用 netstat 来确定您的应用程序正在使用的端口。然后就可以用Wireshark在loopback接口上抓包了(如果127.0.0.1不行就输入自己的IP地址)。

请参阅:https://***.com/questions/1566234/ 在 Windows 上进行捕获。

【讨论】:

netstat如何抓流量?因为这就是 OP 的要求。 他还问“我不知道应用程序在哪个端口号上通信”。他可以使用它首先确定正在使用哪些端口,然后可以简化 Wireshark 上的过滤

以上是关于如何在两个端口之间的本地主机中捕获数据包的主要内容,如果未能解决你的问题,请参考以下文章

如何捕获单个 docker 容器的数据包

如何在主机将其发送到网络之前修改数据包标头(IP标头,TCP标头)

网络报文抓取研究

Wireshark 如何监听本地localhost 的某个端口的包

tcpdump:本地主机到本地主机 [关闭]

Wireshark 如何捕获网络流量数据包