42 votes

Comment puis-je forcer netcat à envoyer mon entrée immédiatement, pas seulement sur de nouvelles lignes?

Comment puis-je forcer netcat à envoyer immédiatement mon entrée, pas seulement sur de nouvelles lignes? Je veux tester manuellement un parseur HTTP et vérifier comment il se comporte lorsque les lignes d'en-tête sont réparties sur plusieurs paquets.

51voto

James Mertz Points 390

Utilisez la touche "eof", CtrlD. Lorsqu'elle est pressée au milieu d'une ligne, elle donnera à netcat tout ce qui a été entré à ce moment-là.

Le buffering est en fait effectué par la couche tty et non géré par nc du tout. stty -icanon && nc ... désactiverait le buffering et permettrait à nc de voir les données telles qu'elles sont entrées dans le terminal, à ce moment-là elles seront envoyées immédiatement. (Remarquez que les commandes stty et nc doivent être exécutées ensemble, sinon le shell lui-même réactiverait probablement quand il afficherait son invite.)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X