web-dev-qa-db-fra.com

comment faire que tcpdump affiche l'adresse IP et le numéro de port mais pas le nom d'hôte ni le protocole

J'utilise tcpdump pour certains tests. Je veux voir l'adresse IP et le numéro de port, mais la sortie de tcpdump est comme

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

il ne montre que le nom d’hôte et le protocole pour http, il est facile de savoir qu’il fait 80 mais pour dnp je dois chercher

il est donc possible de faire en sorte que tcpdump affiche l'adresse IP et le numéro de port, mais pas le nom d'hôte ni le protocole, si oui, comment? Merci

37
misteryes

Ajoutez -n à votre ligne de commande tcpdump.

Depuis la page de manuel de tcpdump :

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

Il convient également de noter que sur Fedora (et peut-être d’autres dérivés: RHEL, CentOS, etc.), ils ont corrigé la version originale de tcpdump afin d’inclure une option -nn pour supprimer les numéros de port. Depuis la page de manuel :

-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.
36
heavyd

J'utilise le paramètre -nn.

-nn: Ne résolvez pas les noms d’hôte ou les noms de port.

Exécutez-le comme:

tcpdump -nn 
5
ATMc

-n ne fonctionne que pour les noms d'hôte, mais pas pour les numéros de port. -nn fait le tour pour les deux. Ceci exécute la version 4.5.1 de tcpdump sur Fedora 20 gnu/linux. La réponse négative @ATMc est la seule correcte. Malheureusement, je ne peux ni la revigorer ni écrire un commentaire en dessous à cause du faible karma.

2
Adam Kurkiewicz

Je pense que la meilleure approche est:

Sudo tcpdump -ni any

Étapes pour tester:

  1. Ouvrez une console et tapez:

    Sudo nc -l -p 6666
    
  2. Ouvrez une autre console et tapez:

    Sudo tcpdump -ni any
    

    Si le résultat est trop détaillé, vous pouvez le filtrer (| grep -v "patter1n|pattern2")

  3. Ouvrez une troisième console et tapez:

    telnet localhost 6666
    

Production attendue:

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

Si vous utilisez Sudo tcpdump -i any, vous verrez quelque chose comme ceci:

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
1
Javier