vbscript应用于netscreen防火墙检查

原创 2007年09月17日 16:50:00
 程序明说:通过中转solaris系统登录多台netscreen防火墙,检查设备状态crt脚本(vbs脚本vbscript)


# $language = "VBScript"
# $interface = "1.0"

Sub Main

Cnstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=firewall.mdb;Persist Security Info=False"

tabname="setmessage"  
'dulttab="dultmess"    '填写报表数据表
'dultnametab="dult"     '值班人员表


Set cn=CreateObject("ADODB.Connection")
Set rs=CreateObject("ADODB.Recordset")
'Set rs1=CreateObject("ADODB.Recordset")
'Set rs2=CreateObject("ADODB.Recordset")

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("testfile.txt", True)
 
 




 cn.Open Cnstr
 rs.Open "select * from "+tabname,cn,1,3


Dim cpustr,memorystr,connstr


Dim  objXL
Set objXL=CreateObject("Excel.Application")
objXL.Visible=false
'objXL.WorkBooks.Add
Set objWb = objXL.WorkBooks.Open ("c:/firewall/template.xls")

' Get the first loaded worksheet object of the current workbook
Set objWb = objXL.ActiveWorkBook.WorkSheets(1)
objWb.Activate               ' not absolutely necessary (for CSV)


'objXL.Columns(1).ColumnWidth=40
'objXL.Columns(2).ColumnWidth=40
'objXL.Columns(3).ColumnWidth=20

'objXL.Cells(1,1).Value="cpu"
'objXL.Cells(1,2).Value="memory"
'objXL.Cells(1,3).Value="connest"

 crt.Screen.Synchronous = True
 crt.Session.Connect ("/telnet 132.*")
 
  crt.Screen.WaitForString "login:"
 crt.screen.Send  "用户名" & Chr(10)
 crt.Screen.WaitForString "Password:"
 crt.screen.Send  "密码" & Chr(10)
'bug处理
 crt.Screen.WaitForString "eric@dszmas1o> "
 crt.screen.Send "df -k"  & Chr(10)
 screenrow = crt.screen.Rows 
 cpustr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
 memorystr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
 connstr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
 crt.screen.Send  Chr(10) 
 crt.Screen.WaitForString "> "
 crt.screen.Send "echo "& cpustr  & Chr(10)
 crt.Screen.WaitForString ">"
 crt.screen.Send "echo "& memorystr & Chr(10)
 crt.Screen.WaitForString ">" 
 crt.screen.Send "echo "& connstr  & Chr(10) 
crt.screen.Send  Chr(10) 



intindex=3

Dim ipaddr,username,seten,setname,systemtype,dultname
dultname=crt.Dialog.Prompt("input dultname", "dultname", "", False)

While Not rs.eof
  ipaddr=rs("ipaddr")
  username=rs("username")
  seten=rs("seten")
  systemtype=rs("systemtype")
  setname=rs("setname")
 MyFile.WriteLine(ipaddr)
 MyFile.WriteLine(Date)
 crt.Screen.WaitForString "> "
 crt.screen.Send  "telnet "&ipaddr & Chr(10)
 crt.Screen.WaitForString "login:"
 crt.screen.Send  username & Chr(10)
 crt.Screen.WaitForString "password:"
 crt.screen.Send seten & Chr(10)

 crt.Screen.WaitForString "->"
 crt.screen.Send "get performance cpu"& Chr(10)

 crt.Screen.WaitForString "->"
 screenrow = crt.screen.Rows - 2
 cpustr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
' objXL.Cells(intindex,1).value=cpustr
 crt.screen.Send "get memory"& Chr(10)


 crt.Screen.WaitForString "->"
 screenrow = crt.screen.Rows - 1
 memorystr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
 'objXL.Cells(intindex,2).value=memorystr
 crt.screen.Send "get session | include alloc"& Chr(10)


 crt.Screen.WaitForString "->"
 screenrow = crt.screen.Rows - 1
 connstr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
 'objXL.Cells(intindex,3).value=connstr


 crt.screen.Send "exit"& Chr(10)

'处理提处字符串的信息,通过unix系统进行数据计算(字符提取)
 objwb.Cells(intindex,6).value=datetime   '记录日期
 objwb.Cells(intindex,4).value=dultname
 objwb.Cells(intindex,13).value=setname
 objwb.Cells(intindex,14).value=systemtype
 
 objwb.Cells(intindex,18).value="正常"
 objwb.Cells(intindex,19).value="正常"
 objwb.Cells(intindex,20).value="正常"

 crt.Screen.WaitForString ">"
 crt.screen.Send "echo "& cpustr & "| awk -F" & Chr(34)&":"&Chr(34)&" '{print $2}'" & Chr(10)
 crt.Screen.WaitForString ">"
 screenrow = crt.screen.Rows - 1
 cpustr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
  MyFile.WriteLine(cpustr)
 objwb.Cells(intindex,15).value=cpustr
 crt.screen.Send "echo "& memorystr & "| awk -F"&Chr(34)&" "&Chr(34)&" '{print $3,$5}'"&"| awk -F"&chr(34)&","&chr(34)&" '{printf("&chr(34)&"%3.1f%/n"& chr(34)&",$1*100/($1+$2))}'"&chr(10)
 crt.Screen.WaitForString ">" 
 screenrow = crt.screen.Rows - 1
 memorystr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
 objwb.Cells(intindex,16).value=memorystr
   MyFile.WriteLine(memorystr)
 crt.screen.Send "echo "& connstr  &"|awk -F"&Chr(34)&" "&Chr(34)&" '{print $2}' | awk -F"&chr(34)&"/"&chr(34)&" '{print $1}'"&Chr(10) 
 crt.Screen.WaitForString ">"
 screenrow = crt.screen.Rows - 1
 connstr = crt.Screen.Get(screenrow, 1, screenrow, 110 )
 objwb.Cells(intindex,17).value=connstr
   MyFile.WriteLine(connstr)
 crt.screen.Send Chr(10)
intindex=intindex+1

rs.movenext





Wend
 crt.Screen.WaitForString "eric@dszmas1o> "
 crt.screen.Send  "exit" & Chr(10)
 crt.Screen.Synchronous = False


objwb.Cells.Select
objXL.Selection.Rows.AutoFit
objXL.Selection.Columns.AutoFit
objXL.cells(1,1).Select

objXL.ActiveWorkBook.SaveCopyAs("c:/firewall/ttt.xls")
objXL.Quit()                 ' Quit Excel



rs.close
 MyFile.Close
Set rs=Nothing

Set cn=Nothing

End Sub

Juniper Netscreen防火墙VPN配置案例

昆山主厂固定ip连接外网,一根专线连接台湾总部,使用一台cisco的1812作为核心路由并使用dhcp分配ip,内部有一台ISA服务器控制用户上网。 上海adsl拨号上网,没有固定ip,有业务需要通...

NetScreen防火墙DoS攻击的检测和防御

http://blog.jnsms.com/article.php?type-blog-itemid-92-.html 一.拒绝服务攻击DoS   1. 拒绝服务攻击的目的是用极大量的虚拟信息流耗...

linux+shell+脚本+过滤NetScreen防火墙日志

一直想学习linux,可是没得时间。前二天,中华财险要求二天现场支持,这二天的时间,看了一些学习资料。看到公司的防火墙日志,试着过滤一下。 防火墙日志如下: 2011-09-30 00:00:20...
  • shif_l
  • shif_l
  • 2011年09月30日 14:23
  • 1062

Juniper NetScreen防火墙DoS攻击的检测和防御

Juniper NetScreen防火墙DoS攻击的检测和防御 分类: 网络与安全 From:    网络 一.拒绝服务攻击DoS 1. 拒绝服务攻击的目的是用极大量的虚拟信息...

Netscreen 防火墙透明模式配置案例

防火墙的透明模式即防火墙内网和外网不设三层IP地址,不做路由或者地址转换,只有设置管理IP。 一般在现有复杂网络添加防火墙时采用。接口为透明模式时,NetScreen设备过滤通过防火墙的封包,而不会...

Cisco_radius.zip_netscreen 防火墙

  • 2017年01月17日 18:51
  • 373B
  • 下载

如何添加对 ATL 的应用程序承载 VBScript 的支持

您可以添加类似于 VBA 的脚本编写功能到 ATL 应用程序开销很小使用 Microsoft ActiveX 脚本技术。本文演示了如何创建一个新的 ATL 应用程序或合并 VBScript 支持的一个...

Juniper_netscreen__防火墙培训

  • 2013年08月28日 11:14
  • 1.83MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vbscript应用于netscreen防火墙检查
举报原因:
原因补充:

(最多只允许输入30个字)