Converte linha do arquivo ASCII para o pacote binário para o NetCat

0

Eu tenho um arquivo ASCII, que é assim:

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

O que eu quero fazer é enviar cada linha dela como carga útil de um segmento TCP binário com o NetCat.

Para converter o número do arquivo para sua representação binária, estou usando o print pack("c", <STDIN>); do Perl para poder converter facilmente o arquivo inteiro (número por número). Eu também sei como enviá-lo com cat file | netcat localhost 9999 , mas esse comando envia todo o conteúdo como carga em um segmento.

O que posso fazer para enviar cada linha do arquivo original (convertido para binário) como um novo segmento TCP?

    
por Piotr Aleksander Chmielowski 15.02.2016 / 21:04

1 resposta

0

OK, então encontrei uma solução.

Para enviar todos os n bytes do arquivo como um novo segmento TCP, o comando similar ao dado abaixo pode ser usado:

for i in 'seq 1 $num_of_segments'
  do
  head -c $i file_name | tail -c 1 | netcat localhost 9999
done

Os comandos de opção -c n in head e tail informam ao primeiro ou ao último% de n bytes do canal.

    
por 15.02.2016 / 21:32

Tags