有的时候,运行tcpdump抓包进程的主机A可能没有足够的硬盘空间。例如我们使用树霉派搭建了一个热点,然后我们想在树霉派上抓包,因为树霉派的存储很小,所以很容易在短时间内将存储空间使用完。
为了解决该问题,我们可以使用下面的指令将tcpdump的结果重写向到另外一台主机B上。
命令:
tcpdump -i eth0 -w - | ssh jmh@pcB -p 22 "cat - > packeage.pcap"
该命令的含义是抓取eth0网卡上的流量,并将该流量定向到pcB上的~/packeage.pcap文件上
其中jmh是pcB的登录用户名, -p 22 指定了ssh的连接端口,packeage.pcap指定数据包保存的文件名。
当然 pcB需要是一台linux,而且pcA可以访问到pcB.,如果手上没有linux机器,可以在windows上安装一个linux虚拟机,使用网卡桥接模式即可。
然而 在所抓取到的文件做流量分析的时候最好将22号端口的流量过滤掉,因为这部分流量都是pcA发往pcB的重写向数据的报文。