Bei vielen Problemen mit dem Miniserver kann ein Troubleshooting im Netzwerk helfen, die Ursache von Problemen zu finden oder zumindest das Problem einzugrenzen. U.a. betrifft dies die folgenden Punkte:
- Kommunikation des Miniservers über TCP/IP mit dem Internet, also Abfrage von Wetterdaten
- Steuerung und/oder Abfrage von Geräten per UDP, Modbus/TCP, WakeOnLan
- Kommunikation zwischen Intercom und SIP Providern als auch Intercom mit Miniserver
- Analyse von Protokollen und Vergleich von "Soll" mit "Ist"
Was brauche ich dafür?
Ein sehr hilfreiches Tool für das Troubleshooting ist Wireshark. Mit diesem Tool kann man Pakete im Netzwerk aufzeichnen. Da die meiste Kommunikation im Netzwerk über Unicasts läuft, d.h. direkt zwischen den beiden beteiligten Geräten von einer IP-Adresse zu einer anderen IP-Adresse, sieht man mit Wireshark nur dann Pakete, wenn eines der beteiligten Geräte der PC oder Mac selbst ist. In den anderen Fällen, wenn man z.B. die Kommunikation zwischen Miniserver und Lüftungsanlage per Modbus/TCP oder zwischen Miniserver und Loxone mitschneiden möchte, dann muss man die Kommunikation auf einem Gerät "anzapfen", welches sich im Datenpfad zwischen den beiden Geräten befindet. Das kann z.B. eine Fritzbox sein oder ein Netzwerkswitch, der eine sogenannte Portspiegelung, auch SPAN oder Mirroring genannt, unterstützt.
Capture über den PC / Mac
Um Pakete über den eigenen Windows PC aufzuzeichnen zu können wird ein entsprechender Treiber benötigt, der im Installationspaket von Wireshark enthalten ist. Der aktuelle Treiber heisst Npcap und ist eine Weiterentwicklung von Winpcap. Früher gab es den Treiber Winpcap nur für Netzwerkkarten mit LAN Interface, aber nicht für WLAN. Für OS-X ist dieser Treiber nicht erforderlich. Häufig möchte man alle Pakete aufzeichnen und nicht nur die Pakete, die für den eigenen PC bestimmt sind. Dieser Modus nennt sich "promiscuous" und ist insbesondere erforderlich, wenn man über eine Porspiegelung auf einem Netzwerkswitch die Pakete aufzeichnet. Möglicherweise funktioniert dieser Modus nicht mit jeder Netzwerkkarte.
Capture über Netzwerkswitch
Bei Netzwerkswitchen, die so eine Funktion unterstützen, wird häufig ein Port ausgewählt, der auf einen anderen Port gespiegelt wird. An dem Zielport schließt man dann den eigenen PC mit Wireshark an. Es ist sinnvoll, dass der PC eine zweite Schnittstelle, z.B. WLAN hat, um weiterhin den Miniserver oder andere Geräte steuern zu können. Für weitere Hinweise bitte im Handbuch des jeweiligen Switches nachlesen.
Capture über Fritzbox
Bei einer Fritzbox muss man sich über die URL https://fritz.box/html/capture.html anmelden und bekommt dann das nachfolgende Menü.
Je nach Problem kann man die passende Schnittstelle auswählen. Für die Kommunikation von und zum Internet bietet sich die Schnittstelle "Internetverbindung" an. Je nach Anbindung zum Internet gibt es evtl. eine dedizierte Schnittstelle für Daten und eine für VoIP, sofern der Provider diese Funktion mit dem Internetanschluss anbietet. Man sollte natürlich nicht gerade große Downloads starten, wenn man die Pakete aufzeichnen möchte, um die Datenmenge möglichst überschaubar zu halten. Wenn man die Kommunikation zwischen Miniserver und einem Gerät im LAN mitschneiden möchte, dann sollte eines der Geräte direkt an der Fritzbox angeschlossen sein bzw. werden. Dieses Interface "ethX" kann direkt ausgewählt werden. Alternativ kann man mit "lan" auch alle LAN Schnittstellen auswählen.
Das Aufzeichnen wird über die Taste "Start" gestartet und nach dem Ende mit "Stop" im Download Ordner gespeichert. Die Endung lautet i.d.R. .lan
Tipp
Schritt-für-Schritt-Anleitung
Die Anleitung enthält nur die wichtigsten Punkte. Je nach Art des Problems und dem individuellen Setup im Netzwerk können weitere Schritte erforderlich sein.
- Wireshark auf einem PC oder Mac installieren. Download über die offizielle Webseite von Wireshark
- Methode für Aufzeichnung wählen, z.B. Capture über Fritzbox, Portspiegelung auf Netzwerkswitch oder direkt auf dem PC bzw. Mac und den o.a. Hinweise folgen bzw. das Handbuch lesen
- Aufzeichnung starten und prüfen, ob die gewünschten Pakete aufgezeichnet werden.
- Pakete mit Wireshark analysieren
Allgemeine Tipps für die Aufzeichnung und Analyse mit Wireshark
Nachfolgend ist eine Sammlung von allgemeinen Hinweisen, die die Problemanalyse mit Wireshark vereinfachen. Die nachfolgenden Tipps enthalten die Namen der Menüs einer Installation auf einem Mac - Menüpunkte unter Windows können ggf. abweichend heissen.
Displayfilter
Displayfilter sind wahrscheinlich die effektivste Möglichkeit, die gewünschten Pakete aus der langen Liste der aufgezeichneten Pakete herauszufiltern. Folgende Filter sind hilfreich:
- Name des Protokolls: z.B. tcp, udp, wol, sip
- Bestimmte Anwendung über einen TCP Port: tcp.port==X (X ist der Port, z.B. 80 für HTTP)
- Bestimmte IP-Adresse: ip.addr==1.2.3.4, wobei ip.addr für Quell- oder Zieladresse steht, die auch speziell über ip.src==1.2.3.4 oder ip.dst==1.2.3.4 gewählt werden können
- Kombination von Bedingungen über ein logisches ODER oder UND:
- (ip.addr==1.2.3.4) && (tcp.port==80) zeigt nur die Pakete von oder zu dieser IP-Adresse für das Protokoll HTTP
- (ip.addr==1.2.3.4) || (ip.addr==2.3.4.5) zeigt alle Pakete von oder zu den beiden angegebenen IP-Adressen
- Negierung der Bedingung: !(eth.src == 38:f9:d3:90:2c:00) zeigt nur Pakete, die nicht von dieser MAC Adresse kommen
- Die gewünschten Displayfilter können entweder direkt eingegeben werden oder über einen Rechtsklick in die entsprechenden Felder des dekodierten Paketes zusammengestellt werden (Prepare a Filter)
- Gefilterte Ansichten können über das Menü "Export specific packets ..." selektiv gespeichert werden, während über "Save As ..." immer alle Pakete als Datei gespeichert werden.
Capture Options
Über das Menü "Capture, Options..." oder das Icon mit dem Zahnrad kann die Schnittstelle, z.B. LAN oder WLAN, der "promiscuous" Modus und ggf. noch ein Capture-Filter ausgewählt werden. Sofern die Datenmenge nicht sehr groß wird, ist es i.d.R. einfacher später einen Displayfilter zu wählen, als einen Capture-Filter, der eine andere (simplere) Syntax verwendet.
Tipps für die Aufzeichnung und Analyse bestimmter Protokolle, Applikationen
Nachfolgend ist eine Sammlung von Hinweisen oder Hilfen, um bestimmte Probleme besser erkennen zu können. Gerne kann die Sammlung erweitert werden!
Broadcasts, z.B. Wake on LAN
Broadcasts, wie sie z.B. bei Wake on LAN versendet werden, können sehr einfach mitgeschnitten werden. Da Broadcasts nur im gleichen IP-Subnet bzw. VLAN versendet werden, ist es lediglich erforderlich, dass sich er Aufzeichnungspunkt im lokalen Netz befindet.
Das o.a. Beispiel enthält den Displayfilter "wol" der gezielt nur die Wake on LAN Pakete anzeigt.
Kommunikation der Loxone App mit Loxone
Die Loxone App prüft bei jedem Start, ob es eine neuere Version des Miniservers gibt und kommuniziert dabei unverschlüsselt über HTTP mit update.loxone.com. Dieser Name wird per DNS in den eigentlichen Namen loxone-updateserver.s3-website.eu-central-1.amazonaws.com und dann in die IP-Adresse 52.219.73.90 aufgelöst.
Im o.a. Mitschnitt kann man erkennen, dass Loxone sowohl die Seriennummer des Miniservsers, als auch die installierte Version und die Version der App übermittelt. Zusätzlich werden vom mobilen Smartphone automatisch der Typ und die Version des OS mitgesendet. Diese Angaben mögen für Loxone hilfreich sein, allerdings ist die Übermittlung der Seriennummer des Miniservers für einen Updatecheck nicht erforderlich. Anhand der Seriennummer kann Loxone feststellen, wann der Miniserver verkauft wurde, evtl. sogar den Besitzer, sofern der sich bei Loxone registriert hat.
Dann werden ca. 56 KB XML Daten übermittelt, die u.a. die aktuelle Test- Beta- und Release Software für den Miniserver mit Download-URL beinhalten. Anschließend noch die URLs für weitere Loxone Produkte und Air bzw. Tree Komponenten.
Verwandte Artikel