Linuxで対話型TCP / UDPサーバーを作成する方法はありますか?

Linuxで対話型TCP / UDPサーバーを作成する方法はありますか?

次のツールが必要です。これ(「TCPテストツール」と呼ばれる)(Linux用)。 GUI(たとえば、GUI / CLI - それほど重要ではありません)は必要ありませんが、すべてのポートでリッスン可能でリッスンできるGUIを作成できる必要があります。そして生データ(例:16進ダンプ)データ。

答え1

努力するnc

~からman nc

CNC- 任意のTCPおよびUDP接続と受信

答え2

ソカットほぼすべてを他のほぼすべてと双方向に接続できる洗練されたツールです。特に、ポートで接続を受信し、接続するとプログラムを実行し、データを送信し、出力をソケットに返すことができます。たとえば、

socat TCP4-LISTEN:3344,reuseaddr,fork  EXEC:/tmp/runme,pty

/tmp/runme次のスクリプトを実行します。

#!/bin/bash
trap 'echo sigterm >&2;exit' TERM
echo "start" >&2
while read line
do  echo "got $line"
done

ここでは、接頭辞 "got" を使ってデータを返すように、その中にあるデータで欲しいものは何でもできます。以下を使用してテストできますtelnet localhost 3344

echo hi | socat - TCP4:localhost:3344

udpで同じことを行う必要がある場合は、次のことを試すことができます。

socat UDP-RECVFROM:3344,fork  EXEC:/tmp/runme,pty

1つのパケットしか受信しませんが、まだ応答を受信しません。次のようにテストしてみてください。

echo hi | socat - UDP-SENDTO:localhost:3344

データをエコーで取得するには、この機能が組み込まれているため、xinetd有効にするだけです。エコ提供する。望むよりman xinetd.conf

帯域幅統計を確認するには、次の点を確認してください。ネットワークパフォーマンスツール。

答え3

sendipそのウェブサイトに興味があるかもしれません。http://snad.ncsl.nist.gov/ipv6/sendip.html

ウェブサイトから:

Q:文字列と数値パラメータを処理する方法は?A:多くのヘッダーフィールドとパケットデータ領域は、次の構文を使用して指定できます。

  • 0xXXXX - 16進数として解釈され、ネットワークバイト順序に従って2進数に変換されます。
  • 0XXXX - 8進数として解釈され、ネットワークバイト順序に従って2進数に変換されます。
  • rN - N "任意"バイト
  • zN - N ヌル(0)バイト
  • fF - ファイルFの次の行からパラメータを読み取ります。
  • その他 - リテラル文字列として扱われます。

答え4

そここれを可能にする socat v.2.0.0.b8 用のパッチです。

関連情報