Juniper

從 Juniper Netscreen 輕鬆獲取會話列表

  • February 8, 2010

我有一個 Juniper Netscreen SSG-5,它偶爾會獲得很高的會話數。我有 4096 個許可會話,有時我看到一個小型辦公室(十幾個人)有 3000 多個。這比我想要的要高,這讓我對開放的會議有點好奇。

理想情況下,我會將“get session”命令的輸出放入文本文件中,但這不是 ScreenOS 支持的東西。至少,據我所知。如果是這種情況,請告訴我。

除非能夠將輸出保存到文件中,否則如果我可以通過 SNMP 以某種方式獲取會話列表,我會滿足於以這種方式進行 wr/m-angle 它,但我設法找到的只是活動的數量會話(企業.3224.16.3.2.0)。

我可以使用’nc’編寫一個腳本來連接到網屏並反复按輸入鍵來翻閱幾千行,但這似乎不如以“正確的方式”來做,如果存在這種方式的話。

我得到了它!

我不知道的是,ScreenOS 能夠將任何命令的輸出通過管道傳輸到 tftp 伺服器!

用法是:

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

現在它是一個文本文件,我可以用 grep、sed 和 awk 我那狡猾的小膽子了。

這最好作為對您答案的評論,但將其發佈為新答案,以便我可以為您格式化我的程式碼 - 您可以使用 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 &gt; tftp ip file
exit

然後,您可以 cron 使其每小時執行一次或諸如此類,並將其設置為通過電子郵件將輸出發送給您,無論您個人需要什麼。(格式化有點搞砸了,serverfault 討厭內聯 bash 腳本)。

引用自:https://serverfault.com/questions/99459