netcat,毫秒间隔

时间:2015-10-26 03:41:09

标签: linux shell pipe netcat

我试图使用netcat每隔几毫秒读取一个文件中的一行,并将其发送到一个端口..

到目前为止,我从netcat文档中了解到它可以在发送的每一行之间插入一个时间间隔:

这是来自netcat帮助手册:

  

-i秒发送线路的延迟时间间隔,扫描端口

我尝试了以下操作,允许我在每行发送之间插入至少1秒的时间间隔。

nc -q 10 -i 1 -lk 9999 < file_input

我想知道是否还有将此时间间隔缩短为毫秒。也许通过使用一些实用程序将文件的输入传递给netcat,该实用程序允许以毫秒的顺序配置每次读取之间的间隔?

1 个答案:

答案 0 :(得分:6)

使用来自GNU coreutils的睡眠允许睡眠几分之一秒。所以你可以尝试:

while read -r line ; do echo "$line"; sleep 0.001; done < "/path/to/file" | nc host port

在每个循环中,变量“line”保存文件的一行,该行通过netcat发送到端口“port”上的主机“host”。发送一行后,代码等待0.001秒,asf。直到文件中没有更多数据要发送。

有关sleep命令等待几分之一秒的能力的更多信息,请参阅“How do I sleep for a millisecond in bash or ksh”。