我有一个 ASCII 文件,如下所示:
36,36,0,1
36,36,0,2
...
我想要做的是将其每一行作为一个二进制 TCP 段的有效负载与 NetCat 一起发送。
为了将文件中的数字转换为其二进制表示形式,我使用 Perl,print pack("c", <STDIN>);
这样我就可以轻松地转换整个文件(逐个数字)。我也知道如何发送它,cat file | netcat localhost 9999
但此命令将整个内容作为有效负载发送到一个段中。
如何将原始文件的每一行(转换为二进制)作为新的 TCP 段发送?
答案1
好的,所以我找到了解决方案。
要将文件中的每个字节作为新的 TCP 段发送n
,可以使用类似于下面给出的命令:
for i in `seq 1 $num_of_segments`
do
head -c $i file_name | tail -c 1 | netcat localhost 9999
done
和命令-c n
中的选项指示通过管道传输第一个或最后一个字节。head
tail
n