Como posso forçar o netcat a enviar minha entrada imediatamente, não apenas em novas linhas? Quero testar um analisador HTTP manualmente e verificar como ele se comporta quando as linhas de cabeçalho estão espalhadas por vários pacotes.
Responder1
Use CtrlD, que é definido por padrão como a eof
chave tty. Quando pressionado no meio de uma linha, dará ao netcat tudo o que foi inserido naquele ponto.
O buffer é realmente feito pela camada tty e não é tratado por nc
ela. stty -icanon && nc ...
desabilitaria o buffer e permitiria nc
ver os dados conforme eles são inseridos no terminal, momento em que serão enviados imediatamente. (Observe que os comandos stty
e nc
devem ser executados juntos, caso contrário, o próprio shell provavelmente o reativaria ao exibir seu prompt.)