Yerel bilgisayarımın trafiğini koklayabilirim ama uzaktaki bir makinenin trafiğini wireshark ile nasıl koklayacağımı bilmek isterim?
Yakalama seçeneğinde uzak arayüzü seçip uzak ipime girip bana error.code (10061) göster. Ne yapmalıyım?
Yerel bilgisayarımın trafiğini koklayabilirim ama uzaktaki bir makinenin trafiğini wireshark ile nasıl koklayacağımı bilmek isterim?
Yakalama seçeneğinde uzak arayüzü seçip uzak ipime girip bana error.code (10061) göster. Ne yapmalıyım?
Yanıtlar:
Linux ve OSX'te bunu ssh üzerinde tcpdump kullanarak ve wireshark'ın boruyu dinlemesini sağlayabilirsiniz.
Adlandırılmış bir boru oluşturun:
$ mkfifo /tmp/remote
Wireshark'ı komut satırından başlatın
$ wireshark -k -i /tmp/remote
Uzak makinenizde tcpdump komutunu ssh üzerinden çalıştırın ve paketleri belirtilen boruya yönlendirin:
$ ssh root@firewall "tcpdump -s 0 -U -n -w - -i eth0 not port 22" > /tmp/remote
Kaynak: http://blog.nielshorn.net/2010/02/using-wireshark-with-remote-capturing/
ssh root@{MY_VPS_IP} -p 27922 "tcpdump -s 0 -U -n -w - -i eth0 not port 27922" > /tmp/remote
nedenini söyleyebilir misiniz?
Bu oneliner'ı root olarak kullanıyorum. Çok kullanışlı!
ssh root@sniff_server_ip -p port tcpdump -U -s0 'not port 22' -i eth0 -w - | wireshark -k -i -
-
De son önce |
bu çıktının yönlendirilmesi ve wireshark tarafından standart girdi olarak kullanılır. -k
Wireshark araçlarında seçeneği "koklama inmidiately başlamak
Bir yaklaşım, anahtarınızdaki ayna veya yayılma noktası adı verilen şeyi kullanmaktır . Anahtarınız yeterince akıllı değilse, anahtar / ana bilgisayardan yakala bağlantısına arasına küçük bir hub da yerleştirebilirsiniz. Dinleme sunucunuzdan bu bağlantı noktasına / hub'a fiziksel bir bağlantı bağlarsınız ve ardından cihazı geçen tüm trafiği görebilirsiniz. Alternatif olarak, paket yakalama yazılımınızı ağınızdaki bir sınır güvenlik duvarı / yönlendiricisi gibi daha stratejik bir yere kurmanız gerekir.
Paketlere bağlanmak ve bunları almak için ssh
yerel olarak wireshark'a yönlendirmek için bir dosya tanıtıcısı kullanabilirsiniz :
wireshark -i <(ssh root@firewall tcpdump -s 0 -U -n -w - -i eth0 not port 22)
Wireshark açılacak ve size /dev/fd/63
uzaktaki sistemden veri içeren dosya tanımlayıcısı olan "Arabirimi" gösterecektir .
yerel makinenin bağlanmasına ve
RHEL'e göre, konrad'ın cevabı benim için işe yaramadı çünkü tcpdump
kök gerektiriyor ve sadece sudo erişimine sahibim. Yaptığım şey, okuyabildiğim fazladan bir uzaktan kumanda oluşturmaktı:
remote:~$ mkfifo pcap
remote:~$ sudo tcpdump -s 0 -U -n -w - -i eth0 not port 22 > pcap
ve verileri ayrı bir bağlantı ile gönderin:
local:~$ mkfifo pcap
local:~$ ssh user@host "cat pcap" > pcap
ve sonunda Wireshark'ı başlat
local:~$ wireshark -k -i pcap
Yalnızca size yapan trafiği koklayabilirsiniz. Joe A Joe B'ye giderken asla PC'nize yaklaşmaz, dolayısıyla onu göremezsiniz.
Trafiğe girmeniz veya trafiği size ulaşmanızın tek yolu budur. Trafiğe ulaşmak için, bağlantısının ortasında bir yerde bir yönlendirici veya iyi bir anahtar veya hub bağlantısı gerekir. Trafiği size ulaştırmak için, ARP'nin anahtarlardan bazılarını zehirlemesini sağlamanız gerekir.
Önceki cevaplara ek olarak, netcat'lı sürüm nc
de yararlı olabilir:
mkfifo /tmp/mypcap.fifo
tcpdump -i em0 -s 0 -U -w - > /tmp/mypcap.fifo
nc -l 10000 < /tmp/mypcap.fifo
wireshark -ki <(nc 192.168.1.1 10000)
Bu yönteme dikkat edin: Güvenli olmayan bir bağlantı noktasını tüm arabirimlere açık yapar, bu nedenle gelen bağlantıların güvenlik duvarı kuralları ile filtrelendiğinden emin olun.