ADD Powershell Scripts
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
import datetime
|
||||
import requests
|
||||
import re
|
||||
import socket
|
||||
|
||||
def get_local_ip():
|
||||
try:
|
||||
# Ein temporärer Socket erstellen, um die lokale IP-Adresse zu ermitteln
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
# Verbindung zu einem öffentlichen DNS-Server herstellen
|
||||
s.connect(("8.8.8.8", 80))
|
||||
# Die lokale IP-Adresse aus dem Socket abrufen
|
||||
local_ip = s.getsockname()[0]
|
||||
s.close()
|
||||
return local_ip
|
||||
except Exception as e:
|
||||
print(f"Fehler beim Ermitteln der lokalen IP-Adresse: {e}")
|
||||
return None
|
||||
|
||||
# URL des API-Servers
|
||||
sogo_server = "http://172.19.1.4/api/v1/get/logs/sogo/1000"
|
||||
sogo_headers = {"x-api-key":"6A039F-CED4C3-D69E9E-A6C713-7EBB6A"}
|
||||
|
||||
api_server = "http://api.stines.de:8001/report"
|
||||
api_headers = {"access_token":"^YWUbG7yX*V!tV^KBSd*2c&vdN3wV9a2i7f3hfGFMBYFxi6#mMiJGiaA5KEHE%B*miK%qb7rQ67gmcYP@gqmux8"}
|
||||
|
||||
def extract_email_username(log_entry):
|
||||
# Regex für das Finden der E-Mail-Adresse in der Log-Zeile
|
||||
match = re.search(r"for user '([^']+)'", log_entry)
|
||||
if match:
|
||||
email = match.group(1)
|
||||
# Entfernen des '@' Zeichens aus der E-Mail-Adresse
|
||||
username = email.split('@')[0]
|
||||
return username
|
||||
else:
|
||||
return None
|
||||
|
||||
# Funktion zum Abrufen von Daten vom API-Server
|
||||
def fetch_data_from_api(url):
|
||||
response = requests.get(url,headers=sogo_headers)
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
else:
|
||||
print(f"Fehler beim Abrufen der Daten: {response.status_code}")
|
||||
return None
|
||||
|
||||
# Abrufen der Daten
|
||||
data = fetch_data_from_api(sogo_server)
|
||||
if data:
|
||||
for entry in data:
|
||||
log_line = entry.get('message')
|
||||
if log_line and "successful login" in log_line:
|
||||
username = extract_email_username(log_line)
|
||||
if username:
|
||||
payload ={
|
||||
"ipaddress": "172.19.1.4",
|
||||
"username": username,
|
||||
"lastaccess": datetime.datetime.fromtimestamp(int(entry.get('time'))).strftime('%Y-%m-%d %H:%M:%S')
|
||||
}
|
||||
api_response = requests.post(api_server, json=payload, headers=api_headers)
|
||||
print(api_response.status_code)
|
||||
print(f"Extrahierter Benutzername: {payload}")
|
||||
else:
|
||||
print("Keine Daten gefunden.")
|
||||
Reference in New Issue
Block a user