GNU/Linux >> Tutoriels Linux >  >> Linux

Quel est le moyen le plus simple de renifler les données de trafic TCP sous Linux ?

Mise à jour :

Comme l'a souligné Michal dans les commentaires :À partir de la version 1.3 de tcpflow, l'option -e est utilisée pour spécifier le nom du scanner. Ainsi, l'erreur "Nom de scanner invalide '8983'" est imprimée. La bonne commande est

sudo tcpflow -i any -C -J port 1234

(aussi -J a été remplacé par -g dans la dernière version)

Merci à yves de m'avoir indiqué "tcpflow". Voici la ligne de commande :

tcpflow -i any -C -e port 1234  # as root, or with sudo

Cela fait tout ce que je veux

  • affiche les données octet par octet telles qu'elles arrivent
  • n'affiche aucune autre métadonnée
  • écoute sur toutes les interfaces (il capture donc les données provenant de l'intérieur et de l'extérieur de la machine)

Le "-C " lui dit de vider la console au lieu d'un fichier. Le "-e " active les couleurs afin que client->serveur et serveur->client soient visuellement distincts.

J'ai installé tcpflow en faisant simplement

sudo apt-get install tcpflow

socat est l'outil que vous demandez. Il peut faire office de proxy :

$socat -v TCP-LISTEN:4444 TCP:localhost:1234
hello

alors votre application doit se connecter au port 4444 au lieu de se connecter directement au 1234

L'option -v permet à socat d'imprimer tout ce qu'il reçoit sur l'erreur standard (stderr).

Mise à jour :

Si socat n'est pas disponible sur votre machine, vous pouvez toujours l'émuler de cette façon avec netcat :

$netcat -l -p 4444 | tee output_file | netcat localhost 1234

mises en garde :cette option est unidirectionnelle. la deuxième instance de netcat imprimera toute réponse de votre serveur sur la sortie standard. Vous pouvez toujours le faire :

$mkfifo my_fifo
$netcat -l -p 4444 < my_fifo | tee output_file | netcat localhost 1234 > my_fifo

Essayez Wireshark. C'est un excellent analyseur de protocole ciblé à la fois pour Linux et Windows.


Linux
  1. Ce qui fait de Linux le système d'exploitation durable

  2. Qu'est-ce qui rend la communauté Linux spéciale ?

  3. Quelle est la bonne façon de démarrer un service mongod sous Linux / OS X ?

  4. Quel est le moyen le plus simple de détecter les pressions sur les touches en python 3 sur une machine Linux ?

  5. Quelle est la manière la plus simple de créer un paquet virtuel dans debian ?

Qu'est-ce que la commande Linux Watch + Exemples

Comment éditer des fichiers PDF sous Linux de la manière la plus simple possible

Qu'est-ce que le Shell sous Linux ?

Qu'est-ce que la commande kill sous Linux ?

Quel est le moyen le plus simple de libérer de l'espace sur un disque dur ?

Quel est le moyen le plus simple de visualiser les données de stdout sous forme de graphique ?