[Linux] 透過 ssh 與 tcpdump 將遠端電腦的網路封包轉存至本機

[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

(本頁面已被瀏覽過 7 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料