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: