我有一個 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