Как заставить netcat отправлять мои входные данные немедленно, а не только при переходе на новую строку?

Как заставить netcat отправлять мои входные данные немедленно, а не только при переходе на новую строку?

Как заставить netcat отправлять мои входные данные немедленно, а не только на новых строках? Я хочу вручную протестировать HTTP-парсер и проверить, как он себя ведет, когда строки заголовков распределены по нескольким пакетам.

решение1

Используйте CtrlD, которая по умолчанию установлена ​​как eofклавиша tty. При нажатии в середине строки, она передаст netcat все, что было введено в этой точке.

Буферизация фактически выполняется слоем tty и ncвообще не обрабатывается. stty -icanon && nc ...отключит буферизацию и позволит ncвидеть данные по мере их ввода в терминал, после чего они будут немедленно отправлены. (Обратите внимание, что команды sttyи ncдолжны быть запущены вместе, в противном случае сама оболочка, скорее всего, снова включит их при отображении приглашения.)

Связанный контент