web-dev-qa-db-ja.com

ジュニパーネットスクリーンからセッションのリストを簡単に取得

時々セッション数が多いJuniperNetscreenSSG-5を持っています。 4096のライセンスセッションがあり、小規模オフィス(12人ほど)で3000以上のセッションが見られることがあります。これは私が望むよりも高く、開いているセッションについて少し興味をそそられます。

理想的には、「get session」コマンドの出力をテキストファイルにスローしますが、これはScreenOSがサポートしているものではありません。少なくとも、私が知っていること。その場合はお知らせください。

出力をファイルに保存する機能がなければ、SNMPを介してセッションリストを取得できれば、そのようにwr/m-angleすることに満足するでしょうが、私が見つけたのはアクティブな数だけです。セッション(enterprises.3224.16.3.2.0)。

'nc'を使用してネットスクリーンに接続し、Enterキーを繰り返し押して数千行をページングするスクリプトを作成することもできますが、そのような方法が存在する場合は、「正しい方法」で行うよりも面白くないようです。

2
Matt Simmons

わかった!

私には知られていないが、ScreenOSには、任意のコマンドからの出力をtftpサーバーにパイプする機能があります。

使用法は次のとおりです。

 <command> > tftp <tftp ip address> <filename>

これでテキストファイルになったので、grep、sed、およびawkを実行できます。

3
Matt Simmons

セッション出力の取得に関する統計を作成したい場合は、「ファイアウォールセッションアナライザー」と呼ばれる小さなツールがあります。ジュニパーアカウントをお持ちの場合は、www.juniper.net/fsaからアクセスできます。そうでない場合は、Tim Eberhardによって開発された優れたツールを使用できます。ダウンロードは次の場所から入手できます: http://performanceclassifieds.net/NSSA.Zip

それがあなたを助けることができることを願っています!

2
Alpharom

これはあなたの答えへのコメントとしては良いですが、新しい答えとして投稿して、コードをフォーマットできるようにします-SSHを使用してこれを自分でスクリプト化できます(または他のコマンド、5分ごとにDNSキャッシュをフラッシュするために使用しますDynDNSユーザーの場合)。

  1. dSAタイプのパスワードなしのsshキーファイルペアを作成します
  2. コマンドを実行するための適切なレベルのアクセス権を持つNetscreenユーザーを作成し、パブリックキーパーツをアカウントに配置します
  3. ローカルのLinuxボックスで以下を設定します

    #!/ bin/sh
    DATFILE = /opt/etc/fwcommands.dat
    KEYFILE =/root/.ssh/id_dsa_fw
    /usr/bin/ssh -T -i $ {KEYFILE} USER @ FIREWALL <$ {DATFILE}

...そして、fwcommands.datファイルに実行したいものがあります。だから次のようなもの:

exec get sessions > tftp ip file
exit

次に、それをcronして、1時間ごとなどに実行し、個人的に必要なものが何であれ、出力を電子メールで送信するように設定できます。 (フォーマットはちょっとめちゃくちゃで、serverfaultはbashスクリプトをインラインで嫌います)。

2
user15590