In Python-Skripten verfügbare Application Programming Interfaces (APIs)

GFI LanGuard integriert einen Großteil der standardmäßigen Python-Implementation (auch als CPython bekannt, erhältlich unter http://go.gfi.com/?pageid=pythorg). Derzeit verwenden wir Python in der Version 2.5. Daher funktionieren die meisten vorhandenen Python-SkripteEine höhere Programmiersprache für Computer. mit geringfügigen Anpassungen auch in GFI LanGuard. Die wichtigste Anpassung besteht darin, dass Skripte eine Funktion main()enthalten müssen, die entweder 1 oder 0 zurückliefert.

Alle Python-Skripte, die von Sicherheitsscannermodulen verwendet werden (Schwachstellenprüfungen und Informationen über Sicherheitsanwendungen), haben Zugriff auf die folgenden globalen Variablen:

  • ComputerIP
  • ComputerName
  • LNSSDir
  • localProgramFilesPath
  • localWindowsPath
  • localSystem32Path
  • User
  • Kennwort
Beispiel

ComputerIP = '127.0.0.1'

ComputerName = 'WXPSandbox"

LNSSDir = 'C:\\Program Files\\GFI\\LanGuard\\'

localProgramFilesPath = 'C:\\Programme'

localWindowsPath = 'C:\\WINDOWS'

localSystem32Path = 'C:\\WINDOWS\\system32'

User = ''

Password = ''

Über diese globalen Variablen können Sie auf den Namen oder die IP-Adresse des gescannten Computers sowie auf die Anmeldeinformationen zugreifen, die Sie für die Verbindung mit dem gescannten Computer benötigen.

Die globalen GFI LanGuard-Funktionen stehen in Python-Skripten als Methoden des GlobalFunctions-Objekts zur Verfügung. D. H.:

# Verwendung globaler Funktionen.

def main():

"""Return values:

* 0 - false, failed

* 1 - true, success"""

result = 0

# Text anzeigen

GlobalFunctions.echo("Hallo!")

# Übergebenen Text in Protokolldatei schreiben

GlobalFunctions.writetolog("Python-Skript gestartet.")

# Übergebenen Text in der Statusleiste anzeigen

GlobalFunctions.statusbar("Hallo StatusBar!")

# Fügt für den zweiten Parameter einen untergeordneten Knoten in die aktuelle Schwachstelle ein

GlobalFunctions.addlistitem("", "Beschreibung der Schwachstelle.")

# Beschreibung der aktuellen Schwachstelle ändern

GlobalFunctions.setdescription("Liste der installierten Modems")

GlobalFunctions.writetolog("Python-Skript beendet.")

result = 1

return(result)

GFI LanGuard bietet auch eine COM-Client-API für Python-Skripte in Form von pywin32.

Hinweis

Alle GFI LanGuard-COM-Scripting-Bibliotheken stehen via win32com.client für Python-Skripte zur Verfügung. Weitere Informationen finden Sie unter Scripting-Objekte.

Beispiel

# DNSEine in TCP/IP-basierten Netzwerken verwendete Datenbank, mit der sich Hostnamen in IP-Adressen übersetzen und andere Domänen-bezogene Informationen bereitstellen lassen.-Lookup mit dem LanGuard-COM-Objekt GlbObj.Socket

def main():

"""Return values:

* 0 - false, failed

* 1 - true, success"""

result = 0

import win32com.client

socket = win32com.client.Dispatch("GlbObj.Socket.1")

print(socket.DnsLookup('gfi.com'))

result = 1

return(result)

Pywin32

# Hallo Welt für Pywin32

def main():

"""Return values:

* 0 - false, failed

* 1 - true, success"""

result = 0

import win32com.client

strComputer = "."

objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")

objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")

colItems = objSWbemServices.ExecQuery("Select * from Win32_PhysicalMemory")

for objItem in colItems:

print("Kapazität: %s\n" % objItem.Capacity)

result = 1

return(result)

Hinweis

Zusätzliche Dokumentation zu Pywin32 finden Sie unter: