在 Arago 嵌入式 Linux 系统上,接口通常能够 ping 网络上的其他目的地。但是,当使用 iperf 或 scp 等实用程序向这些目的地发送 TCP 流量时,ping 会停止工作。此外,iperf 和 scp 会暂时工作(即发送数据),然后 iperf 和 scp 的 tcp 流量会停止。同时,ping 到目标设备的 ICMP 流量也会停止。
当我们在接口上运行 tcpdump 时,它似乎允许从 A 点向 B 点发送 tcp 流量,没有任何问题。tcpdump 如何让它工作?感觉就像双缝实验,观察的行为使它以一种方式表现,而不观察的行为使它以另一种方式表现。
无论如何,它是一个安装了 busybox 的嵌入式 Linux 环境 (Arago)。如果有人知道 tcpdump 如何影响其监听的接口,请分享您的理解。
我使用的 tcpdump 命令如下:
tcpdump -i {接口} -w {文件名.pcapng}
注意:我曾假设 tcpdump 在捕获数据包时将接口置于混杂模式。但是,当我使用“ifconfig {interface} promisc”而不是 tcpdump 将其置于混杂模式时,数据没有通过,ping 变得没有响应(即,相同的不良结果)。tcpdump 是否对其嗅探的接口做了其他事情?