O tcpdump pode ser instruído a não reportar pacotes para uma fonte específica?

1

Eu gostaria de monitorar os pacotes usando o TCPdump. Infelizmente, devo fazer isso remotamente - neste caso, estou usando um desktop remoto do VNC, mas na melhor das hipóteses eu posso fazer isso por SSH.

O que quero dizer com "na melhor das hipóteses" é: estou vendo um grande número de pacotes direcionados à minha própria máquina. Eu estou tentando monitorar o servidor, não a minha máquina local, então eu realmente prefiro ignorar quaisquer pacotes indo para a minha própria máquina.

Existe alguma maneira de fazer o tcpdump relatar tudo EXCETO os pacotes que vão para um determinado I.P?

Minha solução hacky é: sleep 5;tcpdump [options] e mata a conexão VNC enquanto estou esperando.

    
por user1833028 24.09.2014 / 08:52

2 respostas

1

Sim, você pode adicionar um filtro às suas opções do tcpdump. Assumindo que seu IP é 1.2.3.4, isso se pareceria com:

tcpdump -f "not host 1.2.3.4" ...other options...
    
por 24.09.2014 / 10:01
1

Você pode fazer isso por meio do seguinte comando:

  tcpdump -i eth0 ! host Your.own.Ip.Address. 

No entanto, isso é um pouco exagerado: ocasionalmente, você pode se interessar por pacotes endereçados à sua máquina, mas não por aqueles relacionados à própria comunicação. Você pode usar

  tcpdump -i eth0 ! port 22

(se você estiver conectado via ssh), o que eliminará todos os pacotes que vão de / para a máquina remota na porta 22; No entanto, isso também eliminará todos os pacotes ssh de / para a máquina remota de / para outras máquinas.

Se você quer ser realmente completo, excluindo apenas o tráfego entre suas máquinas locais e remotas via ssh, você tem que emitir:

  tcpdump -i etho ! '((host remote.machine.ip.address and port 22) and local.machine.ip.address)'

Lembre-se dos apices, eles são importantes.

    
por 24.09.2014 / 12:34