Linux

通過 bash 發送 udp 廣播

  • July 14, 2021

我嘗試通過 bash 發送一個 2 (FF 01) 字節的 udp 廣播,但在我的網路嗅探器中,我注意到它是 3 個字節。FF 01 0A換行符是從哪裡來的,我該如何防止它?

echo -e '\xFF\x01' | socat - udp-datagram:255.255.255.255:1500,bind=:6666,broadcast,reuseaddr

嘗試添加-n到您的echo或使用printf

$ echo -e '\xFF\x01' | xxd -p
ff010a
$ echo -en '\xFF\x01' | xxd -p
ff01
$ printf '\xFF\x01' | xxd -p
ff01

正如我認為你意識到的那樣,0A是換行符。另見:https ://www.asciitable.com/

引用自:https://unix.stackexchange.com/questions/658385