Você só pode detectar o tráfego que sua interface de rede está vendo. Se a rede estiver com pacotes comutados para a máquina remota, não lhe serão enviados. BTW: tente melhorar sua taxa de aceitação.
Matteo
Respostas:
54
No Linux e OSX, você pode conseguir isso executando tcpdump sobre ssh e fazendo o wireshark escutar no canal.
Crie um canal nomeado:
$ mkfifo /tmp/remote
Inicie o wireshark na linha de comando
$ wireshark -k -i /tmp/remote
Execute o tcpdump sobre o ssh na 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
É possível pegar pacotes passando por um roteador no próprio roteador dessa maneira ou isso é impossível?
inf3rno
Isso é ótimo. Meu 2c: permitir [ssh root] geralmente não é recomendado, mas você pode ativá-lo temporariamente adicionando root à linha [Match User] em / etc / ssh / sshd_config.
Moodboom 28/01/19
Isso não está funcionando para mim, ssh root@{MY_VPS_IP} -p 27922 "tcpdump -s 0 -U -n -w - -i eth0 not port 27922" > /tmp/remotevocê poderia me dizer por quê?
Phoenix
@infmo se o roteador puder executar o tcpdump diretamente, sim, deve ser possível. O meu não tem espaço para instalar o tcpdump. Não é incomum para roteadores low-end.
whereedidhatnamecrometo de
21
Eu uso esse oneliner como raiz. É 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 |é o redirecionamento dessa saída e é usado para entrada padrão pelo wireshark. A -kopção no wireshark significa "começar a cheirar imediatamente
Uma abordagem é usar o que é chamado de porta de espelho ou extensão no seu comutador. Se o seu switch não for suficientemente inteligente, você também poderá colocar um pequeno hub entre a conexão do switch / host para capturar. Você conecta um link físico do host que está ouvindo a essa porta / hub e pode ver todo o tráfego atravessando o dispositivo. Como alternativa, você precisará instalar o software de captura de pacotes em um local mais estratégico da sua rede, como um firewall / roteador de borda.
Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Scott Pacote
1
No RHEL, a resposta do konrad não funcionou para mim porque tcpdumprequer root e eu só tenho acesso ao sudo. O que funcionou foi criar um fifo remoto extra que eu possa ler:
remote:~$ mkfifo pcap
remote:~$ sudo tcpdump -s 0 -U -n -w - -i eth0 not port 22 > pcap
Você só pode cheirar 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 é você chegar ao tráfego ou obter o tráfego para você. Para chegar ao tráfego, é necessária uma conexão com um roteador ou um bom switch ou hub em algum lugar no meio da conexão. Para obter o tráfego para você, você precisará envenenar alguns dos comutadores ARP para que eles pensem que são eles.
Além das respostas anteriores, a versão com o netcat também ncpode ser útil:
Hospedeiro remoto:
mkfifo /tmp/mypcap.fifo
tcpdump -i em0 -s 0 -U -w - > /tmp/mypcap.fifo
nc -l 10000 < /tmp/mypcap.fifo
Anfitrião local:
wireshark -ki <(nc 192.168.1.1 10000)
Nota sobre este método: Torna a porta não segura aberta para todas as interfaces, portanto, certifique-se de filtrar as conexões de entrada com as regras de firewall.
Respostas:
No Linux e OSX, você pode conseguir isso executando tcpdump sobre ssh e fazendo o wireshark escutar no canal.
Crie um canal nomeado:
$ mkfifo /tmp/remote
Inicie o wireshark na linha de comando
$ wireshark -k -i /tmp/remote
Execute o tcpdump sobre o ssh na 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: http://blog.nielshorn.net/2010/02/using-wireshark-with-remote-capturing/
fonte
ssh root@{MY_VPS_IP} -p 27922 "tcpdump -s 0 -U -n -w - -i eth0 not port 27922" > /tmp/remote
você poderia me dizer por quê?Eu uso esse oneliner como raiz. É 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|
é o redirecionamento dessa saída e é usado para entrada padrão pelo wireshark. A-k
opção no wireshark significa "começar a cheirar imediatamentefonte
Uma abordagem é usar o que é chamado de porta de espelho ou extensão no seu comutador. Se o seu switch não for suficientemente inteligente, você também poderá colocar um pequeno hub entre a conexão do switch / host para capturar. Você conecta um link físico do host que está ouvindo a essa porta / hub e pode ver todo o tráfego atravessando o dispositivo. Como alternativa, você precisará instalar o software de captura de pacotes em um local mais estratégico da sua rede, como um firewall / roteador de borda.
fonte
Você pode usar um descritor de arquivo para conectar e receber os pacotes
ssh
e canalizá-lo para o wireshark localmente:wireshark -i <(ssh root@firewall tcpdump -s 0 -U -n -w - -i eth0 not port 22)
O wireshark abrirá e mostrará o "Interface"
/dev/fd/63
, como o descritor de arquivo que contém os dados do sistema remoto.fonte
consulte as informações sobre a configuração do computador remoto, para permitir que sua máquina local se conecte e capture
http://wiki.wireshark.org/CaptureSetup/WinPcapRemote
fonte
No RHEL, a resposta do konrad não funcionou para mim porque
tcpdump
requer root e eu só tenho acesso ao sudo. O que funcionou foi criar um fifo remoto extra que eu possa ler:e envie os dados por uma conexão separada:
e finalmente inicie o Wireshark
fonte
Você só pode cheirar 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 é você chegar ao tráfego ou obter o tráfego para você. Para chegar ao tráfego, é necessária uma conexão com um roteador ou um bom switch ou hub em algum lugar no meio da conexão. Para obter o tráfego para você, você precisará envenenar alguns dos comutadores ARP para que eles pensem que são eles.
fonte
Além das respostas anteriores, a versão com o netcat também
nc
pode ser útil:Hospedeiro remoto:
mkfifo /tmp/mypcap.fifo
tcpdump -i em0 -s 0 -U -w - > /tmp/mypcap.fifo
nc -l 10000 < /tmp/mypcap.fifo
Anfitrião local:
wireshark -ki <(nc 192.168.1.1 10000)
Nota sobre este método: Torna a porta não segura aberta para todas as interfaces, portanto, certifique-se de filtrar as conexões de entrada com as regras de firewall.
fonte