簡體   English   中英

如何跨多個SSH躍點捕獲流量?

[英]How to remotely capture traffic across multiple SSH hops?

我想調試網絡上的另一台計算機,但必須通過一個或多個SSH隧道才能到達那里。

目前:

    # SSH into one machine
    ssh -p 22 me@some_ip -i ~/.ssh/00_id_rsa

    # From there, SSH into the target machine
    # Note that this private key lives on this machine
    ssh -p 1234 root@another_ip -i ~/.ssh/01_id_rsa

    # Capture debug traffic on the target machine
    tcpdump -n -i eth0 -vvv -s 0 -XX -w tcpdump.pcap

但是,隨后將.pcap復制出來是很痛苦的。 有沒有辦法將pcap直接寫入安裝了Wireshark的本地計算機?

您應該使用ProxyCommand來鏈接ssh主機,並將tcpdump的輸出直接通過管道傳遞到Wireshark中。 為此,您應該創建以下ssh配置文件:

Host some_ip
  IdentityFile ~/.ssh/00_id_rsa

Host another_ip
  Port 1234
  ProxyCommand ssh -o 'ForwardAgent yes' some_ip 'ssh-add ~/.ssh/01_id_rsa && nc %h %p'

我用完整的路徑測試了這個,所以要小心〜

要查看實時捕獲,您應該使用類似

ssh another_ip "tcpdump -s0 -U -n -w - -i eth0 'not port 1234'" | wireshark -k -i -

如果只想轉儲pcap本地設置,則可以將stdout重定向到您選擇的文件名。

ssh another_ip "tcpdump -n -i eth0 -vvv -s 0 -XX -w -" > tcpdump.pcap

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM