これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドsipsakです。
プログラム:
NAME
sipsak-sipサーバーとユーザーエージェントでのさまざまなテストのためのユーティリティ
SYNOPSIS
一口 [-dFGhiILnNMRSTUVvwz] [-NS PASSWORD ] [-NS 数 ] [-NS シプリ ] [-NS シプリ ] [-NS
数 ] [-e 数 ] [-E STRING ] [-NS FILE ] [-NS STRING ] [-NS ホスト名 ] [-l PORT ] [-NS
数 ] [-または 数 ] [-NS ホスト名 ] [-NS 数 ] [-NS REGEXP ] [-NS PORT ] [-NS 数 ] [-u
STRING ] [-W 数 ] [-NS 数 ] -s シプリ
DESCRIPTION
一口 SIPストレスおよび診断ユーティリティです。 サーバーにSIPリクエストを送信します
中で シップウリ 受信した応答を調べます。 次のいずれかで実行されます
モード:
- デフォルトモード
SIPメッセージはで宛先に送信されます シップウリ 返信ステータスが表示されます。 The
リクエストは ファイル名 または、新しいOPTIONSメッセージとして生成されます。
--tracerouteモード(-T)
このモードは、リクエストのパスを学習するのに役立ちます。 IPレイヤーと同様に動作します
ユーティリティ tracerouteとします。
-メッセージモード(-M)
特定のターゲットにショートメッセージ(携帯電話からのSMSと同様)を送信します。
オプション付き -B MESSAGEの内容を設定できます。 Usefullは
オプション -c -O このモードでは
--usrlocモード(-U)
SIPレジストラのストレスモード。 一口 高い状態でSIPサーバーに登録し続ける
ペース。 さらに、レジストラは -I または -M オプション。 場合
-I -M 省略 一口 任意の連絡先を登録するために使用できます( -C
オプション)レジストラのアカウントの場合、および現在のバインディングをクエリする場合
レジストラのアカウント。
--randtrashモード(-R)
パーサー拷問モード。 一口 ランダムに破損したメッセージを送信し続け、拷問します
SIPサーバーのパーサー。
-フラッドモード(-F)
SIPサーバーのストレスモード。 一口 SIPサーバーにリクエストを送信し続ける
ペース。
libruliの場合(http://www.nongnu.org/ruli/)サポートはにコンパイルされます 一口 バイナリ、次に
まず、_sip._udp.hostname の SRV ルックアップが行われます。 そして、このルックアップが通常の A に失敗した場合
ルックアップが行われます。 ターゲットURIでポートが指定されている場合、SRVルックアップは省略されます。 フェイルオーバー、
負荷分散およびその他のトランスポートはまだサポートされていません。
OPTIONS
-a, --password パスワード
与えられた PASSWORD 受信した '401で認証が試行されます
未承認」。 承認は時間通りに試行されます。 このオプションを省略した場合
空のパスワード( "")による認証が試行されます。 パスワードが等しい場合
〜へ - パスワードは標準入力(キーボードなど)から読み取られます。 この
同じホスト上の他のユーザーがパスワードを表示できないようにします。
プロセスリスト。 注: 他のユーザーがいる場合でも、パスワードはメモリから読み取ることができます
それにアクセスできます。
-A、-タイミング
冗長性がゼロの場合、テスト実行のタイミング値のみを出力します。 -v
与えられた。 XNUMXつ以上の場合 -v このオプションが与えられた場合、無視されます。
-b、-apendix-BEGINを開始
usrlocモードでユーザー名に追加される開始番号。 この
数 によって与えられた値に達するまで増加します -e パラメータ。 もしも
省略した開始番号はXNUMXになります。
-B、-message-body STRING
与えられた STRING 発信MESSAGEリクエストの本文として使用されます。
-c、-SIPURIから
与えられた シプリ 次の場合、Fromヘッダーで使用されます 一口 メッセージモードで実行
(で開始 -M オプション)。 これは、受信者を提示するのに役立ちます
おそらく応答さえも送信できる場所への意味のある使用可能なアドレスをメッセージします。
-C、-SIPURIに連絡する
これは、usrlocモードのContactヘッダーの内容です。 これにより挿入が可能になります
メールのように転送します。 たとえば、最初のSIPのURIを挿入できます
XNUMX番目のアカウントのアカウント。したがって、XNUMX番目のアカウントへのすべての通話は転送されます。
最初のアカウントに。 このオプションの引数はで囲まれませんので
角かっこは、カンマで区切って生の形式で複数の連絡先を指定することもできます
リスト。 特別な言葉 空の or なし 連絡先ヘッダーがありません
REGISTERリクエスト、したがってサーバーは現在のバインディングで応答する必要があります
レジストラのアカウント。
-d、-ignore-redirects
このオプションが設定されている場合、すべてのリダイレクトは無視されます。 デフォルトでは、このオプションはありません
受信したリダイレクトは尊重されます。 このオプションは、
randtrashモードとフラッドモード。
-D、-timeout-factor NUMBER
SIP_T1タイマーは、指定されたNUMBERで乗算されます。 受け取った後
INVITE要求に対する暫定応答、またはTCPのような信頼できるトランスポートの場合
またはTLSが使用されている 一口 結果として生じる時間の最終応答を待ちます
それが諦めるまで。
-e、-appendix-end NUMBER
usrlocモードでユーザー名に追加される終了番号。 この
このエンディングに達するまで数が増えます 数。 フラッドモードでは、これは
送信されるメッセージの最大数。 省略した場合のデフォルト値は
フラッドモードでは2 ^ 31(2147483647)。
-E、-transport STRING
の値 STRING リクエストを送受信するためのIPトランスポートとして使用されます
と応答。 このオプションは、URI評価とSRVの結果を上書きします
見上げる。 現在、「udp」と「tcp」のみがの値として受け入れられます ストリング。
-f、-filename FILE
の内容 FILE バイナリモードで読み込まれ、置換として使用されます
代わりに作成されたsipメッセージの場合。 これは、デフォルトモードで次のように使用できます。
OPTIONSリクエスト以外のリクエストを行います(例:INVITE)。 デフォルトではありません
ラインフィードの前のキャリッジリターンが挿入されます(使用 -L 非アクティブ化するには
この関数)。 ファイル名が等しい場合 - ファイルは標準入力から読み取られます。
例:キーボードまたはパイプから。 操作機能にご注意ください
(Viaヘッダーの挿入など)RFC適合要求でのみテストされます。 さらに
ファイル内の特別な文字列は、いくつかのローカル値または指定された値に置き換えることができます
(参照してください -g -G 詳細については)。
-F、-flood-mode
このオプションは、フラッドモードをアクティブにします。 このモードでは、OPTIONSは
増加するCSeq番号がサーバーに送信されます。 返信は無視されます-送信元ポート
localhost の 9 (discard) は、最上位の Via でアドバタイズされます。
-h、-help
簡単な使用法のヘルプメッセージを出力します。 ロングオプションの場合 - 助けて 利用可能です
利用可能な長いオプションを含むヘルプメッセージを出力します。
-g、-replace-string STRING
リクエスト内の$ replace $の置換をアクティブにします(通常、
ファイル) と ストリング。 または、属性のリストを指定して、
値。 このリストは、英数字以外の文字で開始および終了する必要があります。 The
属性と値の間の区切り文字としても同じ文字を使用する必要があります
そして、新しい属性値のペアの間。 文字列「$ attribute $」は次のようになります
メッセージ内の値の文字列に置き換えられます。
-G、-replace
リクエスト内の次の変数の自動置換を有効にします
(通常はファイルから読み込まれます): $ dsthost $ ホストまたはに置き換えられます
によって与えられるドメイン名 -s パラメータに一致する最初のデバイスのリモートコントロール URL を返します。 $ srchost $ に置き換えられます
ローカルマシンのホスト名。 $ port $ ローカルリスニングポートに置き換えられます
of sipsak。 $ user $ によって与えられたユーザー名に置き換えられます -s
パラメータに一致する最初のデバイスのリモートコントロール URL を返します。
-H、-hostname HOSTNAME
指定されたパラメータでホスト名の自動検出を上書きします。
警告: これは注意して使用してください(自動検出が失敗した場合にのみ推奨されます)。
-i、-no-via
ローカルホストのVia行の挿入を非アクティブ化します。 警告: これはおそらく
サーバーからの応答の受信を無効にします。
-I、-invite-mode
usrlocモード内で招待サイクルをアクティブにします。 と組み合わせる必要があります -U。
この組み合わせで 一口 最初にユーザーを登録し、次にシミュレーションします
このユーザーへの招待。 最初に招待状が送信され、これに200OKと返信されます。
最後にACKが送信されます。 このオプションは、なしでも使用できます -U 、しかしあなたは
このオプションで実際のUAを招待しないでください。 行方不明の場合 -U -l
PORT あなたが作った場合にのみ必要なので -U 以前は固定ローカルポートで実行し、
で実行 -I 同じ固定ローカルポートが成功する可能性があります。 警告: 一口 is
実際のUAおよび実際のUAへの招待は、予期しない動作を引き起こす可能性があります。
-j、-headers STRING
当学校区の string リクエストにXNUMXつ以上の追加ヘッダーとして追加されます。 ザ
文字列 "\n" (注: XNUMX 文字) は CRLF に置き換えられるため、
XNUMXつの別個のヘッダー。 そうすれば、複数のヘッダーを追加できます。
-l、-local-port PORT
受信側のUDPソケットはローカルネットワークを使用します ポート。 ファイルが
によって与えられた -f 正しいViaラインが含まれています。 チェックしてください -S 詳細についてはオプション
sipsakはメッセージを送受信します。
-L、-no-crlf
すべての改行の前にキャリッジリターンの挿入を無効にします(\ r)(\ n)
(これはまだcarraige returnによって進められていません)入力がから来ている場合
ファイル( -f )。 このオプションがないと、空の行もリクエストに追加されます
もし必要なら。
-m、-max-forwards NUMBER
これにより、Max-Forwardヘッダーフィールドの値が設定されます。 省略した場合、Max-Forwardはありません
フィールドが挿入されます。 tracerouteモードで省略した場合 数 255になります。
-M、-message-mode
これにより、usrlocモード内のメッセージサイクルがアクティブになります( 一口
通常のusrlocテスト内の0.8.0より前のバージョン)。 このオプションを組み合わせる必要があります
-U 成功した登録がテストメッセージでテストされるように
ユーザーと200OKで返信しました。 ただし、このオプションは、 -U
オプションを選択します。 警告: なしで使用 -U 予期しない動作を引き起こす可能性があります。
-n、-numeric
Via行の完全修飾ドメイン名の代わりに、ローカルホストのIP
使用されます。 このオプションはデフォルトでオンになっています。
-N、-nagios-コード
通常のsipsakコードの代わりに、Nagios準拠のリターンコードを使用します。 これの意味は
一口 すべてが問題ない場合は0を返し、エラーが発生した場合は2を返します(ローカルまたは
リモート)。
-o、-sleep NUMBER
一口 のために眠ります 数 usrlocモードで次のサイクルを開始する前のms。
これにより、テストプロセス全体が遅くなり、より現実的になります。 各サイクルは
それでも可能な限り速く完了しますが、テスト全体の速度が低下します。
-O、-disposition STRING
与えられた STRING Content-Disposition ヘッダーのコンテンツとして使用されます。
このオプションがないと、リクエストにContent-Dispositionヘッダーはありません。
-p、-outbound-proxy HOSTNAME [:PORT]
ホスト名のアドレスは、リクエストが送信されるターゲットです
(送信プロキシ)。 宛先ホストがホスト部分と異なる場合にこれを使用します
リクエストURIの。 サポートされている場合、ホスト名はDNS SRVを介して解決されます(を参照)
SRV解決の説明)であり、ポートは指定されていません。
-P、-プロセスNUMBER
お気軽にご連絡ください 数 送信と応答のチェックを行うための並列プロセスの数。 作るだけ
の数値が大きい場合は -e usrloc、message、またはinviteモードで提供されます。
-q、-search REGEXP
返信を照合する REGEXP 一致が発生しなかった場合はfalseを返します。 に便利
サーバーヘッダーフィールドでサーバー名を検出する例。
-r、-remote-port PORT
デフォルトのSIPポート5060の代わりに PORT 使用されます。 あるいは、
リモートポートは、のsip uri内で指定できます -s パラメータに一致する最初のデバイスのリモートコントロール URL を返します。
-R、-random-mode
これにより、randtrashモードがアクティブになります。 このモードでは、OPTIONSリクエストはに送信されます
このリクエスト内でランダムにクラッシュする文字の数が増加しているサーバー。
リクエスト内の位置と置換文字はランダムに選択されます。
Bad request(4xx)以外の応答は、このモードを停止します。 またXNUMXつ
応答のない送信は、このモードを停止します。 とともに -t ゴミ箱の最大値をパラメータ化する
文字を指定できます。
-s、-sip-uri SIPURI
この必須オプションは、リクエストの宛先を設定します。 モードによって異なります
サーバー名またはユーザー名のみが必須の場合。 完全な例
シプリ : 一口:[メール保護]:123 SRVについての説明部分の注記を参照してください
このURIのホスト名がIPとポートに変換される方法の詳細を検索します。
-S、-対称
このオプションで 一口 メッセージの送受信にXNUMXつのポートのみを使用します。
このオプションを使用すると、送信するローカルポートは -l オプションを選択します。
デフォルトモードで 一口 ランダムなポートから送信し、指定されたポートでリッスンします
-l オプションを選択します。 注意: このオプションで 一口 受け取れなくなります
非対称シグナリング(および壊れたrport実装)を使用したサーバーからの応答
Ciscoプロキシのように。 実行した場合 一口 ルートとして、rawソケットサポート付き(チェック
からの出力 -V オプション)この場合、このオプションは必要ありません。
場合 一口 すでにメッセージの送受信にXNUMXつのポートのみを使用しています。
-t、-trash-chars NUMBER
このパラメーターは、randtrashモードでゴミ箱に入れられる文字の最大数を指定します。
省略した場合 数 リクエストの長さに設定されます。
-T、-traceroute-mode
これにより、tracerouteモードがアクティブになります。 このモードはよく知られているように機能します
traceroute(8) コマンドは、ネットワークホップの数ではなくカウントされることを期待します
宛先ユーザーに向かう途中のサーバーの数。 往復時間も
各リクエストのが印刷されますが、SIPプロトコル内の制限により、
ID(IPまたは名前)は、
サーバーには警告ヘッダーフィールドが含まれています。 このモードでは、各送信要求で
Max-Forwardsヘッダーフィールドの値は、XNUMXから始まります。 最大
Max-Forwardsヘッダーのは、他の値が指定されていない場合は255になります。 -m パラメータに一致する最初のデバイスのリモートコントロール URL を返します。
483または1xx以外の応答は最終応答として扱われ、
このモードを終了します。
-u、-auth-username STRING
与えられたものを使用する STRING 認証のユーザー名値として(別のアカウント
および認証ユーザー名)。
-U、-usrloc-mode
これにより、usrlocモードがアクティブになります。 なし -I または -M オプション、これのみ
レジストラにユーザーを登録します。 上記のオプションのいずれかを使用して、前の
登録ユーザーは、シミュレートされたコールフロー(招待、200、
ack)またはインスタントメッセージ(メッセージ、200)。 すべてのユーザーアカウントにXNUMXつのパスワード
usrlocテスト内で与えることができます -a オプション。 ユーザー名は必須です
このモードの場合 -s パラメータ。 から始まる番号 -b へのパラメータ
-e パラメータにはユーザー名が追加されます。 の場合 -b と -e パラメータは省略され、
指定されたユーザー名で実行されるのはXNUMXつだけですが、ユーザー名に番号を追加することはありません
終わらせる。
-v、-verbose
このパラメーターは、出力の冗長性を高めます。 番号 -v を除いてほとんど出力がないことを意味します
tracerouteおよびエラーメッセージで。 最大XNUMXつのvがコンテンツを出力します
送受信されたすべてのパケットの。
-V、-version
の名前とバージョン番号を出力します 一口 とだったオプション
バイナリにコンパイルされます。
-w、-extract-ip
警告ヘッダーフィールドからのIPまたはホスト名の抽出をアクティブにします。
-W、-nagios-警告NUMBER
成功するまでの再送信の回数が多い場合は、Nagios警告終了コード(1)を返します
与えられた数を超えていました。
-x、-expires NUMBER
Expiresヘッダーの値を指定された数値に設定します。
-z、-remove-bindings
usrlocモードで古いバインディングをランダムに削除することをアクティブにします。 あたりいくつ
バインディングのセントが削除され、USRLOC_REMOVE_PERCENTによって決定されます
コード内で定義します(コンパイル前に設定します)。 バインディングの複数の削除
可能であり、防ぐことはできません。
リターン VALUES
戻り値0は、200が受信されたことを意味します。 1は、1xxまたは2xx以外の何かを意味します
受け取りました。 2は、解決できない名前や間違った名前などのローカルエラーで返されます
オプションの組み合わせ。 3は、ソケットエラーなどのリモートエラーで返されます(例:icmp
エラー)、連絡先ヘッダーなしでリダイレクトするか、単に応答なし(タイムアウト)。
Status -N オプションが指定された場合、リターンコードは(ローカルまたはリモート)の場合は2になります
エラー。 1からの再送信があった場合 一口 サーバーに。 そして、もしあれば0
エラーはまったくありませんでした。
注意
一口 責任を持って。 いずれかのストレスモードで実行すると、かなりの負担がかかります
テスト対象のネットワークとサーバー。
例
sipsak -vv -s sip:[メール保護]
受信した返信を表示します。
sipsak -T -s sip:[メール保護]
SIPパスを誰にもトレースしません。
sipsak -U -C sip:me @ home -x 3600 -a password -s sip:myself @ company
職場から自宅へのXNUMX時間の転送を挿入します。
sipsak -f bye.sip -g '!FTAG!345.af23!TTAG!1208.12!' -s sip:myproxy
ファイルbye.sipを読み取り、$ FTAG $を345.af23に置き換え、$ TTAG $を1208.12に置き換えます。
最後にこのメッセージをmyproxyに送信します
制限 / NOT 実装済み
多くのサーバーは、SIPの「警告」ヘッダーフィールドを含めないことを決定する場合があります。 残念ながら、これ
tracerouteモードでSIPサーバーのIPアドレスを表示できなくなります。
IPv6はサポートされていません。
Record-RouteおよびRouteヘッダーのサポートがありません。
onworks.netサービスを使用してsipsakをオンラインで使用する