VNC unter Mac OS X nutzen

Wenn man VNC unter Mac OS X nutzen möchte, benötigt man einen entsprechenden VNC-Client. Neben verschiedensten Clients welche für Mac OS X existierten wird ein Client meist vergessen – der eingebaute VNC-Client von Mac OS X.

Über Safari kann der VNC-Client gestartet werden

Über Safari kann der VNC-Client gestartet werden

Möchte man diesen Client nutzen muss Safari geöffnet werden und dort eine URL mit dem Pseudoprotokoll VNC eingegeben werden. So wird z.B. bei Eingabe der URL:

vnc://192.168.1.42

der VNC Client geöffnet und eine Verbindung zu der IP-Adresse aufgebaut. Der eingebaute Client beherrscht dabei das ABC eines VNC-Clients unter anderem die eingebaute Skalierung.

Pwned?

Ein normaler Internetnutzer verfügt viele unterschiedliche Logins zu verschiedenen Diensten wie z.B. Dropbox. Ab und an werden diese Dienste Opfer von Hacks oder anderen Datenlecks und Zugangsdaten wie Mailadressen und (meist gehashte) Passwörter verschwinden auf ungeklärte Weise.

Nun hat es Dropbox erwischt

Nun hat es Dropbox erwischt

Wenn man nun Wissen möchte ob er selbst betroffen ist, von einem solchen Hack kann dies auf der Webseite ‚;–have i been pwned? in Erfahrung bringen. Dabei gibt man dort eine Mailadresse ein – diese wird anschließend gegen die Datenbank des Service getestet. Ist man von einem Hack betroffen, sieht man dies anschließend. Daneben bietet die Webseite an proaktiv zu informieren, falls besagte Mailadresse von einem Hack verknüpfter Dienste betroffen ist. Natürlich muss man dafür seine Mailadresse dem Dienst anvertrauen ;) Betrieben wird die Seite von Troy Hunt, einem Microsoft Regional Director.

Google Fight

Wer kennt das nicht, man hat zwei Begriffe und versucht nun heraus zu finden welcher der beiden Begriffe der korrekte Begriff ist. Oder man möchte wissen welche Technologie, Cartonfigur, Müslimarke, et cetera, beliebter ist. Der einfachste Weg solche Fragen zu beantworten ist es die jeweiligen Begriffe bei Google zu suchen und sich die Anzahl er Ergebnisse anzuschauen.

Google Fight - HTTP vs. HTTPS

Google Fight – HTTP vs. HTTPS

Noch einfacher geht das ganze mit der Webseite Google Fight – hier werden zwei Begriffe eingegeben und anschließend berechnet die Seite, welcher Begriff gewonnen hat. Die Berechnung basiert dabei auf der Sichtbarkeit der eingegebenen Begriffe.

Spaß mit dem Domain Name System

Wenn man einen Server betreibt oder bei IT-Problemen zur Stelle ist wird man früher oder später mit dem Domain Name System, kurz DNS zu tun haben. Das DNS löst dabei Namen wie z.B. die Domain seeseekey.net zur passenden IP-Adresse (im aktuellen Fall: 138.201.85.250) auf. Unter Linux und Mac OS X gibt es für die Abfrage von DNS-Servern das Tool dig. Der domain information groper kann dabei im einfachsten Fall so genutzt werden:

dig seeseekey.net

Damit werden die DNS-Informationen der Domain ermittelt und ausgegeben. Die Anfrage richtet sich dabei an den lokalen DNS-Server. Möchte man die Informationen von einem anderen Server abrufen, so ist dies mit dig ebenfalls möglich:

dig @213.133.98.98 seeseekey.net

Die IP-Adresse 213.133.98.98 ist die Adresse des DNS Servers, welcher für die Abfrage genutzt wird. Die Antwort sieht für den Fall von seeseekey.net so aus:

; <<>> DiG 9.10.3-P4-Ubuntu <<>> seeseekey.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15428
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;seeseekey.net.                 IN      A

;; ANSWER SECTION:
seeseekey.net.          59795   IN      A       138.201.85.250

;; AUTHORITY SECTION:
seeseekey.net.          59795   IN      NS      robotns3.second-ns.com.
seeseekey.net.          59795   IN      NS      ns1.first-ns.de.
seeseekey.net.          59795   IN      NS      robotns2.second-ns.de.

;; Query time: 3 msec
;; SERVER: 213.133.98.98#53(213.133.98.98)
;; WHEN: Tue Aug 30 09:12:35 CEST 2016
;; MSG SIZE  rcvd: 156

REST-Server mit Grapevine aufsetzen

In den letzten Tagen habe ich für ein Projekt einen REST-Server geschrieben. Der Server läuft unter .NET bzw. Mono – also war ich auf der Suche nach einer passenden Bibliothek bzw. einem Framework, welches mich bei dem Aufsetzen eines solchen Servers unterstützt. Nach einem Blick auf Nancy und einigen anderen Frameworks bin ich schlussendlich bei Grapevine gelandet.

sukona.github.io

sukona.github.io

Dabei handelt es sich um eine Bibliothek, welche neben einem REST-Client auch einen REST-Server bereitstellt. Das Hauptaugenmerk der Entwicklung wird dabei auf den REST-Server gelegt. Mit Hilfe des Frameworks lässt sich ein REST-Server mittels weniger Zeilen Quellcode aufsetzen:

ServerSettings settings = new ServerSettings();
settings.Host = "localhost";
settings.Port = "1111";

RestServer server = new RestServer(settings);
server.Start();

In diesem Beispiel werden die Einstellungen für den Server angelegt und anschließend dem Server übergeben. Danach wird der Server mit der Methode Start hochgefahren. Damit verfügt man zwar über einen REST-Server, dieser verfügt allerdings über keinerlei Methoden was die praktische Verwendung eher erschwert. Ressourcen für den Server werden mittels des Attributes RestResource markiert:

[RestResource(BasePath = "/time/")]
public class TimeModule
{
    [RestRoute(PathInfo = "date")]
    public IHttpContext GetDate(IHttpContext context)
    {
        context.Response.SendResponse(Grapevine.Util.HttpStatusCode.Accepted, getDate());
        return context;
    }
}

Über das Attribut RestRoute wird eine Methode für Grapevine gekennzeichnet – das Pathinfo definiert dabei den Pfad über welchen diese aufgerufen werden kann. Durch den über das Attribut RestResource festgelegten BasePath lautet die vollständige URL für die Ressource:

http://localhost:1111/time/date

Wird diese Methode per GET aufgerufen, so wird das aktuelle Datum zurückgegeben. Damit ist ein minimaler REST-Server mit einer Ressource implementiert. Grapevine selbst ist unter der Apache Lizenz lizenziert und damit freie Software. Der Quelltext der Bibliothek befindet sich auf GitHub.