リモートホストからホスト名を取得する方法

リモートホスト名が必要となる場面は多くないかと想いますが、IPアドレスで接続したり接続時に使用するホスト名と機器に設定しているホスト名が異なる場合を想定すると、自動的にリモートホスト名を取得するメリットを感じる場面もあるかと思います。

スポンサーリンク

ホスト名を得る方法

ホスト名を得る方法としては、リモートホスト上でホスト名を表示するコマンドを実行する事が一番簡単そうですが、接続する機器によってコマンドは異なりますし戻って来た文字列を解析する必要があります。

そこで、通常ネットワーク機器のプロンプトにはホスト名が含まれているという事を考慮して、プロンプトからホスト名を得ることにします。

waitregexを使う

waitregexは正規表現にグループマッチを含めると、システム変数groupmatchstr1~groupmatchstr9にマッチした文字列を格納します。

この機能を使い、リモートホストから1行受信してwaitregexで待ち受ければホスト名だけ切り出す事が出来ます。

実際にホスト名を切り出すことができるサンプルを掲載します。このマクロはCisco、Fortigate、Juniper ScreenOS、CentOSで動く事を確認しています。まだ未確認ですがHPのSWとBIG-IPでも動くと思われます。

スポンサーリンク

フォローする

スポンサーリンク