Linux - 在环回接口上输出 tcpdump [已关闭]

Linux - output tcpdump on loopback interface [closed]

提问人:Carlo C 提问时间:11/14/2023 更新时间:11/14/2023 访问量:56

问:


这个问题似乎不是关于特定的编程问题、软件算法或程序员主要使用的软件工具。如果您认为该问题在另一个 Stack Exchange 站点上是主题,您可以发表评论以解释该问题可能在哪里得到回答。

4天前关闭。

我有一个关于在 linux 环回接口上使用 tcpdump 的问题。

据我了解,当 IP 数据包发送到 127.0.0.0/8 网络上的 IP 地址时,内核会在环回接口上发送数据包。然后,从环回接口的定义来看,数据包应该从环回接口本身返回到 linux 内核网络。

为什么我只看到通过tcpdump在环回接口上的每种类型的数据包(ICMP回显请求和回显回复)?谢谢。

root@eve-ng02:~# tcpdump -i lo
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
11:16:32.076427 IP localhost > localhost: ICMP echo request, id 37435, seq 1, length 64
11:16:32.076440 IP localhost > localhost: ICMP echo reply, id 37435, seq 1, length 64
^C
2 packets captured
7 packets received by filter
0 packets dropped by kernel
root@eve-ng02:~

请注意,仅使用命令发送一个数据包。ping 127.0.0.1 -c 1

网络 linux-kernel tcpdump 环回地址

评论

1赞 stark 11/14/2023
您是否期望两次看到相同的数据包?libpcap 具有跳过 LO 上的出站数据包而只看到入站数据包的逻辑。
0赞 Carlo C 11/14/2023
好吧,tcpdump 使用 libpcap。因此,这是由于 libpcap 的逻辑,仅跳过环回接口上的出站数据包。相反,在其他接口的类型上,输出和入站数据包都会被捕获/显示。以上是正确的吗?谢谢。
1赞 stark 11/14/2023
是的。如果将数据包发送到真实接口,并且交换机能够环回,则会看到它两次。我认为这叫做发夹路由。
0赞 Carlo C 11/14/2023
我相信,@stark是指真实主机的以太网接口连接到的交换机。
1赞 stark 11/14/2023
没错。

答: 暂无答案