我有一个服务器,它在交换机上从镜像端口接收流量。连接到此镜像端口的接口处于混杂模式。当我只使用一个普通捕获接口上的所有tcpdump时,如
tcpdump -nn -i eth1我看到了大量的交通。我甚至可以在某些事情上使用grep,比如端口443。
tcpdump -nn -i eth1 | grep 443很明显,这显示了任何有443的东西,而不仅仅是端口443。我对它进行了目视检查,我确实看到了这样的东西:
15:08:08.112550 IP 12.34.56.78.1430 > 87.65.43.21.443: . ack 35124 win 32768但我只想要443端口所以..。
tcpdump -nn -i eth1 port 443
...
0 packets captured真奇怪。当我使用过滤器时,我没有看到任何交通。我尝试过"ip端口“、"dst端口”和其他一些过滤器。我也尝试通过IP而不是端口进行过滤。没什么。
eth1 Link encap:Ethernet HWaddr 00:24:81:A5:AD:7A
inet6 addr: fe80::224:81ff:fea5:ad7a/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:4114781478 errors:0 dropped:1 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2240970313430 (2.0 TiB) TX bytes:15155497 (14.4 MiB)
Interrupt:98 Memory:fa000000-fa012800 这个接口已经有了大量的交通。我的过滤器是有效的,对吧?为什么我什么都没看到?
发布于 2013-02-21 15:38:24
一个可能的原因是tcpdump接收到了一个数据包,该数据包要么被封装到另一个协议中,要么一个帧已被标记为VLAN。
您没有在tcpdump的S输出中看到这一点,因为您没有指定任何冗长的参数,但是您的过滤器不匹配,因为您的port 443基本上意味着not vlan and (proto tcp or proto udp) and port 443。
您还可以通过使用-xx和分析框架数据将帧转储到十六进制来验证这一点。如果您知道有问题的VID,只需将and vlan <VID>添加到筛选器中,即可捕获数据包。
https://serverfault.com/questions/481133
复制相似问题