Nah*_*lam 30 centos tcpdump centos5
我需要在 CentOS 5 服务器上捕获流量,该服务器充当具有 2 个 wan 接口和 1 个 LAN 的 Web 代理。为了解决一个奇怪的代理问题,我想捕获一个完整的对话。由于外部连接在两个WAN接口之间是平衡的,我想知道是否可以在所有接口上同时捕获。
我以前使用过 tcpdump,但它一次只允许一个接口。我可以启动 3 个并行进程以在所有接口上进行捕获,但最终会得到 3 个不同的捕获文件。
这样做的正确方法是什么?
Ada*_*had 41
根据 tcpdump 手册页:
在具有 2.2 或更高版本内核的 Linux 系统上,接口参数“any”可用于从所有接口捕获数据包。请注意,“任何”设备上的捕获不会在混杂模式下完成。
因此,您应该能够运行:tcpdump -i any
以便将所有接口上的数据同时捕获到单个捕获文件中。
Tim*_*her 16
我处理这个问题的方法是在每个接口上转储到一个单独的文件,然后合并它们。any 接口还包括可能污染捕获的 lo 流量。
这也允许在没有复杂过滤的情况下分析每个接口的数据包流。
我会在 3 个终端中捕获或通过使用 & 将命令置于后台
标志 -nn 关闭 dns 分辨率以提高速度, -s 0 保存完整数据包, -w 写入文件。
tcpdump -i wan0 -nn -s 0 -w wan0.dump
tcpdump -i wan1 -nn -s 0 -w wan1.dump
tcpdump -i lan0 -nn -s 0 -w lan0.dump
Run Code Online (Sandbox Code Playgroud)
然后我将使用来自wireshark的mergecap命令合并文件:
mergecap -w merged.dump wan0.dump wan1.dump lan0.dump
Run Code Online (Sandbox Code Playgroud)
小智 5
要在所有接口上捕获 tcpdump 使用
tcpdump -i any
Run Code Online (Sandbox Code Playgroud)