我怎样才能强制 netcat 立即发送我的输入,而不仅仅是换行符?

我怎样才能强制 netcat 立即发送我的输入,而不仅仅是换行符?

如何强制 netcat 立即发送我的输入,而不仅仅是在换行符上发送?我想手动测试 HTTP 解析器,并检查当标头行分布在多个数据包中时它的行为。

答案1

使用CtrlD,默认情况下将其设置为 ttyeof键。当在一行的中间按下时,它将向 netcat 提供该点的所有内容。

缓冲实际上是由 tty 层完成的,nc根本不由 处理。stty -icanon && nc ...将禁用缓冲并允许nc在数据输入到终端时查看数据,此时数据将立即发送。(请注意,sttync命令必须一起运行,否则 shell 本身可能会在显示其提示时重新启用它。)

相关内容