LinuxでUDPポートのデータをどのように監視しますか?
LinuxでUDPポートを監視するには、以下の方法があります。
- netcat コマンドを使用する。netcat はネットワーク通信を行うためのユーティリティです。UDP ポートでデータを listen するには、以下のコマンドを使用します。
nc -u -l <port>
-uはUDPプロトコルを指定し、-lはlistenモードを指定し、これは監視するポート番号です。
- socatコマンドを使用:socatは、さまざまなタイプの接続を作成するために使用できる多機能ネットワークツールです。UDPポートデータをリッスンするには、次のコマンドを使用できます。
socat -v UDP-LISTEN:<port>,fork
UDP-LISTENは、UDPポートを待ち受けることを指定する。[待ち受け対象のポート番号]は、待ち受けるポート番号を指定し、forkオプションは、各接続ごとにデータを処理する子プロセスを1つ作成することを意味する。
- プログラミング言語で実装: C、Python、Java などのプログラミング言語を使用して、UDP ポートデータのリスニングを実行するプログラムを作成できます。以下に、Python を使用したサンプルのコードを示します。
import socket
UDP_IP = "0.0.0.0" # 监听所有IP地址
UDP_PORT = <port> # 要监听的端口号
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024) # 接收数据
print("Received message:", data)
ソケットモジュールはソケットへのサポートを提供し、AF_INETはIPv4アドレスの使用を指定し、SOCK_DGRAMはUDPプロトコルの使用を指定します。bind()メソッドを使用してソケットを指定されたIPアドレスとポートにバインドしてから、recvfrom()メソッドを使用してデータをレシーブします。
いかなる手段を使用するにせよ、UDPポートのリスンのみで、該当するポートに送信されたデータを受信可能である。