BashでUDP経由でバイナリデータを送信する方法


  1. netcatを使用する方法: netcatコマンドは、ネットワーキングユーティリティであり、UDPソケットを作成し、データを送信するために使用できます。
echo -n -e "\x01\x02\x03" | nc -u -w1 <送信先IPアドレス> <ポート番号>

この例では、\x01\x02\x03というバイナリデータを送信しています。

  1. socatを使用する方法: socatコマンドもネットワーキングユーティリティであり、UDPソケットを作成し、データを送信するために使用できます。
echo -n -e "\x01\x02\x03" | socat - UDP:<送信先IPアドレス>:<ポート番号>
  1. Pythonスクリプトを使用する方法: BashではなくPythonスクリプトを使用することもできます。以下は、PythonでUDPソケットを作成し、バイナリデータを送信する例です。
import socket
data = b'\x01\x02\x03'
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(data, ("<送信先IPアドレス>", <ポート番号>))
sock.close()

これらはいくつかの一般的な方法ですが、他にもさまざまな方法があります。選択した方法に応じて、コードを調整してください。