Como forçar o netcat a enviar minha entrada imediatamente, não apenas nas 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.
35
socat
como listado nesta respostaRespostas:
Use a tecla "eof" CtrlD,. Quando pressionado no meio de uma linha, ele dará ao netcat tudo o que foi inserido nesse ponto.
O buffer é realmente feito pela camada tty e não é tratado de maneira
nc
alguma.stty -icanon && nc ...
desativaria o buffer e permitirianc
ver os dados à medida que são inseridos no terminal, momento em que serão enviados imediatamente. (Observe que os comandosstty
enc
devem ser executados juntos, caso contrário, o próprio shell provavelmente o reativará ao exibir seu prompt.)fonte
stty -icanon && nc ...
oustty raw && nc ...
desativá-lo. [Note-se que ele deve ser executado em conjunto, caso contrário, o próprio shell seria reativá-lo ao exibir o prompt.]raw
muda várias opções de tty, uma delas é a manipulação de teclas especiais de "controle" no nível tty. (É realmente um modo "bruto", na medida em que passa tudo para o programa.) Você pode usarstty -a -F /dev/pts/XX
de outro tty para ver os parâmetros atuais.stty -icanon -echo && nc ...
caso contrário, todos os caracteres que eu digitei nc são ecoados duas vezes