Tengo un archivo ASCII que se parece a esto:
36,36,0,1
36,36,0,2
...
Lo que quiero hacer es enviar cada fila como carga útil de un segmento TCP binario con NetCat.
Para convertir el número de un archivo a su representación binaria, estoy usando Perl print pack("c", <STDIN>);
para poder convertir fácilmente el archivo completo (número por número). También sé cómo enviarlo, cat file | netcat localhost 9999
pero este comando envía el contenido completo como carga útil en un segmento.
¿Qué puedo hacer para enviar cada línea del archivo original (convertido a binario) como un nuevo segmento TCP?
Respuesta1
Bien, he encontrado una solución.
Para enviar cada n
byte del archivo como un nuevo segmento TCP, se puede utilizar el comando similar al que se muestra a continuación:
for i in `seq 1 $num_of_segments`
do
head -c $i file_name | tail -c 1 | netcat localhost 9999
done
La opción -c n
en los comandos head
y tail
le indica que canalice el primer o el último n
byte.