Archiv der Kategorie: Visual Studio / Programmieren

Automatischer Browser Reload – mit Visual Studio Code

Einer der wichtigsten und flexibelsten (und auch kostenfreien) Editoren für Entwickler ist sicher Visual Studio Code. Auf allen Plattformen verfügbar – man muss sich nur ein wenig an das Konzept gewöhnen.

Der von mir beschriebene sehr hilfreiche automatische Browser Reload aus diesem Post, kann auch mit Visual Studio Code ausgelöst werden. Es ging um dieses Powershell Script, das wir einfach mal „BrowserRefresh.ps1“ nennen:

$wshell=New-Object -ComObject wscript.shell;
$wshell.AppActivate('Firefox Developer Edition'); # Aktiviere Firefox Develope Edition 
$wshell.SendKeys('^{F5}'); # Refresh The Browser
Write-Host "Firefox aktualisiert"

Um es in Visual Studio Code aufzurufen, muss ein Task angelegt werden (task.json) – wie das geht, erfährt man in der Dokumentation zu VS Code. In der Regel kann die Datei über F1 und dann Task -> Aufgabe konfigurieren angelegt werden, falls noch nicht vorhanden.

Der Eintrag sieht dann so aus:

Task in VS Code für Browser Refresh

"reveal" : "never"

bewirkt übrigens, dass das Ergebnis des Scripts nicht im internen Terminal von VS Code angezeigt wird (sehr nervig).

Dann muss man das Script nur noch über Tastenkombination (bei mir STRG + WIN + R) aufrufen (auch wieder F1 -> Tastenkombinationen JSON aufrufen):

Key für VS Code Browser Refresh

Das wollte ich zu dem ursprünglichen Post noch ergänzen – auch in VS Code ist das Aufrufen solcher nützlichen Scripts problemlos möglich.

 

 

Automatischer Browser Reload

Welcher Webentwickler kennt dieses Problem nicht?  – Man ändert einzelne Komponenten auf einer Seite und möchte das Ergebnis dann im Browser sehen. Also öffnet man den Browser, macht einen Reload – in der Regel mit zu löschendem Cache, falls sich auch CSS oder Javascript Files geändert haben – und schaut sich das Ergebnis an. Der Browser läuft bereits auf einem eigenen Monitor, aber das Refreshing ist lästig.

Lösungen wie „Live.js“ oder „LiveReload“ funktionieren nicht (oder ich war zu blöd für die Einrichtung). Was also tun? Auch hier hilft wieder Powershell. Das nachfolgende Script sendet an einen geöffneten Firefox (Developer Edition) SHIFT + F5 – der Browserinhalt wird neu geladen.

$wshell=New-Object -ComObject wscript.shell;
$wshell.AppActivate('Firefox Developer Edition'); # Aktiviere Firefox Develope Edition 
$wshell.SendKeys('^{F5}'); # Refresh The Browser
Write-Host "Firefox aktualisiert"

Was soll jetzt aber der Vorteil sein? Nun, sicher ist es kein Vorteil, ein Powershell-Script aufzurufen, statt in den Browser zu wechseln. Der Aufwand wäre sogar größer. Aber man kann dieses Script in seine Arbeitsumgebung als externes Tool einbauen und mit einem Shortcut versehen. UltraEdit oder die IDEs von JetBrains bieten dafür einfache Schnittstellen. Ich schreibe meinen Code mit PHPStorm und da sieht das dann so aus:Browser Reload mit phpStorm

Program: powershell.exe

Arguments: Der Pfad zu dem oben beschriebenen PowershellScript

Working Directory : Der Pfad zur powershell.exe, falls dieser nicht bereits in der PATH Variable des Systems integriert ist.

Man kann dieses Script natürlich auch als Shortcut auf einem Desktop abrufen, ohne eine Umgebung zu nutzen. Nachteil dabei ist, dass sie den Konsolenoutput nicht umleiten oder unterdrücken können – es öffnet sich immer ein Powershell-Terminal.

Die Arbeitserleichterung liegt darin, dieses Script mit einem Shortcut zu versehen oder – vielleicht sogar noch besser – über ein Makro in der Entwicklungsumgebung mit dem Speichervorgang zu verknüpfen. Jedes Mal, wenn eine Seite oder eine Datei gespeichert wird, wird auch der Browser neu geladen. Noch besser: natürlich können Sie das Script erweitern und gleich mehrere verschiedene Browser refreshen. Das kann wichtig sein, wenn Sie Anwendungen entwickeln, die zuverlässig in mehreren Browsern laufen sollen.

 

 

Amrum Tagebuch : Auf meiner Insel – 02.01.2020

Graue Suppe über Amrum

Graue Suppe über Amrum

Der zweite Tag in Folge mit richtig schlechtem Wetter. Jetzt ist es auch wieder kälter, zu dem starken Wind kommt auch ekeliger Nieselregen, der die Brille beschlagen lässt und es ist keine Besserung in Sicht. Morgen soll es hier richtig regnen – ich habe daher die Hoffnung, dass am Samstag, meinem letzten Urlaubstag, nochmal ein schöner Sonnenuntergang zu sehen ist. Und außerdem stimmen die Vorhersagen für die Inseln nicht immer – ich habe schon öfter erlebt, dass die Insel auch wettertechnisch eine Insel ist. Trifft eine Vorhersage auf ganz Schleswig Holstein zu, dann muss das nicht für die Inseln gelten. Also mal abwarten … .

Strandresidenz Amrum

Schlechtes Wetter bedeutet kreative Zeit

Strandresidenz Amrum

Gab es vor Jahren hier noch Probleme mit langsamem Internet, so ist das jetzt kein Thema mehr

Das ist also die Gelegenheit, weiterhin kreativ  zu sein. Habe ich mich in den ersten Tagen literarisch betätigt, so arbeite ich seit zwei Tagen daran, meine Kenntnisse in der Programmiersprache „Python“ auszubauen. Damit habe ich schon einiges gemacht – unter anderem wird damit mein Seekartenprojekt realisiert (auch eines der Dinge, das seit August auf Eis liegt). Jetzt habe ich endlich die Prinzipien verstanden, wie dort plattformunabhängige Oberflächen erzeugt werden. Das hat den großen Vorteil, dass ein Programm innerhalb eines Webbrowsers, also als Internetseite, oder eigenständig unter Windows, MacOS oder sogar unter Android läuft. Das Ganze mit wenigen Anpassungen. Mal schauen, wie ich das verwenden werde – sowohl bei meinem Brotberuf als auch bei meiner Softwareentwicklung wird es zahlreiche Anwendungsszenarien dafür geben.

 

 

 

 

Mr. Robot und Kali-Linux

Ich schaue gerade die zweite Staffel von „Mr. Robot“, eine Serie, die auf Amazon mit der ersten Staffel schon einen kleinen Kultstatus erreicht und mit der 2. Staffel vom Zuschauer einiges an Geduld abverlangt. Denn die vielen Zeitsprünge, den inneren Zerwürfnissen des Protagonisten zu folgen und die nach sechs Folgen doch abgedroschene, weil immer gleiche Ästhetik – irgendetwas zwischen Fincher und Tarrantino – mit niemals in der Mitte des Bildschirms agierenden Personen … nun, das ist anstrengend. Wenn da nicht die vielen netten Einfälle wären, das Intro zu einer Folge mit Musik von Depeche Mode und der Tatsache, dass die Geschichte wirklich Neuland betritt, dann hätte ich die Serie vermutlich schon aufgegeben.
Am Ende der ersten Staffel hat „Fsociety“ (eine Art Anonymus Bewegung) die Firma „e-corp“, den größten Globalplayer auf dem Finanzmarkt, gehacked. Alle Schulden auf allen Bankkonten sind gelöscht und das gesamte Finanzsystem erfährt einen Reboot. Darum geht es in der zweiten Staffel.
In vielen Einstellungen blicken wir den Hackern über die Schulter. Sie nutzen ein Betriebssystem und Tools, die es tatsächlich gibt. Die Sprache der Hacker ist Python und das Betriebssystem nennt sich Kali-Linux. Eine Anleitung, genau abgestimmt auf Menschen wie mich, die über genug Grundwissen verfügen, um so ein System zu nutzen, aber keinen blassen Schimmer von den eigentlichen Tools haben, gibt es in mehreren Fachbüchern, die man ganz normal kaufen kann. Das macht mich natürlich neugierig. So neugierig, dass eines dieser Bücher meine aktuelle Lektüre ist und bei mir Kali-Linux in einer virtuellen Maschine läuft. Um es klar zu sagen: die Grauzone, in die man sich begibt, ist dunkelgrau. Denn so oft der Autor des Fachbuches auch betont, dass Netzwerkscans, Exploits etc. nur gegen Rechner angewendet werden dürfen, bei denen das „Opfer“ davon Kenntnis hat – die Versuchung, einen Schritt weiterzugehen ist natürlich groß.
Ich werde aber meine Kenntnisse, die auch nach der Lektüre im kleinen Rahmen bleiben werden, nur auf meine Systeme anwenden, d.h. mit einem Notebook mein eigenes Netzwerk hacken, Netzwerktraffic auslesen und schauen, was er verrät und einen Angriff von außen simulieren.

Im Moment bin ich an einem Punkt, in dem die Portscans beschrieben werden. Hat man eine IP Adresse ausfindig gemacht, dann kann man diese Adresse scannen und schauen, welche Ports dort zugänglich sind. Jder offene Port ist ein potentieller Einfallspunkt in den Rechner. Wie man eine IP Adresse herausfindet (und unglaublich viel zusätzliche Informationen) zu einem einfachen Namen einer Person oder eines Unternehmens – das ist der Teil der „Aufklärung“ ganz am Anfang. Jetzt geht es an die praktische Anwendung.

Hacker setzen vor allem auf eines: den Systemadministrator, der sich sagt „Never change a running system“ und Sicherheitspatche und ihre Hintergründe wohl eher als lästig abtut. Wer glaubt, dass das die Ausnahme ist, der irrt. Vor zwei Jahren gab es eine Initiative von Providern, die IP Adresse ihrer User zu anonymisieren. Damit ist keine gänzliche Anonymität gemeint– gemeint ist vielmehr das Fehlen der IP Adresse in den Metadaten während des Surfens, die in Log-Dateien gespeichert werden.

Ich kann aus eigener Erfahrung sagen, dass es ein Leichtes ist, dies zu umgehen, bzw. darauf zu vertrauen, dass ein großer Teil von Providern gar nicht daran denkt, das umzusetzen. Auch wenn mein Provider die IP Adressen nicht mehr in den Log Files protokolliert – auf meinen Seiten läuft in einem 1×1 Pixel großen IFrame ein PHP Script, dass jeden Zugriff auf eine meiner Seiten protokolliert. Ca. 60% aller Header haben eine IP Adresse und mit einem Lokalisierungsdienst weiß ich relativ genau Bescheid, welcher User aus welcher Stadt wie oft und wie lange auf meiner Seite surft. Ich kenne den Browser, das Betriebssystem, die Admin Adresse seines Providers. Selbst Google Analytics zeigt diese Daten nicht. Ich kann bestenfalls die Provider bis auf ein Bundesland einschränken.

Kali Linux

Das ist nicht überraschend und nichts weltbewegendes. Wenn man dann aber vielleicht noch den Namen eines Haustieres kennt, ein Geburtsdatum eines Familienmitgliedes und mit Kali-Linux über alle Tools verfügt, um diese Informationen in allen gängigen Varianten zu kombinieren, dann kommt man schon ins Grübeln. Wie man an persönliche Informationen kommt? Ganz einfach – auch dafür gibt es Tools, die in Social Media die Texte durchforsten, ja sogar aus Fotos und Office Dokumenten die Metadaten gesammelt auslesen und zu einem Dossier zusammenstellen. Da muss nur einmal der richtige Hinweis irgendwo auftauchen und schon hat man einen brauchbaren Ansatz. Ein Foto mit dem Untertitel „Mein Fiffi und ich“ ist tödlich, wenn der Fiffi irgendwo Teil eines Passwortes ist.

Nur Passwörter ab 16 Stellen mit Großbuchstaben, Zahlen und Sonderzeichen bieten eine gewisse Sicherheit. Um sich solche Passwörter zu merken oder erstellen zu lassen, gibt es brauchbare, kostenfreie Tools (hier ein Beispiel).

IP lokalisiert

Seitenbesucher über die IP Adresse lokalisiert

Ich werde von den weiteren Schritten hier keine Screenshots machen. Ein einfacher(!) Portscan von www.killert.de (siehe oben) zeigt mögliche, aber nicht ungewöhnliche Angriffspunkte. Ein weitergehender Scan der anderen ca. 2000 Ports hat noch andere interessante Aspekte gezeigt. Aber ich scanne da meinen Provider und nicht mein eigenes Netzwerk.

Nun, ich vermelde hier, wenn ich neue Erkenntnisse gewinne.

Hier geht es zu Kali-Linux (vollkommen legal, wenn man es ethisch unbedenklich einsetzt)