Je souhaite utiliser netcat en tant que proxy pour enregistrer les demandes http et les réponses aux fichiers, puis les rediriger pour inspecter le trafic. Pense à WireShark.
J'ai essayé ce qui suit, où 'fifo' est un canal nommé, 'in' et 'out' sont des fichiers, proxy Netcat sur le port 8080, serveur sur le port 8081.
bien que vrai le chat fifo | nc -l -p 8080 | tee -a dans | nc localhost 8081 | tee -a out 1 & gt; fifo; terminé
Problèmes:
Netcat cesse de répondre après la première demande (la boucle est-elle ignorée?).
Netcat échoue avec msg
localhost [127.0.0.1] 8081 (tproxy) : Connection refused
si le serveur n'est pas disponible sur 8081. Question: Est-il possible de se connecter "paresseusement" à 8081 lorsque la demande est faite? C'est à dire. Je ne souhaite pas que 8081 s'exécute au démarrage de netcat.
while true; do socat -v tcp-listen:8080,keepalive=1 tcp:localhost:8081; done
etsocat -v tcp-listen:8080,keepalive=1 tcp:localhost:8081
fork
un péchésocat -v tcp-listen:8080,fork tcp:localhost:8081
J'utiliserais tcpdump ( Didacticiel ) pour ça. Je pense que la commande que vous voulez ressemblerait à ceci:
la source
sudo tcpflow -p -i lo -c port 8081