Je veux un moyen simple de montrer toutes les données TCP (pas les en-têtes TCP ou autre chose) passant par n'importe quelle interface sur ma boîte Linux.
Par exemple, je veux une commande magique qui, si je fais :
magic_commmand_I_want port=1234
alors s'il y avait un serveur écoutant sur le port 1234 sur ma machine, et que quelqu'un le faisait :
echo hello | nc localhost 1234
# Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port
Alors la commande magique s'imprimerait simplement :
hello
J'ai essayé "tcpdump", "ethereal", "tethereal", "tshark", et d'autres, mais il n'est pas évident de savoir comment les faire fonctionner :
- ne pas montrer les adresses IP ou autres métadonnées
- ne montrent que les "données" envoyées, et non les paquets individuels et leurs en-têtes.
- imprimer les données telles quelles, pas en hexadécimal, et pas avec des marqueurs de décalage de paquet
- renifler tous le trafic réseau (que ce soit sur eth0 o eth1 o lo etc...)
Oui, vous pourriez probablement enchaîner un ensemble de commandes unix pour faire cela, mais ce n'est pas très facile à retenir pour la prochaine fois :)
Si vous avez un exemple simple d'une ligne de commande exacte qui fait cela, c'est ce que j'aimerais.