이스케이프된 문자열 배열을 파이프 프로세스로 보내기

이스케이프된 문자열 배열을 파이프 프로세스로 보내기

bash Linux 스크립트가 있습니다.

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

이제 이를 PowerShell로 변환하려고 하는데 이 문자 줄에 대한 echo 구문이 무엇인지 잘 모르겠습니다.

내가 할 때 : echo '\x55\x55\xaa\xaa\x00\x00\x00\x00\x00\x00\x00\x50' | & .\nc -w 2 192.168.10.187 8000

결과가 나오지 않지만 문자열이 파이프로 연결되었는지 nc또는 잘못된 문자열인지 확실하지 않습니다.

답변1

바이트를 확인하려면 Format-Hex cmdlet을 사용하세요.

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

답변2

출력 제한으로 인해 Powershell로는 수행할 수 없는 것 같아서 작은 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);
        } 

관련 정보