[英]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.