在两个不同但相似的(发行版,版本)服务器上运行/usr/sbin/tcpdump -n dst ${some_ip} and dst port 80会给我不同的捕获大小(一个为65535个字节,另一个为262144个字节)。
什么可能导致tcpdump捕获大小的差异? 在结果数据输出中可能导致哪些不一致?
编辑: ldd $(which tcpdump)在两台服务器上具有相同的输出:
linux-vdso.so.1 => (0xdeadbeef) libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0xdeadbeef) libpcap.so.0.8 => /usr/lib/x86_64-linux-gnu/libpcap.so.0.8 (0xdeadbeef) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0xdeadbeef) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0xdeadbeef) /lib64/ld-linux-x86-64.so.2 (0xdeadbeef)
嗯,但内核版本不同,必须与这个…
capture size 65535: Ubuntu 14.04.4, Linux 3.13.0-85-generic capture size 262144: Ubuntu 14.04.5, Linux 3.13.0-116-generic
快照长度
查看tcpdump.org并search快照长度。 默认是基于您的libpcap版本或您正在使用的任何自定义捕获驱动程序。