.NET 5.0 (Linux, macOS, and Windows)

Ich beschäftige mich schon eine ganze Weile mit dem .NET Framework und .NET Core, privat wie auch beruflich. Für Projekte im privaten Bereich wurde .NET für mich erst so richtig interessant, als es dank Mono möglich wurde, Programme auch auf einem Raspberry Pi auszuführen.

Mit der Einführung von .NET Core der Open Source und Cross-Plattform Version von .NET, hat Microsoft mir und einer grossen Community eine spannende Entwicklungsplattform zur Verfügung gestellt.

Was ich besonders an der .NET Plattform schätze, ist wirklich die Idee dahinter. Eine Entwicklungsplattform zur Verfügung zu haben, in der ich praktisch alle benötigten Szenarien bedienen kann. So ist es unteranderem möglich mit nur einer Entwicklungsumgebung, (Visual Studio) Desktopanwendungen, Clouddienste, Webapplikationen, Web-Services und APPS (Android, iOS) zu erstellen. (Aufzählung nicht vollständig)

Wird nun alles mit .NET 5 noch besser? Wir werden sehen, wohin diese spannende und sehr flexible Entwicklungsplattform uns führt. Erste Erfahrungen mit einer .NET 5 Webapplikation konnte ich bereits sammeln. Diese haben wir am 08.12.2020 in Betrieb genommen und sind bis jetzt nicht entäuscht worden.

Hier habe ich nun ein paar interessante Informationen rund um .NET 5 zusammen getragen:

Introducing .NET 5 (06. Mai 2019)

Introducing .NET 5

Announcing .NET 5.0 (10. November 2020)

Announcing .NET 5.0

.NET 5 verfügbar für Windows, macOS und Linux. Für x86, x64, Arm32, Arm64

.NET Conf 2020 – Keynote (12. November 2020)

.NET Conf 2020 – Das .NET Ökosystem

.NET ecosystem momentum – aus dem Video

Nützliche Links:

What’s new in .NET 5

.NET 5 Herunterladen

Free .NET Architecture Guides

.NET Channel on YouTube

.NET Foundation on YouTube

Visual Studio

Visual Studio Community

Eine Saunasteuerung von Johnny Hooyberghs – MijnSauna: .NET 5 (Docker, Webservice, Raspberry Pi)

Remotedesktopverbindung: Nützliche Tastenkombinationen

Eine kleine Auflistung von nützlichen Tastenkombinationen, für die Arbeit mit Remotedesktopverbindungen:

  • CTRL + ALT + END: Entspricht auf einem lokalen Windows Desktop der Tastenkombination “CTRL + ALT + DEL”.
  • CTRL + ALT + BREAK: Wechselt die Anzeige der Remotedesktopverbindung zwischen Vollbildmodus und Fenstermodus.
  • CTRL + ALT + MINUS SIGN (-): Erstellt ein Screenshot des aktiven Fensters im RD Host. Funktioniert nicht im Vollbildmodus – Im Vollbildmodus ist “ALT + Print Screen” zu verwenden.
  • CTRL + ALT + PLUS SIGN (+): Erstellt ein Screenshot des gesamten Desktop im RD Host. Funktioniert nicht im Vollbildmodus – Im Vollbildmodus ist “Print Screen” zu verwenden.

Nützliche Links:

MSDN: Remote Desktop Services Shortcut Keys

Windows: Alternative Datenströme (ADS)

Mit Hilfe von sogenannten alternativen Datenströme (ADS), können im Dateisystem NTFS, zusätzliche Informationen / Daten zu den Hauptdaten gespeichert werden. Da Windows die alternativen Datenströme nicht standardmässig anzeigt, werden diese auch verwendet um Malware oder Daten zu verstecken.

Erstellen eines ADS

Ein ADS wird mit einem Doppelpunkt an eine Datei angehängt: “Dateiname:AD-Streamname”

Anhängen eines Textes:


echo "Ich bin nicht sofort Sichtbar" > normaler.txt:unsichtbar.txt

Schauen wir mit dem Windows-Explorer das Verzeichnis an, in dem die Datei liegt, können wir nur die Datei “normaler.txt” sehen. Diese Datei scheint jedoch keine Daten zu enthalten, da sie 0 KB gross ist.

normaler.txt
normaler.txt

Anhängen einer Datei:

Es können beliebige Binär- Asciidateien gespeichert werden. In diesem Beispiel wird die “netcat.exe” angehängt.


type nc.exe > normaler.txt:security.exe

Ausführen einer Datei im ADS

In den meisten Beispielen, im Internet, wird die angehängte Exe-Datei direkt mit dem Befehl start ausgeführt:


start c:\tmp\ads\normaler.txt:security.exe

Leider funktioniert dies bei mir unter Windows 7 nicht. Wird aber ein Systemlink auf diesen ADS gemacht, kann Netcat ausgeführt werden. Daher erstelle ich zuerst ein Systemlink auf diesen ADS:


mklink happy.exe c:\tmp\ads\normaler.txt:security.exe

Jetzt kann mit dem Befehl start Netcat ausgeführt werden:


start c:\tmp\ads\happy.exe

Anzeigen von AD-Streams

Windows 7 / Windows Vista:

Ab Windows Vista wurde der Befehl dir mit dem Parameter “/R” erweitert. Dieser listet alle dazugehörigen AD-Streams einer Datei auf.

dir /R

AD-Stream
Auflisten von AD-Streams

Windows XP / Windows 2000:

Bei den früheren Windows Versionen musste ein zusätzliches Tool verwendet werden um die AD-Streams anzuzeigen. Dabei kann das Command-Line Tool Streams 1.56 verwendet werden.

Auflisten von AD-Streams mit dem Command-Line Tool Streams
Auflisten von AD-Streams mit dem Command-Line Tool Streams

Als alternative kann auch die GUI-Basierte Anwendung AlternateStreamView v1.35 verwendet werden.

AlternateStreamView v1.35
AlternateStreamView v1.35

Nützliche Links

ADS Wikipedia
Dissecting NTFS Hidden Streams
Alternate Data Streams als Versteck für Schädlinge

Command-Line
mklink Dokumentation
type Dokumentation
start Dokumentation
echo Dokumentation
dir Dokumentation

Tools
AlternateStreamView v1.35
Streams 1.56

Buch: Computer-Forensik Hacks

Computer-Forensik Hacks
Computer-Forensik Hacks

Wenn man die Einleitung des Buches gelesen hat, in der man einen kleinen Überblick zur Thematik Computer-Forensik erhält, startet das erste Kapitel mit der Datensicherung. Dabei werden nicht nur die Daten von Speichermedien wie Festplatten oder USB-Sticks berücksichtigt, es werden auch die flüchtigen Daten aus dem RAM-Speicher gesichert. Wie kommt man an diese wertvollen Daten? Dies klingt nach einer sehr schwierigen Aufgabe, ins besonders wenn der Rechner noch passwortgeschützt ist… Mit der Hilfe des Buches “Computer-Forensik Hacks” ist dies beinahe kein Problem mehr. Es werden verschiedene Möglichkeiten aufgezeigt, um an diese Daten zu gelangen. Wie erfährt der interessierte in den Hack’s 4 und 5.

Das Buch “Computer-Forensik Hacks” ist eine Sammlung von Methoden, Tipps und Tricks aus der Computer-Forensik. Das Buch ist in 8 Kapitel unterteilt, in denen praktische Lösungen zu verschiedenen Problemstellungen in der Computer-Forensik, in sogenannten Hacks, Schritt für Schritt erläutert werden.

Mein Fazit

Los geht’s! Dies ist das ideale Buch, bei dem man das Gelesene gleich selber ausprobieren kann. In diesem Buch wird grundsätzlich kostenlose Software verwendet, so kann auch selber experimentiert werden. Egal ob unter Windows oder Linux, es werden beide Betriebssysteme berücksichtigt. Es macht wirklich Spass auf diese Weise spannende und komplexe Themen zu erarbeiten!

Die Webseite zum Buch

Webknight: Calling LoadLibraryEx on ISAPI filter “Webknight.dll” failed

Nach dem Installieren der 64-Bit Version von der “Application Firewall” Webknight, erhält man beim Aufruf von Webseiten die Fehlermeldung “Calling LoadLibraryEx on ISAPI filter “C:\Program Files\AQTRONIX Webknight\Webknight.dll” failed” angezeigt. Eine mögliche Ursache ist, dass die falsche Version von Webknight installiert wurde.

Webknight loading failed

Welche Version von Webknight muss auf einem 64-Bit Windows installiert werden?

Grundsätzliche sollte die 64-Bit Version installiert werden. Beim Betrieb von älteren Webapplikationen, welche noch 32-Bit COM-Komponenten verwenden, muss der IIS 7.x im 32-Bit Modus betrieben werden.

Application Pool Advanced Settings
Application Pool mit aktiviertem 32-Bit Modus

Wird nun die 64-Bit Webknight-Version installiert erhält man die oben beschriebene Fehlermeldung, da der IIS 7.x im 32-Bit Modus ausgeführt wird. Bei dieser Konstellation installiert man die 32-Bit Version von Webknight.

Nützliche Links

Webknight Webseite
Webknight FAQ

Windows: Nützliche Konsolenbefehle

MAC-Adressen der Netzwerkkarten anzeigen


>getmac

Physikal. Adresse   Transportname
=================== ==================
B8-AB-61-A3-24-77   Nicht zutreffend
08-00-22-02-E4-99   Nicht zutreffend
  1. Mit dem Befehl getmac werden die MAC-Adressen der vorhandenen Netzwerkkarten angezeigt.

Eine weitere Möglichkeit die MAC-Adressen der installierten Netzwerkkarten anzuzeigen, ist mit Hilfe des Befehls “ipconfig /all”.

getmac Dokumentation
ipconfig Dokumentation

MAC-Adresse zu einer IP bestimmen


>ping -n 1 192.168.60.25 
Ping wird ausgeführt für 192.168.60.25 mit 32 Bytes Daten:
Antwort von 192.168.60.25: Bytes=32 Zeit<1ms TTL=128

Ping-Statistik für 192.168.60.25:
    Pakete: Gesendet = 1, Empfangen = 1, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

>arp -a 192.168.60.25

Schnittstelle: 192.168.60.22 --- 0xf
  Internetadresse       Physische Adresse     Typ
  192.168.60.25          00-04-76-ef-ac-c3     dynamisch
  • 1. Zuerst wird ein ICMP Paket an die IP-Adresse verschickt um die MAC-Adresse herauszufinden.
  • 11. Nun kann mit dem ARP-Befehl die MAC- IP-Zuordnung aus dem ARP-Cache gelesen werden.

ping Dokumentation
arp Dokumentation

Alle Netzwerkverbindungen anzeigen


>netstat -ano

  Proto  Lokale Adresse         Remoteadresse          Status           PID
  TCP    0.0.0.0:135            0.0.0.0:0              ABHÖREN         864
  TCP    0.0.0.0:445            0.0.0.0:0              ABHÖREN         4
  TCP    0.0.0.0:3389           0.0.0.0:0              ABHÖREN         932
  TCP    127.0.0.1:31416        127.0.0.1:49178        HERGESTELLT     4264
  1. Das Kommando “netstat -ano” listet sämtliche Verbindungen eines Computers auf. Der Parameter “o” ist erst ab Windows 2000 vorhanden. Dieser bewirkt, dass zu sämtlichen Verbindungen auch die PID-ID der einzelnen Prozesse angezeigt werden. Der Status “Abhören” (Listen) beschreibt Serverdienste die auf Verbindungen warten.

Mit der Hilfe der PID-ID kann im Task-Manager herausgefunden werden, welcher Prozess eine Verbindung geöffnet hat oder auf Verbindungen wartet.

Windows Task-Manager
Die Verbindung mit der PID-ID 4264, aus dem obigen Beispiel, gehört zum Prozess “boinc.exe”.

netstat Dokumentation

Anzeigen wer eine Verbindung auf die lokale Maschine hat


>net session

Computer            Benutzername     Clienttyp     Öffn. Ruhezeit
------------------------------------------------------------------
\\192.168.60.25     DEMO-MASCHINE$                  0 00:00:02
\\192.168.60.25     demouser                        2 00:00:02

Der Befehl wurde erfolgreich ausgeführt.

net session Dokumentation

Windows herunterfahren

Dieser Befehl ist nur in Windows 2000 mit installiertem “Resource Kit” oder in neueren Windows Versionen vorhanden.


>shutdown /s /t 180
  1. Windows wird in 3 Minuten heruntergefahren. Verwendet man den Parameter “/r” anstelle “/s” wird der Computer neu gestartet.

Mit dem Parameter “shutdown /a” kann das Herunterfahren abgebrochen werden.


>shutdown /i
  1. Startet die grafische Oberfläche um einen Remotecomputer neu zu starten oder herunterzufahren.

Grafisches Oberfläche des shutdown Befehls
Mit der grafisches Oberfläche kann ein Remotecomputer heruntergefahren oder neu gestartet werden.

Dazu noch einen Hinweis aus der Dokumentation:

Damit ein Remotecomputer heruntergefahren oder neu gestartet werden kann, müssen die Firewallausnahmen Remoteverwaltung und Windows-Verwaltungsinstrumentation auf dem Remotecomputer aktiviert sein.

shutdown Dokumentation

DNS client resolver cache löschen und anzeigen


>ipconfig /flushdns
  1. Löscht den DNS client resolver cache.

>ipconfig /displaydns > dns_resolved.txt
  1. Speichert den DNS client resolver cache in die Datei dns_resolved.txt.

ipconfig Dokumentation

Taskliste anzeigen


>tasklist 
  1. Zeigt eine Liste von allen Applikationen und Services sowie deren Prozess ID (PID) an.

tasklist Dokumentation

Einen Prozess beenden

In Windows 2000 (und früher) ist dieser Befehl nicht vorhanden. Für diese Systeme gibt es dieses Kommando als zusätzliches Tool “pskill”.


>taskkill /f /pid 12345
  1. Erzwingt das Beenden des Prozesses mit dem PID 12345.

taskkill Dokumentation

Dateien vergleichen

Um in der Konsole zwei Dateien zu vergleichen, gibt es das Kommando “fc”.


>fc datei.txt datei.txt
  1. Hier werden die Dateien “datei.txt” und “datei2.txt” miteinander verglichen

Als Output erhält man die Zeilen die sich unterscheiden:


Vergleichen der Dateien datei.txt und DATEI2.TXT
***** datei.txt
***** DATEI2.TXT
In der zweiten Datei..
*****

Die Datei “datei2.txt” enthält zusätzlich die Zeile “In der zweiten Datei..”

fc Dokumentation

Nützliche Links

Windows Command-Line Reference A-Z
DNS-Abfragen mit nslookup
nslookup: anzeigen einer Liste mit allen IP’s und Aliasse einer Domain
ARP-Übersetzungstabelle anzeigen und verändern

VBScript: Windows Service remote starten und stoppen

Dank der WMI-Schnittstelle ist es möglich ein Skript zu schreiben, das auf einem remote System einen Service überwacht und bei Bedarf auch neu starten oder stoppen kann.


Dim objWMIService
Dim lServices
Dim strService: strService = "MeinService"
Dim strComputer: strComputer ="."

Set objWMIService = objSWbemLocator.ConnectServer("10.0.200.33", "root\cimv2", _
"Benutzer", _
"Passwort", _
"","")


Set lServices = objWMIService.ExecQuery("Select * from Win32_Service Where Name='" & strService & "'")
For Each objService In lServices
    Select Case objService.State
     case "Stopped" 'start service
          errReturn = objService.StartService()
     case "Paused" 'resume service
          errReturn = objService.ResumeService()
     case "Running" 'nothing todo
          wscript.echo objService.Name & " with ID " & objService.ProcessId & " is already started."
     End Select
Next

Anmerkung zu den Codezeilen:

  • 03 Achtung: bei der Definition des Servicenamen handelt es sich nicht um den Anzeigenamen sondern um den Dienstnamen
  • 06 Remote WMI Service initiieren (auch lokaler möglich)
  • 12 Mit einer WQL Abfrage wird der gesuchte Dienst selektiert um dann mit diesem Arbeiten zu können
  • 14 Status des Dienstes abfragen (Mögliche Werte sind: “Stopped”, “Start Pending”, “Stop Pending”, “Running”, “Continue Pending”, “Pause Pending”, “Paused”, “Unknown”)

Eigenschaften des Dienstes Anwendungsverwaltung
Bei der WQL-Abfrage den Dienstnamen verwenden und nicht den Anzeigenamen

Nützliche Links:

Managing Windows with WMI
WMI Query Language (WQL)
Win32_Service Class Proberties

WMI Scripting Primer: Part 1
WMI Scripting Primer: Part 2
WMI Scripting Primer: Part 3

Routingtabelle: statische Routen definieren unter: Windows, Debian Linux und Esxi-Server

Wenn eine Routingtabelle mit statischen Routeneinträge ergänzt werden soll, was bei einer VPN-Verbindung nötig sein kann, gibt es für die verschiedenen Betriebssysteme einen Befehl “route”. Dieser Befehl ist unter Windows und Linux sehr ähnlich. Der grösste Unterschied ist bei den permanenten Routings.

Einträge in der Rountingtabelle anzeigen:

  • unter Windows
    >route print

    Routingtabelle unter Windows
    Routingtabelle unter Windows
  • unter Linux
    >route

    Routingtabelle unter Linux
    Routingtabelle unter Linux
  • unter Esxi-Server
    >esxcfg-route -l

    Routingtabelle Esxi
    Routingtabelle Esxi

Eintrag in der Routingtabelle erstellen:
Achtung: Wenn das Betriebssystem neugestartet wird gehen die Einträge verloren, da es sich nicht um permanente Einträge handelt.

  • unter Windows
    >route add 192.168.7.0 MASK 255.255.255.0 10.50.147.66
  • unter Linux
    >route add -net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66 dev eth0
  • unter Esxi-Server
    >esxcfg-route -a 192.168.7.0 255.255.255.0 10.50.147.66

Eintrag in der Routingtabelle löschen:

  • unter Windows
    >route delete 192.168.7.0 MASK 255.255.255.0 10.50.147.66
  • unter Linux
    >route del -net 192.168.7.0/24  gw 10.50.147.66
  • unter Esxi-Server
    >esxcfg-route -d 192.168.7.0/24 10.50.147.66

Permanenter Eintrag in der Routingtabelle erstellen:
Nach einem Neustart des Betriebssystemes sind diese Einträge wieder in der Routingtabelle vorhanden.

  • unter Windows muss nur der Parameter -p mitgegeben werden, damit dieser Eintrag permanent wird.
    >route add 192.168.7.0 MASK 255.255.255.0 10.50.147.66 -p
  • unter Linux ist es ein wenig aufwändiger, es muss ein Eintrag in der Datei “/etc/network/interfaces” erstellt werden.
    
    iface eth0 inet static
          address 10.50.147.99
          netmask 255.255.255.0
          network 10.50.147.0
          broadcast 10.50.147.255
          gateway 10.50.147.1
          dns-nameservers 10.50.147.1 10.50.147.2
    
    #hinzufügen der statischen permanenten Route
    up route add -net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66 dev eth0
    
  • unter Esxi-Server wird ein Eintrag in der Datei “/etc/sysconfig/static-routes” erstellt.
    
    #hinzufügen der statischen permanenten Route
    any net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66
    

Zum starten der Esxi-Konsole (unsupported modus: left alt key + F1, type: unsupported)

Vmware Knowledge Base: Adding a static route to an ESX host
Esxcfg-Hilfe
Linux: man route

Error Code: 0x800F0A12 – Fehler beim installieren des Service Pack 1 für Windows 7

windows-7-sp1-errorWer beim Versuch das Service Pack 1 für Windows 7 (x64) zu installieren, auf den Error Code: 0x800F0A12 stösst, dürfte am Anfang ziemlich ratlos sein. Den dieser Error Code gehört zu den “Unbekannten Fehlern” und die Windows Hilfe bringt keine nützlichen Hinweise.

Wenn man im Web nach einer möglichen Lösung sucht, findet man die unterschiedlichsten Ursachen:

Beim System, das ich aktualisieren wollte, war das Problem der Punkt 3. Das System hatte 2 Harddisks installiert. Auf der ersten HD war ein Linux mit dem Bootmanager Grub und auf der zweiten HD war Windows 7 x64 installiert. (2 Partitionen – 100 MB System-Partition und eine Partition mit dem “c:\” Laufwerk)

Die Lösung war eigentlich ganz einfach: Den Stecker der Boot-HD (Grub / Linux) entfernen und von der Windows-HD booten. Damit man nicht irgendwelche Partitionen auf aktiv setzen oder die Bootreihenfolge im BIOS ändern muss, gibt es eine praktische Boot CD, mit dem Namen Super Grub Disk. System mit eingelegter CD starten, dann im Bootmenü “Detect any OS” wählen. Bei der Auflistung der gefundenen Betriebsysteme, den Windows Bootmanager auswählen und schon wird Windows gestartet. 🙂

windows-7-sp1-installation-startDanach funktionierte es mit der Installation des Service Pack 1 und das Setup konnte gestartet und durchgeführt werden.

Live!Zilla – Freeware Live Support System

Update: Seit dem 24.10.2011 ist die neue Version 4.x von Live!Zilla erhältlich. Ab Version 4.x ist Live!Zilla nicht mehr kostenlos erhältlich. Begründung des Herstellers
Durch diesen unerwarteten Schritt, wird wohl manch “Premium Options” Besitzer, sich verraten fühlen. Neu sind die Preise pro Operator! Diskussion im Live!Zilla Forum

livezilla - Freeware Live Support System
livezilla - Freeware Live Support System
Live!Zilla ist ein modernes und fast kostenloses “Live Support System”. Von Besuchermonitoring über Echtzeit Support bis offline Nachrichten, bietet die kostenlose Version von Live!Zilla eine grosse Menge an Funktionen. Mit der Unterstützung von Live!Zilla ist es möglich, Webseiten und Online-Shops mit einer Online-Beratung auszustatten und die Besucher auf Schritt und Tritt zu begleiten.
Kostenpflichtige Zusatzmodule
Die kostenlose Grundversion kann durch so genannte “Premium Options” ergänzt werden. Diese werden mit Hilfe einer kostenpflichtigen Lizenz freigeschaltet. Dabei handelt es sich um folgende Erweiterungen:

  • LiveZilla Statistik & Berichte: Erweiterung zur dauerhaften Analyse und statistischen Auswertung von Webseiten-Besuchern und Support-Aktivitäten.
  • LiveZilla Backlinks: Zum Entfernen des Backlink / Copyright-Link aus dem LiveZilla Chat Fenster (Kundenseite) sowie aus allen von LiveZilla versandten E-Mails.
  • LiveZilla GeoTracking: Weitere Informationen über die Herkunft Ihrer Webseiten-Besucher (Land, Region/Bundesland, Stadt, Zeitzone und Internet Service Provider). Die Besucher werden zudem auf einer Weltkarte angezeigt.
  • LiveZilla Startseite: Ändern der Startseite des LiveZilla Webclients sowie hinzufügen von weiteren Seiten. (eigene Webseite, eine Team- oder Intranetseite)

Systemvoraussetzungen

Eine Live!Zilla Installation umfasst einen Anwendungsserver und eine Client Applikation. Der Anwendungsserver ist mit PHP entwickelt worden und braucht einen Webserver mit PHP (Version >=5) Unterstützung (IIS / Apache). Die Daten des Servers werden in eine MySQL Datenbank (Version >= 5) gespeichert. Die Client Applikation läuft nur unter Windows. Unterstützt werden: Windows 2000, XP, 2003 Server, Vista und Windows 7

Live!Zilla Backlink
Live!Zilla Backlink im Chat-Fenster
Mein Fazit
Eigentlich wäre zu Erwarten, dass die kostenlose Version von Live!Zilla im täglichen Gebrauch zu eingeschränkt ist, um wirklich damit arbeiten zu können. Wer damit leben kann, dass im Chat-Fenster ein Backlink auf die Webseite von Live!Zilla vorhanden ist und im Webclient keine Berichte erstellt werden können, wird mit dem Funktionsumfang vollkommen zufrieden sein.

Top:

  • Einfache Installation und Konfiguration
  • intuitive Bedienung des Webclient
  • Funktionsumfang der kostenlosen Version

Flop:

  • Webclient läuft nur auf Windows

externe Links

Live!Zilla Webseite
Live!Zilla Screenshots
Live!Zilla Herunterladen