Envío de una matriz de cadena de escape a un proceso canalizado

Envío de una matriz de cadena de escape a un proceso canalizado

Tengo un script bash de linux:

echo -e '\x55\x55\xaa\xaa\x00\x00\x00\x00\x00\x00\x00\x50' | netcat -w 2 192.168.10.187 8000

Ahora estoy intentando convertirlo a PowerShell, pero no estoy seguro de cuál es la sintaxis de eco para esta línea de caracteres.

Cuando acabo de hacer: echo '\x55\x55\xaa\xaa\x00\x00\x00\x00\x00\x00\x00\x50' | & .\nc -w 2 192.168.10.187 8000

No obtengo ningún resultado, pero no estoy seguro de si la cadena de caracteres se canaliza nco si es la cadena de caracteres incorrecta.

Respuesta1

Para comprobar los bytes utilice el cmdlet Format-Hex.

PS > $bytes = [Byte[]] (0x55,0x55,0xaa,0xaa,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50)
PS > $bytes | Format-Hex
           Path:
           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000   55 55 AA AA 00 00 00 00 00 00 00 50              UUªª.......P

Respuesta2

Parece que no se puede hacer con Powershell debido a limitaciones de salida, así que escribí una pequeña aplicación C#:

        using (var stdout = Console.OpenStandardOutput())
        {
            var buffer = new Byte[]
            {
                0x55,
                0x55,
                0xaa,
                0xaa,
                0x00,
                0x00,
                0x00,
                0x00,
                0x00,
                0x00,
                0x00,
                0x50
            };
            stdout.Write(buffer, 0, buffer.Length);
        } 

información relacionada