Risposte:
Utilizzare il tasto "eof", CtrlD. Se premuto nel mezzo di una linea, darà a netcat tutto ciò che è stato inserito in quel punto.
Il buffering viene effettivamente eseguito dal livello tty e non gestito nc
affatto. stty -icanon && nc ...
disabiliterebbe il buffering e permetterebbe nc
di vedere i dati quando vengono inseriti nel terminale, a quel punto verranno inviati immediatamente. (Notare che i comandi stty
e nc
devono essere eseguiti insieme, altrimenti la shell stessa potrebbe riattivarla quando visualizza il suo prompt.)
stty -icanon && nc ...
o stty raw && nc ...
lo disabiliterebbe. [Si noti che deve essere eseguito insieme, altrimenti la shell stessa lo riattiverebbe quando viene visualizzato il prompt.]
raw
cambia un sacco di opzioni tty, una delle quali è la gestione di speciali tasti "control" a livello tty. (È davvero una modalità "raw", in quanto passa tutto al programma.) È possibile utilizzare stty -a -F /dev/pts/XX
da un altro tty per vedere i parametri correnti.
stty -icanon -echo && nc ...
altrimenti ogni carattere che ho digitato nc viene ripetuto due volte
socat
come indicato in questa risposta