Преобразовать строку файла ASCII в двоичный пакет для NetCat

Преобразовать строку файла ASCII в двоичный пакет для NetCat

У меня есть файл ASCII, который выглядит так:

36,36,0,1
36,36,0,2
...

Я хочу отправить каждую строку как полезную нагрузку одного двоичного сегмента TCP с помощью NetCat.

Для преобразования числа из файла в его двоичное представление я использую Perl, print pack("c", <STDIN>);поэтому я могу легко преобразовать весь файл (число за числом). Я также знаю, как отправить его с помощью , cat file | netcat localhost 9999но эта команда отправляет все содержимое как полезную нагрузку в одном сегменте.

Что можно сделать, чтобы отправить каждую строку исходного файла (преобразованного в двоичный) как новый TCP-сегмент?

решение1

Хорошо, я нашел решение.

Чтобы отправить каждый nбайт из файла как новый TCP-сегмент, можно использовать команду, аналогичную приведенной ниже:

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байт.

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