tcpdump在出站连接上是否100%可靠?

问题描述 投票:0回答:1

我在一台服务器上工作,它正在对另一台服务器进行健康检查,就像一个简单的tcp开放连接一样,基本上我的tcpdump说数据包(健康检查tcp sYn数据包)正在从我的接口出去,但是,防火墙没有看到任何东西。我怀疑这个数据包是否在服务器之外,或者问题在交换机上。

linux-kernel tcpdump
1个回答
0
投票

捕获的流量==真相来源

tcpdump有可能出现假阴性(即数据包发送了但tcpdump没有记录)。这可能是由于硬件(CPU, RAM, 磁盘)已达到最大,或者tcpdump的缓冲区大小(-B)太小了。同样,也有可能是你的防火墙没有在该接收的地方接收到它。

tcpdump报假阳性的可能性很小。Tcpdump 从您的网络接口[0]复制字节,并将它们汇总到文本行中(取决于您的输出选项)。如果防火墙规则(例如 iptables 的防火墙规则会阻止流量,tcpdump 不见得. 如果tcpdump报告了一个数据包,你可以确定它经过了那个接口。

[0]: 如果你想知道更低级别的tcpdump是如何工作的,可以用... 菌丝.

基于流程的故障排除

要弄清网络中数据包的丢弃位置,可能需要基于流量的故障排除。对于您的网络 server:A <-> B:switch:C <-> D:Firewall,我们知道A发送,D没有收到。因此应该检查B和C端口,确定丢包的位置。也有可能是D报的是假阴性。你可以把这个服务器直接插到不同的防火墙上,可以接受数据包捕获监测流量,来测试这两件事。

© www.soinside.com 2019 - 2024. All rights reserved.