
Ich habe ein Bash-Linux-Skript:
echo -e '\x55\x55\xaa\xaa\x00\x00\x00\x00\x00\x00\x00\x50' | netcat -w 2 192.168.10.187 8000
Jetzt versuche ich, es in PowerShell zu konvertieren, bin mir aber nicht sicher, wie die Echo-Syntax für diese Zeichenfolge lautet.
Wenn ich einfach Folgendes mache:
echo '\x55\x55\xaa\xaa\x00\x00\x00\x00\x00\x00\x00\x50' | & .\nc -w 2 192.168.10.187 8000
Ich erhalte kein Ergebnis, bin mir aber nicht sicher, ob die Zeichenfolge überhaupt weitergeleitet wird nc
oder ob es die falsche Zeichenfolge ist.
Antwort1
Verwenden Sie zum Überprüfen der Bytes das 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
Antwort2
Es sieht so aus, als ob es aufgrund von Ausgabebeschränkungen mit Powershell nicht möglich ist, also habe ich eine kleine C#-App geschrieben:
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);
}