como fazer com que o tcpdump exiba o ip e o número da porta, mas não o nome do host e o protocolo

30

Estou usando o tcpdump para alguns testes Eu quero ver o IP e o número da porta mas a saída do tcpdump é como

IP pl1snu.koren.kr.http > kitch.pl.sophia.inria.fr.dnp: Flags [P.], seq 54:72, ack 1, win 5792, length 18

mostra apenas o nome do host e o protocolo para http, é fácil saber que é 80 mas para o dnp eu tenho que procurar

então é possível como fazer o tcpdump mostrar o ip e o número da porta, mas não o nome do host e o protocolo se sim, como? obrigado

    
por misteryes 25.04.2013 / 00:11

5 respostas

30

Adicione -n à sua linha de comando tcpdump .

Na página de manual do tcpdump :

-n Don't convert addresses (i.e., host addresses, port numbers, etc.) to names.

Deve-se notar também que no Fedora (e talvez outros derivados: RHEL, CentOS, etc.) eles possuem corrigiu a versão original do tcpdump para incluir uma opção separada -nn para remover números de porta. Na página de manual :

-n     Don't convert host addresses to names.   This  can  be  used  to
              avoid DNS lookups.

-nn    Don't convert protocol and port numbers etc. to names either.
    
por 25.04.2013 / 00:14
5

Eu uso o parâmetro -nn .

-nn: Don’t resolve hostnames or port names.

Execute como:

tcpdump -nn 
    
por 25.07.2014 / 10:39
2

-n funciona apenas para nomes de host, mas não funciona para números de porta. -nn faz o truque para ambos. Isto está executando o tcpdump versão 4.5.1 no Fedora 20 gnu / linux. A resposta rejeitada pelo @ATMc é a única correta. Infelizmente, não posso nem votá-lo nem escrever um comentário abaixo dele por causa do baixo carma.

    
por 27.11.2014 / 16:42
1

Acho que a melhor abordagem é:

sudo tcpdump -ni any

Passos para testar:

  1. Abra um console e digite:

    sudo nc -l -p 6666
    
  2. Abra outro console e digite:

    sudo tcpdump -ni any
    

    Se a saída for muito detalhada, você poderá filtrá-la ( | grep -v "patter1n|pattern2" )

  3. Abra um terceiro console e digite:

    telnet localhost 6666
    

Resultado esperado:

10:37:13.770997 IP 127.0.0.1.56920 > 127.0.0.1.443: Flags [S], seq 2822288041, win 43690, options [mss 65495,sackOK,TS val 1028779 ecr 0,nop,wscale 7], length 0

Se você usar sudo tcpdump -i any , verá algo assim:

10:38:22.106022 IP localhost.56924 > localhost.https: Flags [S], seq 3147104744, win 43690, options [mss 65495,sackOK,TS val 1045863 ecr 0,nop,wscale 7], length 0
    
por 23.08.2013 / 10:39
-2
tcpdump -i eth0 -p -nn | grep "IP" | awk '{print$3 ,$4 ,$5}' | sed 's/://'
    
por 01.11.2018 / 17:29