sodebug コマンド

目的

ソケットのソケット・デバッグ・フラグ (SO_DEBUG ソケット・オプション) とトレース・レベルを設定または設定解除します。

構文

sodebug [ -h ] [ -l [ level ] ] [ -p pid | -s sockaddr [ -t type ] ]

説明

sodebug コマンドは、アクティブ・ソケットのソケット・デバッグ・フラグとトレース・レベルを設定、設定解除、またはリストします。

あるソケットに対してソケット・デバッグ・フラグ (SO_DEBUG ソケット・オプションとも呼ばれる) を設定すると、このソケット上のイベントは trace コマンドを使用してトレースすることができます。

システム上の既存のソケットにソケット・デバッグ・フラグを設定するには、-l オプションを使用できます。 -l オプションを使用すると、指定したソケットのトレース・レベルを設定することもできます。

sodebug コマンドをオプションを指定せずに実行すると、各アクティブ・ソケットのソケット・デバッグ・フラグ状況とトレース・レベルが表示されます。

trace および trpt コマンドは、トレース・レベルに基づいて情報を収集します。

次の表では、トレース・フック ID 25A (TCPDBG) のトレース・レベルに基づいて収集される情報を示します。
  min normal detail
tcp_debug データ (td_time、 td_act、 td_ostate、 td_tcb、 family および td_req)   X X
tcpip ヘッダー   X X
tcpcb のアドレス   X X
すべての tcpcb フィールド     X
ソケットのアドレス   X X
すべてのソケット・フィールド     X
ソケット・デバッグ・フラグとトレース・レベルの設定または設定解除は、以下の説明のように行うこともできます。
  1. 次のコマンドを実行すると、システム上でそれ以降に作成されるすべてのソケットでソケット・デバッグ・フラグが使用可能に設定されます。
    no -o sodebug=1
  2. inetd.conf 内にあるサービスの wait/nowait フィールドで |DEBUG[=level] を指定すると、特定のサービスに対するソケット・デバッグをオンにすることができます。 トレース・レベルは minnormal、または detail のいずれかに設定できます。レベルを指定しない場合のデフォルト・レベルは normal です。
  3. no コマンドの sodebug_env パラメーターを使用し、プロセス環境で export SODEBUG= level を指定すると、プロセスによってそれ以降に作成されるすべてのソケットに対してソケット・デバッグをオン/オフに設定できます。トレース・レベルは minnormal、または detail のいずれかに設定できます。

フラグ

項目 説明
-h sodebug コマンドのヘルプを表示します。
-l [ level] トレース・レベルを指定します。レベルとして有効な値は、noneminnormal、および detail です。レベルを指定しない場合のデフォルトのトレース・レベルは normal です。
-p pid プロセスのプロセス ID を指定します。
-s sockaddr ソケット・アドレス、ソケットの inpcb のアドレス、またはソケットの tcpcb のアドレスによってソケットを指定します。
-t type -s sockaddr オプションによって指定するアドレスのタイプを指定します。有効な値は、socketinpcb、および tcpcb です。デフォルト値は socket です。

セキュリティー

sodebug コマンドを実行するには root 権限が必要です。

  1. ソケット f100090002d0a800 のデバッグ・フラグとソケット・トレース・レベルを表示するには、次のように入力します。
    sodebug -s f100090002d0a800
    出力は、次の例のようになります。
    socket address : f100090002d0a800 , sodebug flag : 0 , trace level : none(0)
  2. トレース・レベルを normal に設定し、デバッグ・フラグを 1 に設定するには、次のように入力します。
    sodebug -s f100090002d0a800 -l normal
    出力は、次の例のようになります。
    Setting new values for trace level and debug flag
    socket address : f100090002d0a800 , sodebug flag : 1 , trace level : normal(3)