如何将 tcpdumps 实时上传到 FTP?

Lan*_*nes 2 ftp openwrt

我可以用这个命令做 tcpdumps:

tcpdump -w `date +%F-%Hh-%Mm-%Ss-%N`.pcap src 10.10.10.10 or dst 10.10.10.10
Run Code Online (Sandbox Code Playgroud)

:我有一个 FTP 服务器,用户名:FTPUSER,密码为 FTPPASSWORD。如何“实时”上传 tcpdump 我的意思是我没有太大的存储空间来存储转储,所以我需要将它上传到我只能通过 FTP 到达的地方。我可以以某种方式将 tcpdump 的输出“管道”到上传它的 ftp 客户端吗?[我也需要保留文件名:“. date +%F-%Hh-%Mm-%Ss-%Npcap”]

所以我正在寻找一种不在本地存储任何 tcpdump 的解决方案,而是“实时”上传转储。

操作系统是 OpenWrt 10.03 - tcpdump 运行的路由器。[路由器上有 4MB 闪存,这就是我无法将它们存储在本地的原因。]

UPDATE2:没有到 FTP 服务器的 SSH 连接,只有 FTP [和 FTPES,但现在我认为这无关紧要]

sr_*_*sr_ 5

由于 SSH 不可用(并且可能没有运行 FTP 服务器的 UNIX/Linux 机器,您也可以使用netcat其他方式),以下可能有效

使用curl,您可以通过这种方式从 STDIN上传到文件:

tcpdump -w - | curl -u FTPUSER:FTPPASS ftp://ftpserver/where/ever/dump.pcap -T -
Run Code Online (Sandbox Code Playgroud)

其中tcpdump输出原始数据包(比较此问题)并 curl 附加(覆盖?不确定)此输入。我不完全确定这是否有效,但可能值得一试。

(文件curl创建的时间戳留作练习。)