Elektronik: UKW-Prüfsender

In der heutigen digitalisierten Welt, wo alle veralteten “analogen” Techniken an Bedeutung verlieren, ist es trotzdem spannend sich diese noch anzuschauen und damit zu experimentieren. In der Schweiz wird Ende 2024 auf allen analogen UKW-Sendern Funkstille herrschen, welche wir mit einer kleinen, aber dennoch spannenden Schaltung durchbrechen können. :o) Ein kleiner UKW-Sender, welcher ich auf der Seite Knolles Elektronik Bastel Page gefunden habe, eignet sich hervorragend für Experimente. Die Qualität des übertragenen Signals, scheint mir aus Laiensicht völlig in Ordnung.

Alle wichtigen Informationen zum Bau und der Justierung der Senderfrequenz findet ihr hier: UKW-Prüfsender 3

Datenblatt UKW-Sender
Datenblatt UKW-Sender
UKW-Prüfsender
Meine Version des UKW-Prüfsenders

Nützliche Links
Knolles Elektronik Bastel Page
News – digitalradio Schweiz

Linux: Uhrzeit abgleichen mit dem NTP-Deamon

Das NTP-Protokoll ist dazu da, um die Zeit des Systems mit einem zentralen Zeitserver abzugleichen. Dazu muss auf dem Server System sichergestellt werden, dass der NTP-Deamon installiert ist.

Installation des NTP-Deamon


~$ sudo apt-get install ntp

 
Konfigurieren des NTP-Deamon

Danach können in der Datei “/etc/ntp.conf” die zu verwendenden Zeitserver angegeben, sowie die benötigten Einstellungen gemacht werden. Damit die Änderungen in der “ntp.conf” auch verwendet werden, muss die Konfigurationsdatei neu geladen werden.


~$ sudo service ntp reload

 
Die Zeit manuell synchronisieren

Soll die Zeit manuell synchronisiert werden, kann man dies mit folgendem Befehl tun:


~$ ntpd -q

-q NTP-Deamon nach erstmaligem synchronisieren beenden
 
Nützliche Links

Uhrzeit-Abgleich mit NTP

C#: Prüfen ob die Datenbankverbindung auf den SQL – Server verschlüsselt wird

Muss die Datenbankverbindung von einer C#-Applikation zum SQL-Server verschlüsselt werden, muss der SQL-Server mit einem Zertifikat korrekt konfiguriert sein. Im weiteren müssen im ConnenctionString Parameter konfiguriert werden, damit eine verschlüsselte Verbindung hergestellt wird. Dazu wird der ConnenctionString mit folgenden Parametern versehen:

  • encrypt=true SSL Encryption aktivieren.
  • trustServerCertificate=false Zertifikat wird validiert. (Bei self-signed Zertifikaten auf “true” setzen)

Wird nun mit der C#-Applikation eine Verbindung auf den SQL-Server hergestellt, sollte die Verbindung verschlüsselt sein. Wie kann man sich jedoch sicher sein? Eine Möglichkeit ist die Verwendung eines “Sniffers”, wie WireShark, oder aber man prüft dies auf dem SQL-Server selber.

Auf dem SQL-Server kann man folgende SQL-Abfrage absetzen, um alle Verbindungen mit ihren Verschlüsselungsoptionen anzuzeigen:


SELECT session_id,encrypt_option
FROM sys.dm_exec_connections

session_id  encrypt_option
----------- ----------------------------------------
73          TRUE
73          TRUE
73          TRUE
75          FALSE
76          FALSE

Bei den Verbindungen mit der SessionId 73 sehen wir, dass die Verschlüsselung aktiviert und verwendet wird. (encryption_option = true)

Nützliche Links

SQL Server SSL Troubleshooting Steps
Connection Properties
TrustServerCertificate Property

Nginx: Alle http-Anfragen auf https umleiten

Soll eine Webseite nur noch über HTTPS zugänglich sein, müssen alle HTTP-Anfragen auf HTTPS umgeleitet werden. Dies kann bei Nginx mit rewrite oder return gemacht werden. Die Empfehlung der Nginx Community ist aber die Verwendung des return, wie hier in diesem Beispiel:


server {
listen 80;
server_name signup.mysite.com;
return 301 https://signup.mysite.com$request_uri;
}


Nützliche Links
Nginx Community: Pitfalls
Nginx Community: Converting rewrite rules
Server Fault: How to force or redirect to SSL

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 7: Computer (Host) via Remote Desktop neustarten / herunterfahren

Wer seinen Computer laufen lässt, damit man von extern via Remote Desktop zugreifen kann und später seinen Rechner herunterfahren möchte, wird schnell feststellen, dass die üblichen Menüpunkte zum Herunterfahren und Neustarten im Startmenü verschwunden sind.

Startmenü bei einer Remote Desktop Verbindung
Startmenü bei einer Remote Desktop Verbindung

Das Neustarten und Herunterfahren ist aber dennoch möglich. Mann muss nur wissen wie! (Was ja meistens so ist 🙂 )

Möglichkeit 1

Die erste Möglichkeit ist mit der Tastenkombination “ALT + F4”. Wurde diese Tastenkombination gedrückt erscheint der Dialog zum Herunterfahren:

ALT + F4 - Dialog zum Herunterfahren oder Neustarten
ALT + F4 – Dialog zum Herunterfahren oder Neustarten

Möglichkeit 2

Im Startmenü, im rechten Balken, befindet sich ein neuer Menüpunkt “Windows-Sicherheit”.

Startmenü - Windows-Sicherheit
Startmenü – Windows-Sicherheit

Wird dieser ausgewählt erhält man folgende Funktionen:

Windows-Sicherheit
Windows-Sicherheit
Roter Knopf zum Herunterfahren
Roter Knopf zum Herunterfahren

Möglichkeit 3

Die dritte Möglichkeit ist mit dem Konsolenbefehl “shutdown”.

shutdown /r /t 0
  • /r – neu starten
  • /s – herunterfahren
  • /t – zeit bis zum Neustart

Eine detaillierte Beschreibung zum Konsolenbefehl “shutdown” findet man im Blogbeitrag Windows: Nützliche Konsolenbefehle.

VBScript: Standard Pingabfrage mit WMI

Um zu überprüfen ob ein Host im Netzwerk erreichbar ist, kann man eine standard Pingabfrage verwenden.

Mit der “Win32_PingStatus WMI CLASS” bietet Microsoft die Möglichkeit eine solche standard Pingabfrage in einem VBScript zu verwenden.


Dim hostToPingFrom: hostToPingFrom= "localhost"
Dim targetIP: targetIP = 8.8.8.8

Dim cPingResults: Set cPingResults = GetObject("winmgmts:{impersonationLevel=impersonate}//" & _
hostToPingFrom & "/root/cimv2"). ExecQuery("SELECT * FROM Win32_PingStatus " & _
"WHERE Address = '" + targetIP + "'")

For Each oPingResult In cPingResults
    If oPingResult.StatusCode = 0 Then
       wscript.echo "Host is reachable"
    End if
Next

  • Zeilen 4,5,6: Verschickt die Pingabfrage
  • Zeile 8: Iterieren über die Ping-Resultate
  • Zeile 9: Ist der Statuscode 0 war das Pingkommando erfoglreich. Weitere Statuscodes werden in der Dokumentation zur “Win32_PingStatus class” beschrieben.

ping-checker.vbs

Ein kleines VBScript, das ein Ping sendet und bei einem Fehler eine Benachrichtigung als Email, über einen SMTP-Server, verschickt oder in der Windows Konsole anzeigt. Je nach Konfiguration. Dieses einfache Skript kann als Grundlage dienen, um sich ein eigenes, den Bedürfnissen angepasstes Skript zu erstellen.

ping-checker.vbs als 7zip herunterladen

ping-checker.vbs output
Der Konsolen-Output des Skriptes, da der Host 192.168.88.55 nicht erreichbar war.

Nützliche Links

Microsoft: Win32_PingStatus class
Wikipedia: Ping

Arbeiten mit MSI-Paketen in der Kommandozeile

Die Abkürzung MSI ist für die Bezeichnung “MicroSoft Installer”. MSI-Pakete können mit dem Kommando “msiexec” installiert, deinstalliert oder repariert werden. Windows Betriebssysteme bieten für diese Operationen eine Laufzeitumgebung mit dem Namen “Windows Installer” an. Dieser Systemdienst entpackt die MSI-Pakete und führt diese aus.

Um die Installation eines Paketes zu starten, wird der Parameter “/i” verwendet. Möchte man verhindern, dass die Installation angezeigt wird, kann dies mit den Paramter “/qn” verhindert werden.

msiexec.exe /i mySetup.msi /qn

Um ein Paket zu deinstallieren, wird der Parameter “/x” verwendet.

msiexec.exe /x mySetup.msi

Weitere Parameter sind in der msiexec Dokumentation zu finden.

Nützliche Links

msiexec Dokumentation
Wikipedia: Windows Installer
Windows Installer XML (WiX)