[Linux] 透過 ssh 與 tcpdump 將遠端電腦的網路封包轉存至本機
今天想要查一個 Linux 虛擬機器的網路問題,
需要用到 tcpdump 來錄下 pcap 流量。
但那台虛擬機的空間不是很大,
於是就在想說是不是能透過 SSH,
將 tcpdump 看到的東西轉到本地端來儲存…
找了一下,還真的有,試驗了一下也可以成功。
下面是我下的命令:
ssh root@172.22.2.3 'tcpdump -s 0 -i eth0 -U -w -' > dump.pcap
上面的指令就是連線到 172.22.2.3 這台虛擬機器後,
執行 tcpdump 指令,監聽 eth0 這張網卡,
-U 是讓 tcpdump 不要暫存輸出 (unbuffered),
-w 本來後面是接檔案名稱,我們用 – 的話就代表 stdout,
因此就可以將 tcpdump 的 stdout 經由 SSH 轉到本機上,
我們再將它轉向儲存到 dump.pcap 檔案上。
這之後,我們就可以用 Wireshark 的方式來觀察網路封包,
比起直接看 tcpdump 的輸出要方便多啦~
參考資料:How to process tcpdump live data stream from a remote machine on a local WireShark – Bytefreaks.net
(本頁面已被瀏覽過 565 次)