リモートホスト(edgemarc 4200または4500シリーズルータ)にSSH接続し、ARPデータを取得します。

リモートホスト(edgemarc 4200または4500シリーズルータ)にSSH接続し、ARPデータを取得します。

私は何日もこれを実行する方法を考えてきましたが、まだ何も思いつきません。理想的には、これが私がやりたいことです:

Windows XP マシンから、リモート ホストへの SSH 接続を開き、ARP コマンドを送信し、コマンドのテキスト結果をクライアントで使用するために取得する必要があります。このデータを解析し、できれば IP アドレスと MAC アドレスの 2D 配列を作成する必要があります。共有キーはなく、これはすべて常に異なるユーザー名とパスワードを使用して行われます。リモート ホストの WAN IP に基づいて autoit スクリプトを使用してデータベースから取得される変数を介してコマンドに入力する必要があります。

ARP テーブルのテキストを取得できれば、実際のデータの解析と配列の作成は簡単になります。リモート ホストに SSH で接続し、コマンドを実行して、そのコマンドからのデータをバッチ スクリプトまたは Perl スクリプトでクライアントに返す方法はありますか (テキストをファイルに書き込んでも問題ありません。後でファイルから読み取ることができます。クライアントに渡すために必要なだけです)。

答え1

PuTTY の使用plink:

plink <server> arp

それでもうまくいかない場合は:

echo arp | plink <server>

システムが Linux を実行しており、ipコマンドが利用可能な場合は、それを使用します。形式は解析が簡単です。

plink <server> /sbin/ip -o -f inet neigh

plink <server> /sbin/ip -o -f inet6 neigh

答え2

PuTTY を使用すると、次のようにユーザー名とパスワードを指定できます。

  • putty -pw パスワード ユーザー名@ホスト名

さらに、「-m」コマンドラインスイッチを使用すると、接続後にサーバー上で実行するためにコマンドを読み取るテキストファイルを指定することもできます。

PuTTYはここからダウンロードできます:

  PuTTY (無料かつオープンソース)
  http://www.chiark.greenend.org.uk/~sgtatham/putty/

関連情報