Como eu posso cheirar o tráfego da máquina remota com o wireshark?

31

Eu posso cheirar o tráfego do meu PC local, mas eu gostaria de saber como eu cheirar o tráfego de uma máquina remota por wireshark?

Quando na opção de captura eu selecionar interface remota e digite meu ip remoto me mostre error.code (10061). O que devo fazer?

    
por aboutstudy 22.02.2012 / 07:18

8 respostas

49

No Linux e no OSX, você pode fazer isso executando o tcpdump sobre o ssh e ouvindo o wireshark no pipe.

  1. Crie um pipe nomeado:

    $ mkfifo /tmp/remote

  2. Inicie o wireshark na linha de comando

    $ wireshark -k -i /tmp/remote

  3. Execute o tcpdump sobre o ssh em sua máquina remota e redirecione os pacotes para o pipe nomeado:

    $ ssh root@firewall "tcpdump -s 0 -U -n -w - -i eth0 not port 22" > /tmp/remote

Fonte: link

    
por 10.08.2013 / 08:11
15

Eu uso este oneliner como root. É muito útil!

ssh root@sniff_server_ip -p port tcpdump -U -s0 'not port 22' -i eth0 -w - | wireshark -k -i -

O último - antes de de | é o redirecionamento dessa saída e é usado para entrada padrão pelo wireshark. A opção -k no wireshark significa "começar a farejar"

    
por 26.01.2017 / 12:31
10

Uma abordagem é usar o que é chamado de porta de espelho ou de intervalo no seu switch. Se o seu switch não for inteligente o suficiente, você também pode colocar um pequeno hub entre a conexão switch / host-to-capture. Você conecta um link físico de seu host de escuta a essa porta / hub e, em seguida, você pode ver todo o tráfego cruzando o dispositivo. Alternativamente, você precisará instalar o software de captura de pacotes em um local mais estratégico em sua rede, como um firewall / roteador de borda.

    
por 22.02.2012 / 08:07
4

Você pode usar um descritor de arquivo para se conectar e receber os pacotes por ssh e canalizá-lo para o wireshark localmente:

wireshark -i <(ssh root@firewall tcpdump -s 0 -U -n -w - -i eth0 not port 22)

Você wireshark abrirá e mostrará a "Interface" como /dev/fd/63 , que é o descritor de arquivo contendo dados do sistema remoto.

    
por 04.09.2014 / 09:01
1

veja informações sobre como configurar o computador remoto, para permitir que sua máquina local se conecte e capture

link

    
por 16.05.2012 / 01:37
1

Sob o RHEL, a resposta do konrad não funcionou para mim porque tcpdump requer raiz e eu só tenho acesso ao sudo. O que funcionou foi criar um fifo extra remoto que eu possa ler:

remote:~$ mkfifo pcap
remote:~$ sudo tcpdump -s 0 -U -n -w - -i eth0 not port 22 > pcap

e envie os dados por uma conexão separada:

local:~$ mkfifo pcap
local:~$ ssh user@host "cat pcap" > pcap

e finalmente iniciar o Wireshark

local:~$ wireshark -k -i pcap
    
por 28.08.2017 / 13:54
0

Você só pode detectar o tráfego que chega até você. Então Joe A indo para Joe B nunca chega perto do seu PC, então você não pode vê-lo.

A única maneira é chegar ao tráfego ou obter o tráfego para você. Para chegar ao tráfego, é necessária uma conexão a um roteador ou a um bom switch ou hub em algum lugar no meio de sua conexão. Para obter o tráfego para você, você precisará envenenar alguns dos switches para que eles pensem em você.

    
por 11.04.2012 / 18:55
0

Além das respostas anteriores, a versão com o netcat nc também pode ser útil:

Host remoto:

mkfifo /tmp/mypcap.fifo

tcpdump -i em0 -s 0 -U -w - > /tmp/mypcap.fifo

nc -l 10000 < /tmp/mypcap.fifo

Host local:

wireshark -ki <(nc 192.168.1.1 10000)

Nota sobre este método: Ele torna a porta insegura aberta a todas as interfaces, portanto, certifique-se de filtrar as conexões de entrada com regras de firewall.

    
por 21.03.2018 / 12:47