为什么 tcp.dstport==8127 无法捕获流量

为什么 tcp.dstport==8127 无法捕获流量

我有一个简单的node.js服务器正在运行locahost:8127

const http = require('http');

http.createServer(function (req, res) {
    console.log('incoming');
}).listen(8127);

现在我从浏览器发出请求,locahost:8127并且想要捕获这两者之间的所有流量,因此我放置了以下显示过滤器:

tcp.dstport==8127

但它什么也没显示。为什么?

我知道回答这个问题需要额外的细节,我会提供,但我不知道具体还需要什么。

答案1

来自文档

如果您尝试捕获从一台机器到自身的流量,则该流量不会通过实际网络接口发送,即使它被发送到机器的一个网络适配器上的地址。这意味着如果您尝试在分配了目标地址的适配器的接口设备上进行捕获,您将看不到它。只有在“环回接口”上进行捕获时,您才会看到它,前提是存在这样的接口并且可以在其上进行捕获

您的屏幕截图上一个问题看起来您使用的是 Windows。因此,以下情况适用:

您无法使用 Windows 数据包捕获驱动程序(如 WinPcap)捕获本地环回地址 127.0.0.1。以下来自“Windows 网络服务内部”的页面解释了原因:缺少网络环回接口。

要在 Windows 上获取环回接口,您必须使用 npcap,而不是 Windows 版 WireShark 附带的 WinPcap 驱动程序。

npcap 可以在这里下载:https://github.com/nmap/npcap/releases

安装它并选择用于捕获的环回接口。有关详细信息,请参阅链接的文档。

相关内容