Archiv der Kategorie: Allgemein

PoshConf Europe 2018 – es gibt noch freie Plätze und wer speakt wie oft und über was

In knapp 3 Wochen startet in Hannover die PowerShell Conference Europe 2018 – vom 17. bis 20. April. Aktuell gibt es noch freie Plätze. Wer sich immer schon einmal mit dem Erfinder der PowerShell Jeffrey Snover oder dem „Brain“ hinter der PowerShell-Sprache Bruce Payette unterhalten möchte (oder falls vom Gespräch auf der letzten Konferenz noch Fragen offen geblieben sind) hat dazu die Gelegenheit. Alle Infos unter http://www.psconf.eu/.

Ich werde dieses Mal nicht dabei sein, aber mich interessiert natürlich trotzdem wer welche Vorträge hält.

Unter http://powershell.beer steht die gesamte Agenda im JSON-Format zur Verfügung.

Der folgende Befehl gibt sie übersichtlich aus:

(Das $ sollte eigentlich nicht erforderlich sein)

Mich interesiert natürlich welche Sprecher die meisten Vorträge halten und natürlich auch welche das sind. Das kleine „Problem“ ist, dass es bei einigen Vorträgen mehrere Sprecher gibt und die Speaker-Eigenschaft daher auch mehrere Namen enthält.

Der folgende Befehl gibt die Sprecher gruppiert nach ihrem Namen und sortiert nach der Anzahl ihrer Vorträge aus.

Das Problem mit dieser Ausgabe ist nur, dass die Sprecher nicht einzeln aufgelistet werden, da es zu einem Vortrag auch mehrere Sprecher geben kann. Die Speaker-Eigenschaft enthält dann mehrere (zwei oder drei) per Komma getrennte Namen.

Wer das Problem selber lösen möchte, sollte jetzt nicht weiterlesen, sondern sich ca. 1 Stunde Zeit nehmen. Es hat mich nicht ganz so viel Zeit gekostet, aber es war schon ein wenig Hin- und Herprobieren erforderlich bis endlich das gewünschte Ergebnis herauskam.

Der Knackpunkt an der Geschichte war, dass ich zuerst auf Invoke-WebRequest umschalten musste, um den JSON-Text direkt zu erhalten (eventuell ist das auch nicht erforderlich) und dann darauf kommen musste, dass die Rückgabe aus einem einzelnen Objekt-Array besteht und nicht aus vielen Objekten – was die Ausgabe suggeriert (darauf bin ich in den letzten Jahren schon einige Male hereingefallen;) – der entscheidende Test ist für mich immer. ob Measure-Object ein Objekt zurückgibt oder mehrere. Ausgehend von einem einzigen Objekt habe ich dessen Content-Eigenschaft expandiert und aus dem resultierenden JSON-Text Objekte gemacht, die per ForEach durchlaufen werden. Da sich hinter der Speaker-Eigenschaft mehrere Namen verbergen können, werden diese per -split-Operator alle einzeln fein säuberlich getrennt und mit der zuvor gespeicherten Title-Eigenschaft zu einem neuen Objekt kombiniert. Dieses besitzt erneut eine Speaker-Eigenschaft mit dem Namen eines Speakers, nach der gruppiert werden kann.

Alles klar? Egal, hier ist ein möglicher Versuch:

Wer ist der Top-Speaker auf der PowerShell Conference Europe 2018?

Die Beispiele zu einem Buch „Windows Server Administration mit PowerShell 5.1“

Die Beispiele zu einem Buch „Windows Server Administration mit PowerShell 5.1“ sind jetzt endlich komplett und stehen unter der folgenden Adresse bereit:

https://github.com/pemo11/WindowsServerAdminMitPowerShellBeispiele

Es hat ein wenig länger gedauert als geplant. Ich hoffe, dass niemand darauf gewartet hatte und mit dem Buch deswegen nichts anfangen konnte.

Der Download der Beispiele ist sehr einfach – Voraussetzung ist lediglich, dass Git für Windows installiert wurde. Dann steht das git-Kommando auch in einer PowerShell-Konsole zur Verfügung.

Schritt 1: Anlegen eines neuen Verzeichnisses – der Name ist egal

Schritt 2: Clonen des Repo durch Eingabe von

Die Beispieldateien werden damit in das Verzeichnis kopiert.

Ein paar Beispiele, in erster Linie aus den DSC-Kapiteln, können nicht direkt ausgeführt werden, da ein Computername fest verdrahtet ist.

Eine Zip-Datei folgt in Kürze.

PS: Für Fragen zu allen Themen, die direkt oder indirekt etwas mit dem Buch zu tun haben: Es gibt in diesem Blog auch ein Forum.

Bedroht die Cloud den klassischen Admin oder wie werde ich Cloud-Admin?

Auf Heise News war Anfang Januar 2018 ein interessanter Kommentar zu lesen, in dem ein erfahrener Systemadministrator, der für ein großes Unternehmen arbeitet, eindringlich vor den Gefahren der Cloud und ihrer Folgen für seinen Arbeitsplatz und dem vieler Kollegen (klar) warnte:

https://www.heise.de/ix/meldung/Kommentar-Keine-Zukunft-mit-der-Cloud-3822841.html

Interessant waren wie immer die Kommentare der Leser, insgesamt 459 was für einen Artikel, bei dem es einmal nicht um Microsoft, Windows 10 oder die Telekom ging, relativ viel ist.

Ich halte aus meiner langjährigen Erfahrung als freiberuflicher Dozent für PowerShell, Windows 10 und Entwicklerthemen und als Beobachter und Anwender von Azure und AWS (bei beiden Plattformen seitdem es sie gibt) die in dem Kommentar suggerierte Entwicklung für übertrieben. Ein Grund ist, dass es, Wie es auch in mehreren Kommentaren festgestellt wurde, den „Admin“ nicht gibt.

Um eine Antwort auf die Frage zu erhalten, inwieweit die Verlagerung von IT-Dienstleistungen in die Cloud den Beruf des Admins bedroht und ihm seinen Arbeitsplatz wegnimmt (vergleichbar mit dem Offset-Drucker, der durch das Aufkommen von PCs und DTP Anfang der 80er Jahre nach und nach überflüssig wurde), muss das Berufsbild des Admins nach Tätigkeiten differenziert werden. Dann wird deutlich, dass es den klassischen Admin, der sich um jeden Server einzeln kümmert, schon länger nicht mehr gibt bzw. dass dieses Berufsbild ein Auslaufmodell ist.

Die Cloud wird in den nächsten Jahren viele Dienstleistungen theoretisch überflüssig machen, es werden aber neue Dienstleistungen und damit auch neue Berufsbilder für Admins entstehen. Grundvoraussetzung ist die Bereitschaft umzulernen und vertraute Modelle und Vorgehensweisen aufzugeben. Mit Umlernen meine ich weniger, die Bedienung des Azure-Portals zu erlernen (das lohnt sich nur bedingt). Mit Umlernen meine ich neue Methodiken zu erlenen. Zum Beispiel jene, die bereits seit vielen Jahren unter dem Schlagwort DevOps zusammengefasst werden.

Weiterbildung ist immer eine gute Idee. Wer sich zum „Cloud Admin“ ausbilden lassen möchte, findet z.B. im Edx-Portal einen passenden Kurs, der von Microsoft angeboten wird:

https://courses.edx.org/courses/course-v1:Microsoft+AZURE215x+4T2017/course/

Die Inhalte des Kurses gehen zwar nicht allzu tief, aber man bekommt einmal einen Überblick über ein neues Tätigkeitsfeld und der Kurs ist kostenlos.

Aus aktuellem Anlass: Spectre und Meltdown-Check per PowerShell-Modul

Man glaubt zwar immer nach den „Skandalen“ der jüngsten Vergangenheit, dass es in Bezug auf Sicherheitslücken in IT-Systemen nicht schlimmer kommen kann, aber dann kommt es doch noch schlimmer. Ein Fehler auf der Ebene der CPU (Stichwort: „Speculative Execution side-channel attacks“), der Angreifern theoretisch einen Lesezugriff auf eigentlich geschützte Bereiche des Arbeitsspeichers ermöglicht, ist für mich ein Super-GAU. Da hilft auch alles Relativieren nichts. Auch wenn sich konkrete Schadensfälle in Grenzen halten werden, da weltweit die Mehrheit der Systeme in den nächsten Tagen ein Update erhält, ist die psychologische Auswirkung mehr als bedenklich.

Wozu sich noch um Sicherheitskonzepte, Benutzerkonten, Tokens und Claims Gedanken machen, wenn die komplette Sicherheit durch ein Einfallstor ausgehebelt wird, das in Zukunft immer wieder auftreten kann. Das ergibt sich aus der enormen Komplexität moderner CPUs. Hinzu kommt, dass der Fehler offenbar schon viele Jahre existierte und offenbar erst kurzem von einem Forscherteam der TU Graz entdeckt wurde als sie gehäuft aufgetretene Angriffsszenarien näher untersuchten.

Da über die Thematik in den letzten Tagen schon sehr viel geschrieben wurde, will ich nicht auch noch meinen Senf basierend auf Halbwissen und Vermutungen dazu geben. Auf Spiegel Online habe ich eine gute Zusammenfassung gefunden:

http://www.spiegel.de/netzwelt/gadgets/spectre-und-meltdown-die-wichtigsten-antworten-zu-den-schwachstellen-in-prozessoren-a-1186193.html

Ansonsten natürlich Heise-News mit einem ausführlichen und sehr lesenswerten Artikel von Andreas Stiller, Golem.de usw.

In ein paar Wochen dürfte das Thema ohnehin wieder vergessen sein. Wer macht sich denn aktuell noch über die Bedrohungen des letzten Jahres wie „WannaCry“ und die daraus eigentlich zu ziehenden Konsequenzen Gedanken? Bis zum nächsten Störfall will man vermutlich möglichst wenig Grundsätzliches in Frage stellen.

Wer testen möchte, ob eine CPU anfällig ist für Spectre und Meltdown kann ein PowerShell-Modul von Matt Miller von der PowerShell Gallery installieren, das Microsoft seit dem 4. Januar 2018 zur Verfügung stellt. Voraussetzung ist PowerShell ab Version 5.0. Und natürlich muss die Skriptausführung möglich sein. Wer sich bislang den Luxus gönnte mit einer älteren PowerShell-Version zu arbeiten, muss das Modul als Zip-Datei direkt von der Projektseite herunterladen, „entsperren“ und dann die beiden Dateien in ein in einem Modul-Verzeichnis zuvor angelegtem Verzeichnis mit dem Namen „SpeculationControl“ kopieren.

Eine Projektseite für das Windows 10-Modul habe ich leider nicht gefunden, in der TechNet Script Gallery gibt es das Modul für Windows Server 2016 als Download:

https://gallery.technet.microsoft.com/scriptcenter/Speculation-Control-e36f0050

Das Modul lässt sich natürlich auch unter Windows 10 verwenden.

Liegt PowerShell ab version 5.0 vor, genügt ein

Das Modul wird dadurch nach %userprofile%\documents\windowspowershell\modules kopiert, so dass die PowerShell nicht als Administrator gestartet werden muss.

Anschließend wird die einzige Function wie folgt aufgerufen:

(für VMWare ist offenbar ein Patch erforderlich: https://twitter.com/lamw/status/949662333038559232)

Die Ausgabe des Befehls ist relativ technisch und mit zahlreichen Fachbegriffen versehen, man muss sie daher interpretieren können. Vereinfacht gilt, dass ein „false“ schlecht, ein „true“ gut. Hat man die aktuellen Patches (vor allem KB4056892) installiert, sollte die Mehrheit der Einstellungen einen true-Wert besitzen.

Microsoft beschreibt die Ausgaben auf der folgenden Webseite:

https://support.microsoft.com/de-de/help/4073119/protect-against-speculative-execution-side-channel-vulnerabilities-in

Das von Microsoft zur Verfügung gestellte Sicherheitsupdate hat die Nummer KB4056892. Wie es aussieht, muss es aktuell (Stand: 9/1/2018) bei Windows 10 noch direkt geladen werden:

http://www.catalog.update.microsoft.com/Search.aspx?q=KB4056892

Damit ein Virenscanner das Update nicht verhindert, gibt es unter der folgenden Adresse eine Liste mit Problemlösungen bei den einzelnen Produkten:

https://docs.google.com/spreadsheets/d/184wcDt9I9TUNFFbsAVLpzAtckQxYiuirADzf3cL42FQ/htmlview?sle=true#gid=0

Wie die Meltdown-Abfrage remote ausgefürt wird, wird unter der folgenden Adresse ausführlich beschrieben:

https://blogs.technet.microsoft.com/ralphkyttle/2018/01/05/verifying-spectre-meltdown-protections-remotely/

Mit der Schadensbegrenzung dürften die zuständigen Admins ein paar Tage beschäftigt sein. Insofern hat das neue Jahr „vielversprechend“ begonnen;)

Frohe Weihnachten

Ich wünsche allen Lesern meines PowerShell-Blogs frohe und gesegnete Weihnachten und die Zeit und vor allem innere Ruhe, um die Feiertage für die wichtigen Dinge im Leben nutzen zu können, weit weg vom Alltag mit seinen zahlreichen Verpflichtungen und Nebensächlichkeiten.

Peter Monadjemi

Weihnachten 2017 vor dem Reichstag in Berlin (auch ohne eine konstituierte Regierung ein schöner und vor allem friedvoller Anblick)

(Quelle: Fotalia.com/Urheber: sborisov)

Eine kurze Einführung in die PowerShell für erfahrene Skripter

Wer sein Leben lang eine klassische Skriptsprache (VBScript, Perl usw.) verwendet hat und nun mit der PowerShell arbeiten möchte, hat man Anfang oft unnötige Probleme und Startschwierigkeiten. Da bei der PowerShell vertraute Formalismen wie eine explizite Variablendeklaration oder ein expliziter AUsgabebfehl keine ROlle spielen bzw. optional sind, wirkt die PowerShell-Syntax für „Umsteiger“ ungewohnt, unlogisch und man tendiert schnell zu alles nur noch negativ zu sehen.

Ich muss zugegeben, dass ich am Anfang auch meine kleineren Problemee hatte, aber nach ein paar Jahren kam ich dann ganz gut mit der PowerShell-Syntax klar;)

Angeregt wurde ich für diesen Blog-Eintrag durch einen längeren Thread in einem Forum auf Administrator.de, in der der Fragesteller (offensichtlich ein älterer Mensch mit sehr viel VBScript-Erfahrung) mit der Art und Weise wie in PowerShell Arrays verwendet nicht klar kam und in jeder „geht leider immer noch nicht“-Antwort auf am Anfang sehr hilfsbereite Antworten immer mehr der Frust über die vermeintlich „grausame“ PowerShell-Syntax anklang. Am Ende schlug die Hilfsbereitschaft natürlich in Kritik um und er musste sich ein „Du wetterst hier seit Tagen über
PowerShell – irgenwie alles sch… aber allem Anschein nach fehlen dir die elementarsten Grundlagen“. Der Fragesteller gab dann auch später zu, dass er noch sehr viel lesen, lesen und lesen müsste, aber das ist für mich weder die Lösung noch die Ursache der offenkunding vorhandenen Unzufriedenheit.

Das grundsätzliche Problem ist eine überzogene Erwartungshaltung („mit PowerShell soll ja alles einfacher werden“ – wird meines Wissens nirgendwo behauptet) und die (falsche) Annahme, dass Techniken, die z.B. bei VBScript seit 20 Jahren angewendet wurden, sich 1:1 auf PowerShell übertragen lassen. Und wenn dann noch eine gewisse Ungeduld hinzu kommt, ist die Unzufriedenheit groß. Und wenn dann der Unzufriendende eine Multiplikator-Funktion besitzt und sich in der Firma oder in Foren über die vermmeintlichen Schwächen der PowerShell auslässt….

Die PowerShell ist nicht perfekt, aber sie ist nicht nur enorm leistungsfähig (das hilft Anfängern im Allgemeinen wenig), sondern weitestgehend konsistent. Das Problem, sofern man es als solches betrachtet ist, dass die Syntax keine Rücksicht auf VBScript&Co genommen wurde, Bruce Payette (der Kopf der PowerShell-Spprache) vielleicht nicht ein ganz so großes Genie ist wie Guido van Rossum (Python) oder Larry Wall (Perl) und die Version 1.0 unter einem enormen Zeitdruck veröffentlicht wurde. Der Vater der PowerShell, Jeffrey Snover, hat es auf der PowerShell Konferenz 2017 in Hannover so umschrieben, dass der Vorgesetzte bei Microsoft das ganze Projekt am liebsten wieder eingestampt hätte und dem Team irgendwann ein Ultimatum gestellt hatte – entwweder ihr bringt jetzt eine Version 1.0 oder das Projekt ist tot. Keine ganz optimale Voraaussetzung und eventuell eine Erklärung für einige der Inkosistenzen.

Hier sind meine persönlichen Regeln/Empfehlungen für einen Einstieg, der sich gerade an Anwender richtet, die sehr viel Erfahrung mit VBScript und anderen formalen Skriptsprachen besitzen.

Regel 1: Variablen müssen nicht deklariert werden

Regel 2: Es gibt keine Notwendigkeit Write-Host zu benutzen

Regel 3: Der Umgang mit Arrays ist einfach, man darf nur nicht wie ein Programmierer denken

Regel 4: Der Umgang mit mehrdimensionalen Arrays ist inkosistent und ein Schwachpunkt der PowerShell-Syntax

Regel 5: Zweidimensionale Arrays werden im Allgemeinen nicht benötigt

Regel 6: Es gibt ein Pendant zu Option Explizit

Regel 7: Halte es einfach

Regel 8: Verwende die Eingabehilfen und vor allem PSREadline

Regel 9: Freunde Dich mit Subexpressions an – am besten sofort

Regel 10: Aktualisiere die Hilfe und schau Dir die Beispiele zu Cmdlets und PowerShell-Befehlen an

Regel 11: Schreibe immer zuerst einen Test

Ok, diese Regel ist nicht ganz ernst gemeint.

Ich werde zu allen Regeln in naher Zukunft noch einiges schhreiben. Ich wollte die Regel erst einmal los werden, da sie frustrierten PowerShell-Anfängern eventuell helfen können. Und noch etwas: Keine Panik und alles wird gut;)

Http.sys Url Reservierungen per PowerShell und ein wenig „String-Vodoo“ löschen

Eine URL-Reservierung ist eine vorgegebene URL-Schreibweise, die z.B. für den Aufruf eines Webservice verwendet wird. URL-Servierungen spielen z.B. beim Aufruf eines WCF-Dienstes per HTTP/HTTPS eine Rolle. Möchte ich einen WCF-Dienst nicht über Port 80, sondern z.B. über Port 88 aufrufen, muss zuvor eine URL-Reservierung angelegt werden. Soll der Dienst per HTTPS aufrufbar sein, muss eine SSL-Bindung angelegt werden. Beides wird offiziell per Netsh durchgeführt.

Zu den wenigen Bereichen, für die es aktuell (Stand: Oktober 2017) nur wenige PowerShell-Commands gibt, gehören die Kommandos der Netsh-Shell. Ein Auflisten aller URL-Reservierungen geschieht per

Die Textausgabe ist relativ umfangreich und vor allem nicht sehr regelmäßig strukturiert. Grundsätzlich sollte man auch ohne einen Doktor in „Regex-Kunde“ zu haben, das Zerlegen des Ausgabetextes per Select-String, dem Match-Operator oder per [Regex] hinbekommen, da es lediglich darum geht, eine bestimmte Zeile herauszufischen.

Ein weniger einfacher und vor allem ganz ohne Regex-Zauber geht es unter Umständen mit dem mit der Version 5.0 eingeführten ConvertFrom-String-Cmdlet, wenngleich die folgende kleine Lösung auch nicht perfekt ist. Die Idee ist, dass der zu konvertierende Text anhand eines Musters in seine Bestandteile zerlegt wird. Das Muster besteht aus der ersten Zeilen des zu konvertierenden Textes, in dem die zu extrahierenden Bereiche einfach in geschweifte Klammern gesetzt werden. In dem in den geschweiften Klammern jeweils ein Name angegeben wird, kann der extrahierte Text später über diesen Namen angesprochen werden. Bei sich wiederholenden Bereichen folgt auf den Namen noch ein *.

Im Idealfall liefert ConvertFrom-String pro Übereinstimmung ein Objekt, bei dem der über eine Markierung markierte Text über die Eigenschaft geliert wird, die dem Namen der Markierung entspricht.

Das folgende Beispiel zerlegt den Output von netsh urlacl nach den Http-Adressen und löscht jede Reservierung. Vorsicht: Die Reservierungen werden tatsächlich gelöscht. Die Nutzung erfolgt daher auf eigenes Risiko.

Das kleine Beispiel versteht sich in erster Linie als Anschauungsbeispiel für das enorm leistungsfähige, leider aber auch immer noch recht kryptische wirkende ConvertFrom-String-Cmdlet.

Wer nur eine komfortable Möglichkeit sucht, URL-Reservierungen und SSL-Bindungen zu löschen ohne die Befehlszeile bemühen zu müssen, sollte den praktischen Http.sys-Manager von Nicolas Dorier verwenden:

https://www.codeproject.com/Articles/437733/Demystify-http-sys-with-HttpSysManager
bzw.

http://httpsysmanager.codeplex.com/

Das kleine WPF-Tool verwendet .NET-Klassen aus dem Namespace HttpSysManager.Core und HttpSysManager.Native. Theoretisch ließen sich die Klassen direkt in einem PowerShell-Skript verwenden. Wer also viel Zeit hat, kann sich in dieser Nische einen Namen machen, den ein PowerShell-Command scheint es noch nicht zu geben.

PowerShell unter Linux unter Windows (eine Linux-PowerShell ohne Linux VM)

Eine PowerShell unter Linux, die direkt unter Windows läuft? Dank dem relativ neuen Windows Subsystem for Linux (WSL) ist das grundsätzlich alles kein Problem mehr. Zuerst muss das WSL installiert werden, das mit dem aktuellen Creators Fall Update von Windows 10 offiziell geworden ist (für Windows Server 2016 wird es ein Update geben). Danach wird ein Linux aus dem Windows Store installiert, z.B. Ubuntu.

Wie das WSL installiert wird, beschreibe ich in einem anderen Blog-Eintrag: http://winhub.de/?p=154

Danach startet man die Bash und installiert die PowerShell für Linux genauso so wie es auf der GitHub-Projektseite z.B. für Ubuntu 16.04 beschrieben wird:

https://github.com/PowerShell/PowerShell/blob/master/docs/installation/linux.md#ubuntu-1604

Anschließend wird die PowerShell durch Eingabe von „powershell“ gestartet. Windows PowerShell und Linux PowerShell laufen damit parallel in jeweils einem eigenen Fenster. Einen zwingenden Anwendungsfall gibt es dafür natürlich nicht. Wer die beiden PowerShell-Varianten vergleichen oder sich aus irgendeinem Grund in einer Linux-Umgebung bewegen möchte, kann dies jetzt sehr einfach tun, da keine VM mehr einrichtet werden muss – ressourcenschonender dürfte diese Variante daher auch sein.

PowerShell-Usergroup-Treffen mit PowerShell-Prominenz am 16.9.2017

Am Samstag, den 16.9.2017 findet von 9 (!) bis 18 Uhr in Stuttgart (oder in der näheren Umgebung) erstmals ein PowerShell-Saturday mit einer Reihe interessanter Vorträge statt. Auf der Sprecherliste stehen mit Chrissy LeMaire und Rob Seweel zwei bekannte Köpfe aus der internationalen PowerShell-Community.

Der Ort für die Veranstaltung steht noch nicht fest, da er von der Teilnehmerzahl abhängt. Es wäre daher gut, wenn sich jeder Interessierte möglichst bald (am besten Jetzt) anmelden würde:

https://www.eventbrite.com/e/powershell-saturday-stuttgart-tickets-36601493051

Die Liederhalle muss glaube ich nicht angemietet werden, aber es wäre schön, wenn die Veranstaltung auch tatsächlich im Großraum Stuttgart stattfinden würde.

Neben den angekündigten Vorträgen hat jeder, der kommt, wie immer die Gelegenheit etwas Eigenes (sofern es mit PowerShell zu tun hat) vorzustellen.

Die ersten Schritte mit Wireshark

Wireshark ist „das“ Tool für die Analyse von Netzwerkverbindungen, sprich von Paketen, die im Rahmen einer Netzwerkverbindung übertragen. Es gibt natürlich Alternativen, doch sind diese entweder nicht kostenlos oder nicht so komfortabel. Von Microsoft gab es vor vielen Jahren den Network Monitor, der offenbar mit der Version 3.4 eingestellt wurde. Er ist zwar noch als Download erhältlich, doch empfehle ich ihn nicht, denn Wireshark ist die deutlich flexiblere Alternative.

Ist man lediglich an HTTP/HTTPS-Paketen interessiert, wie sie z.B. bei PowerShell-Remoting anfallen, gibt es mit HttpDebuggerPro (nicht kostenlos) und Fiddler4, alternative Tools, die eventuell etwas einfacher zu bedienen sind.

Wireshark unterstützt sämtliche in Frage kommenden Protokolle, bietet eine komfortable Filtersyntax, ist bestens dokumentiert, es gibt eine große, weltweite Community (und sogar eine eigene Konferenz) und ist trotz unzähliger Einstellungen und angesichts einer Fülle von Details, die eine Paketanalyse zwangsläufig liefert, relativ einfach zu bedienen, u.a. dank einer durchdachten Benutzerführung. Es ist wirklich faszinierend, wie vielschichtig und detailreich die Internet-Protokolle sind. Vor allem angesichts der Tatsache, dass alles bereits in den 70er Jahren entstand und damit bereits über 40 Jahre alt ist.

Die Downloadresse von Wireshark ist: https://www.wireshark.org

Die Installation der Windows-Version ist schnell erledigt.

Für das allerste Kennenlernen empfehle ich den Datenverkehr zur eigenen Homepage zu analysieren. Hier kam man im Allgemeinen davon ausgehen, dass wirklich nur ein paar Seiten per HTTP abgerufen werden und keine Anfragen gegen Dutzende von Werbenetzwerken und Websites zur Datenauswertung gestartet werden, die alle im Detail in der Ausgabe erscheinen.

Tipp: Beim Betrachten einzelner Pakete fiel mir auf, dass nahezu überall der Begriff „Arcadyan_cc“ enthalten ist. Zunächst vermutete ich (natürlich;), dass mein Notebook jede Anfrage auch einen ominösen Rechner im Internet sendet und dieser sogar meinen Computer anpingt, um irgendwelche Schwachstellen zu finden. Eine kurze Internet-Recherche ergab, dass dahinter eine Firma aus Taiwan steckt, die u.a. Router und Modems herstellt. Eines dieser Produkte heißt bei uns Speedport und dürfte Telekom-Kunden bestens bekannt sein.

Das Einrichten eines Filters ist bei Wireshark sehr einfach. Gib in die Filterleiste z.B.

http.host contains „training“

ein, um nur Pakete von Http-Verbindungen zu sehen, die von einem Host stammen, in dessen Name „Training“ vorkommt. Ist der Filter in Ordnung wird er grün eingefärbt, ansonsten rot.

Es versteht sich von selber, dass man mit Wireshark Stunden verbringen kann und natürlich wissen muss, was einem da an Details präsentiert wird.

Noch ein Tipp zum Schluss, der Euch eventuell eine lästige Suche erspart. Werden auf einmal nur noch Pakete mit einem „UNKNOWN“-Protokoll angezeigt, habt ihr es irgendwie geschafft, alle Protokolle zu deaktivieren. Wer [Strg]+[Umschalt]+[E] wird die Protokollliste angezeigt und es können alle Protokolle wieder aktiviert werden.

Also, viel Spaß bei der Paketanalyse.

Immer wieder nett, Paketanalyse mit Wireshark