Linux ASUS ルータから UDP パケットを送信するにはどうすればよいですか?

Linux ASUS ルータから UDP パケットを送信するにはどうすればよいですか?

ルータのファームウェアを変更しましたが、unanme -a結果は次のとおりです。

Linux RT-AC86U-8458 4.1.27 #2 SMP PREEMPT Fri Aug 6 18:32:35 EDT 2021 aarch64 ASUSWRT-Merlin

私はSSHを介してルーターにログインし、このホストからネットワーク上の他のホストにUDPパケットを送信する方法を理解しようとしています。

私が試した方法は次のとおりです(すべて失敗)。

echo -n "hello world" | /dev/udp/serverip/15243
# /dev/udp/ doesnt exist

# or

echo -n "hello world" | nc -4u -w0 serverip 15243
# fails with 4 being an invalid option

# or

echo -n "hello world" | nc -u -c serverip 15243
# fails with u being an invalid option

このホストからUDPパケットを送信するにはどうすればよいですか?

ベストアンサー1

簡単なナビゲーションセッションASUSWRT - Merlin GitリポジトリASUSWRT-Merlinの使用について教えてくださいビジボックスバージョン1.25.1実装にnc

BusyBoxの現在のアップストリームバージョンは1.34.1です。この記事を書く時点で。

より具体的には、ASUSWRT-Merlinは以前のバージョンのBusyBoxを使用しているようです。ENABLE_NC_110_COMPATこのオプションなしで構成nc、コマンドにUDPサポートと他のいくつかの点を追加します。

CONFIG_NC=y
# CONFIG_NC_SERVER is not set
CONFIG_NC_EXTRA=y
# CONFIG_NC_110_COMPAT is not set

上記のコードスニペットの最後の行を変更CONFIG_NC_110_COMPAT=yしてBusyBoxコンポーネントまたはASUSWRT-Merlinファームウェア全体を再構築すると、必要な機能が得られます。

しかし、Steffen Ullrichが述べたように、ASUSWRT-Merlinには以下も含まれています。ソカット。努力する:

echo -n "hello world" | socat - UDP:serverip:15243

socatUDPを使用するさまざまなモードがあります。たとえば、 を使用することがうまくいかUDP:ない場合は、UDP-DATAGRAM:代わりに or を試すことができます。UDP-SENDTO:

おすすめ記事