我想使用 tcpdump 获取嵌入式系统上的所有流量。我将通过 sftp 或 ssh 将这些文件发送到我的服务器。
tcpdump 会“看到” pcap 文件传输到我的服务器吗?这会导致不必要的递归传输循环。
有没有办法只保存连接的元数据而不再次保存 pcap 数据?还是我必须过滤掉连接?如果你有,最简单的方法是什么?
我需要查看这些垃圾场内 100% 的流量。
答案1
您无需保存通过设备的所有数据即可了解正在发生的事情。因此,您可以使用-s
tcpdump 选项限制每个数据包收集的数据量。例如:
tcpdump -i eth0 -s 150 -w my_log_file
由于你的安全FTP会话将主要由全尺寸(可能是 1500 字节)的数据包组成,它会在您的日志文件中留下一小段痕迹:如果您有 100 MiB 的捕获数据,则捕获捕获数据的传输将再添加 10 MiB,捕获捕获数据的传输的捕获将再添加 1 MiB,依此类推。
过滤
如果你不需要捕获 ssh 会话,你可以将其过滤掉:
tcpdump -i eth0 not host <server_ip> and not port 22
您没有解释为什么需要捕获嵌入式设备上的所有流量,但根据您的网络拓扑,您可能能够在服务器上捕获相同的流量(因此无需复制日志)。