15.01.2015 Aufrufe

Fehlersuche und Diagnose in Netzwerken

Fehlersuche und Diagnose in Netzwerken

Fehlersuche und Diagnose in Netzwerken

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Fehlersuche</strong> <strong>und</strong> <strong>Diagnose</strong> <strong>in</strong> <strong>Netzwerken</strong><br />

05.05.2011, C. Durrer / R. Petry


Wozu dieser Aufwand<br />

<br />

Die <strong>Fehlersuche</strong> bei Kommunikationsproblemen kann sehr aufwändig<br />

se<strong>in</strong><br />

<br />

<br />

<br />

Wenn z.B. der FTP Zugriff nicht funktionieren will<br />

Die Modbus Parameter des anzub<strong>in</strong>denen Gerätes nicht vollständig<br />

dokumentiert s<strong>in</strong>d<br />

Die BACnet Kommunikation nicht über den Router gehen will…<br />

In allen diesen Fällen kann viel Zeit e<strong>in</strong>gespart werden durch das<br />

„H<strong>in</strong>schauen“ der übermittelten Daten.<br />

Controls Masterfolie 2


Wie kann man Kommunikation analysieren<br />

<br />

<br />

<br />

Ethernet<br />

Um Ethernet Kommunikation (TCP/IP <strong>und</strong> UDP/IP) zu analysieren<br />

empfehlen wir die Freeware Wireshark(siehe FAQ 100569)<br />

Seriell (RS232 / RS485)<br />

Um Serial-S-Bus oder serieller Modbus zu analysieren empfehhlen<br />

wir die Software “Serialtest” von Frontl<strong>in</strong>e (ca. € 400.-)<br />

FDL<br />

Um FDL Kommunikation (z.B. Profibus DP, Profi-S-I/O oder Profi-S-<br />

Bus) zu analysieren empfehlen wir Profitrace(siehe FAQ 100298)<br />

Controls Masterfolie 3


Wireshark News<br />

Wireshark Verbesserungen (seit 1.0.0)<br />

<br />

<br />

<br />

<br />

<br />

<br />

Suche nach Retry telegrams<br />

Erweiterte Info “time to respond”<br />

Erweiterte Funktion “Jump to reques/response”<br />

Ether-S-I/O Protokoll wurde <strong>in</strong>tegriert<br />

Erweiterte Funktion “Expert <strong>in</strong>fo”<br />

Neue “Block download telegrams” <strong>in</strong>tegriert<br />

E<strong>in</strong>e grosse Anzahl von Gründen, die neue Version zu verwenden!<br />

Beachten Sie, dass die Version 1.5.x von Wireshark benötigt wird<br />

(verfügbar auf der DVD)<br />

Controls Masterfolie 4


Wireshark Voraussetzungen<br />

<br />

Verwenden Sie e<strong>in</strong>en Hub…<br />

Bei e<strong>in</strong>em Switches werden nicht alle Unicasts gesehen,<br />

nur Broadcasts s<strong>in</strong>d sichtbar.<br />

Controls Masterfolie 5


Wireshark Voraussetzungen<br />

<br />

…aber Hubs kann man nicht mehr kaufen…<br />

In den vergangenen Jahren wurden Hubs durch Switches ersetzt<br />

(was vernünftig ist), deshalb empfehlen wir zur Analyse e<strong>in</strong>en<br />

“Managed Ethernet Switch”:<br />

z.B. e<strong>in</strong>en ES-2108 from ZyXEL (ca. 150.- €)<br />

Controls Masterfolie 6


Wireshark Voraussetzungen<br />

<br />

…e<strong>in</strong> noch eleganterer (aber teurerer) Weg…<br />

Es existieren auch “USB tabs”, welche direkt <strong>in</strong> e<strong>in</strong> Netzwerk<br />

e<strong>in</strong>gefügt werden können:<br />

z.B. den ProfiTAP 10/100 (ca. 800 €)<br />

Controls Masterfolie 7


Wireshark Tipps (Ether-S-Bus)<br />

<br />

Sobald e<strong>in</strong>e Aufnahme gemacht wurde, kann diese analysiert<br />

werden; dazu ist e<strong>in</strong> Display Filter wichtig!<br />

suche nach Ether-S-Bus:<br />

sbus<br />

Bsp:<br />

Wireshark_SBus_Retries.pcap<br />

Controls Masterfolie 8


Wireshark Tipps (Ether-S-Bus)<br />

<br />

Bef<strong>in</strong>den sich Retry Telegramme im Trace<br />

Suche nach Ether-S-Bus retries (Wiederholungen)<br />

sbus.retry<br />

Bsp:<br />

Wireshark_SBus_Retries.pcap<br />

Controls Masterfolie 9


Wireshark Tipps (Ether-S-Bus)<br />

<br />

Wenn zu viele Stationan angezeigt s<strong>in</strong>d: ausfiltern!<br />

Display filter für Ether-S-Bus <strong>und</strong> nur e<strong>in</strong>e IP Station:<br />

sbus && (ip.addr == 172.23.2.15)<br />

Controls Masterfolie 10


Wireshark weiterführende Telegrammanalyse<br />

In vielen Fällen ist bereits mit diesen ersten Schritten die<br />

Ursache für die Kommunikationsstörung ersichtlich.<br />

Ist die Ursache auf den ersten Blick nicht zu erkennen sollten folgende<br />

Punkte überprüft werden (gern gemachte Fehler):<br />

Ist die IP Adresse (Gerät) überhaupt erreichbar <br />

Gehört die IP Adresse zum richtigen Gerät <br />

Stimmt die Checksumme <br />

Ist die Autentifizierung Erfolgreich <br />

Controls Masterfolie 11


Wireshark weiterführende Telegrammanalyse<br />

Ist die Ziel IP Adresse Erreichbar <br />

<br />

<br />

<br />

Ethernet Frames (Telegramme) s<strong>in</strong>d mit MAC Adressen adressiert<br />

Damit e<strong>in</strong> Gerät weiss, welche MAC Adresse e<strong>in</strong> anderes Gerät hat,<br />

wird jeweils e<strong>in</strong> ARP Request gesendet:<br />

<br />

<br />

Who has IP xxx.xxx.xxx.xxx (wenn das Gerät auf dem selben Subnetz ist)<br />

Who has IP xxx.xxx.xxx.xxx (wobei nach der IP Adresse des Routers gesucht wird,<br />

wenn das Zielgerät nicht auf der selben IP Subnetz ist)<br />

Die Tabelle der MAC wird regelmässig, aber langsam aufgefrischt<br />

Im Wireschark nach “ARP” filtern.<br />

Antworten alle Zieladressen <br />

Controls Masterfolie 12


Wireshark weiterführende Telegrammanalyse<br />

Nach ARP filtern<br />

Reihenfolge Sortieren<br />

<br />

<br />

Teilnehmer die auf den ARP request geantwortet haben.<br />

Nur mit diesen Geräten kann kommuniziert werden.<br />

Controls Masterfolie 13


Wireshark weiterführende Telegrammanalyse<br />

Gehört die IP Adresse zum richtigen Gerät <br />

<br />

Doppelt vergebene IP Adressen ausschliessen.<br />

Stimmt die MAC Adresse welche im ARP zu der IP angezeigt wird mit<br />

der MAC Adresse der PCD übere<strong>in</strong> <br />

Stimmt der angezeigte Gerätetyp <br />

Controls Masterfolie 14


Wireshark weiterführende Telegrammanalyse<br />

Werden die Telegramme fehlerfrei empfangen <br />

Das ist aus e<strong>in</strong>er korrekten Checksumme ersichtlich.<br />

Controls Masterfolie 15


Wireshark weiterführende Telegrammanalyse<br />

<br />

E<strong>in</strong>ige Funktionen wie z.B. E-Mail <strong>und</strong> FTP erfordern e<strong>in</strong>e<br />

Autentifizierung.<br />

Ist die Autentifizierung erfolgreich <br />

Autentifizierung fehlgeschlagen<br />

Controls Masterfolie 16


Wireshark Tipps (Ether-S-Bus)<br />

<br />

Wie viele Telegramme wurden von der PCD beantwortet<br />

Display filter für z.B. Ether-S-Bus <strong>und</strong> nur e<strong>in</strong>er IP Station:<br />

sbus && (ip.addr == 172.23.2.15)<br />

Um die Performance zu errechnen kann die Anzahl angezeiger<br />

Telegramme durch die Aufnahmezeit geteilt werden…<br />

Daumenregel: e<strong>in</strong> Ether-S-Bus Request wird <strong>in</strong>nert 10 ms<br />

bearbeitet (siehe die Präsentation von gestern von R. Beck)<br />

Controls Masterfolie 17


Wireshark Tipps<br />

<br />

<br />

Bemerkenswerte Ereignisse auf e<strong>in</strong>en Blick…<br />

Verwenden Sie die “Expert <strong>in</strong>fo” (Menü “Analyze”)<br />

<br />

Die folgenden Meldungsstufen existieren:<br />

Chat: Just chatt<strong>in</strong>g, nichts Spezielles<br />

Note: Bemerkung, noch nichts Spezielles (z.B. Retries)<br />

Warn<strong>in</strong>g: Da ist etwas seltsam…<br />

Error: Das ist e<strong>in</strong> Fehler (z.B. falscher CRC)<br />

Controls Masterfolie 18


Ethernet TCP<br />

<br />

<br />

Im Unterschied zu UDP ist TCP Verb<strong>in</strong>dungsbasiert<br />

Bevor Daten ausgetauscht werden, wird e<strong>in</strong>e Verb<strong>in</strong>dung erstellt:<br />

<br />

siehe Trace file file Wireshark_TCP_Syn.pcap<br />

Controls Masterfolie 19


Ethernet TCP<br />

<br />

Beim “Abbau” der Kommunikation wird diese Verb<strong>in</strong>dung auch wieder<br />

getrennt:<br />

siehe Trace file Wireshark_TCP_F<strong>in</strong>.pcap<br />

Controls Masterfolie 20


Ethernet TCP<br />

<br />

Zu bemerkende Punkte betreffend TCP<br />

Falls für jede Übermittlung e<strong>in</strong>es Frames e<strong>in</strong>e neue TCP<br />

Verb<strong>in</strong>dung geöffnet wird, wird die Anzahl Frames ca. verdreifacht<br />

(teilweise bei Modbus TCP)<br />

Wenn irgendwie möglich sollte diese<br />

Konstellation vermieden werden<br />

Wenn auf TCP-Ebene Timeouts auftreten (welche lange s<strong>in</strong>d),<br />

werden diese vor z.B. Modbus Timeouts abgewartet!<br />

Die Anzahl offener TCP Verb<strong>in</strong>dungen ist begrenzt<br />

(z.B. bei Modbus/TCP: 10 Connections maximal offen)<br />

Controls Masterfolie 21


Ethernet TCP / FTP<br />

<br />

FTP ist <strong>in</strong> dem S<strong>in</strong>ne speziell, dass 2 Verb<strong>in</strong>dungen verwendet<br />

werden, hier im Active Mode:<br />

<br />

<br />

Weitere Info betreffend FTP Active/Passive Mode<br />

Wireshark Beispiel: Wireshark_FTP_Successful.pcap<br />

Controls Masterfolie 22


Ethernet Modbus/TCP<br />

<br />

<br />

<br />

Vorgehen beim Konfigurieren von Modbus Verb<strong>in</strong>dungen (welche<br />

nicht klar def<strong>in</strong>iert s<strong>in</strong>d)<br />

<br />

<br />

<br />

<br />

Das “default mapp<strong>in</strong>g” entfernen<br />

E<strong>in</strong>en kle<strong>in</strong>en Bereich (<strong>in</strong> der Mitte des lesbaren Bereichs) von Medien<br />

zur Übertragung def<strong>in</strong>ieren<br />

Offset anpassen, damit das erste Element gelesen werden kann<br />

Bereich vergrössern, bis alle Daten gelesen werden können.<br />

Wenn möglich e<strong>in</strong>e korrekt funktionierende Kommunikation aufbauen<br />

<strong>und</strong> analysieren<br />

Bei der Kommunikation auf Exception codes achten (wenn der Server<br />

z.B. ke<strong>in</strong>en entsprechenden Bereich gemappt hat)<br />

Controls Masterfolie 23


Wireshark Hands-on<br />

Uebung 1<br />

Ke<strong>in</strong>e FTP Verb<strong>in</strong>dung möglich… Wieso<br />

Datei: Uebung1.pcap<br />

Uebung 2<br />

Emails können nicht versandt werden… Wieso<br />

Datei: Uebung2.pcap<br />

Uebung 3<br />

Emails können nicht versandt werden… Wieso<br />

Datei: Uebung3.pcap<br />

Controls Masterfolie 24


Wireshark Hands-on<br />

Uebung 4<br />

Die Modbus/TCP Kommunikation mit Gerät 10.20.60.164 funktioniert plötzlich<br />

nicht mehr (geht aber weiterh<strong>in</strong>g mit 10.20.60.163). Was könnte der Gr<strong>und</strong><br />

dafür se<strong>in</strong><br />

Datei: Uebung4.pcap<br />

Uebung 5<br />

Modbus/TCP Gerät 192.168.1.10 schreibt Coils auf die PCD, aber die<br />

gemappten Flags werden nicht geschrieben. Was könnte der Gr<strong>und</strong> se<strong>in</strong><br />

Datei: Uebung5.pcap<br />

Uebung 6<br />

Modbus/TCP (P-Bus) Kommunkation funktioniert nach e<strong>in</strong>em Neustart der<br />

PCD nicht mehr (PCD ist Modbus Master) Wo liegt die Ursache<br />

Datei: Uebung6.pcap<br />

Controls Masterfolie 25


Wireshark Uebung 1 Lösung<br />

Uebung 1<br />

Ke<strong>in</strong>e FTP Verb<strong>in</strong>dung möglich… Wieso<br />

Datei: Uebung1.pcap<br />

<br />

Nachdem der Benutzername “root1” übergeben wurde bei der<br />

Anmeldung, kommt die Antwort: Not logged <strong>in</strong><br />

Dieser Benutzer existiert nicht<br />

Controls Masterfolie 26


Wireshark Uebung 2 Lösung<br />

<br />

<br />

Damit die <strong>in</strong>teressanten Frames angezeigt werden: filtern mit “!http”<br />

(alles ausser http) oder “smtp”<br />

Nach e<strong>in</strong>em Log<strong>in</strong>versuch (erkennbar an AUTH für Authentication)<br />

antwortet der Server mit “535: Authentication failure” (wegen e<strong>in</strong>em<br />

falschen User/Passwort)<br />

<br />

Um das Passwort zu sehen<br />

kann es entschlüsselt werden,<br />

z.B. auf http://www.op<strong>in</strong>ionatedgeek.com/dotnet/tools/base64decode/<br />

Controls Masterfolie 27


Wireshark Uebung 3 Lösung<br />

<br />

<br />

Damit die <strong>in</strong>teressanten Frames angezeigt werden: filtern mit “tcp.port<br />

== 25” (verwendet für smpt)<br />

Nach e<strong>in</strong>em SYN wird sofort mit e<strong>in</strong>em RST (Reset) geantwortet<br />

auf dieser Masch<strong>in</strong>e läuft ke<strong>in</strong> SMTP Mail Server (oder e<strong>in</strong>e Firewall<br />

blockt)<br />

Controls Masterfolie 28


Wireshark Uebung 4 Lösung<br />

<br />

<br />

Damit die <strong>in</strong>teressanten Frames angezeigt werden:<br />

filtern mit “tcp.addr == 10.20.60.164”<br />

ke<strong>in</strong> Resultat<br />

Nach “arp” filtern, um zu sehen, ob die Station gesucht wird:<br />

Es wird nach dem Gerät mit der IP 10.20.60.164 gesucht mittels<br />

ARP (Address Resolution Protocol), aber die Station gibt ke<strong>in</strong>e<br />

Antwort. Ursache könnte se<strong>in</strong>, dass die Station nicht oder schlecht<br />

angeschlossen ist, oder e<strong>in</strong>en Fehler im Stack hat.<br />

Controls Masterfolie 29


Wireshark Uebung 5 Lösung<br />

<br />

Auf den Netzwerk kann man sehen, dass die Coils geschrieben<br />

werden (Coil 16..23), <strong>und</strong> dass die PCD positiv antwortet:<br />

<br />

Da die Flags aber nicht geschrieben wurden, ist sehr<br />

wahrsche<strong>in</strong>lich das Default Mapp<strong>in</strong>g aktiv<br />

In dem nächsten Schritt das Default Mapp<strong>in</strong>g ausschalten, <strong>und</strong><br />

erneut testen<br />

Controls Masterfolie 30


Wireshark Uebung 6 Lösung<br />

<br />

Als erstes nach den Neustart der PCD suchen (z.B. mit e<strong>in</strong>em Filtern<br />

nach “arp”: Neustart ist bei Frame 11525:<br />

<br />

<br />

Nach dem Neustart versucht die PCD, e<strong>in</strong>e neue TCP Verb<strong>in</strong>dung zu<br />

öffnen (von Port 1025 auf 502), was nicht gel<strong>in</strong>gt (der Persy Gateway<br />

erwidert ke<strong>in</strong> SYN, ACK)<br />

Dafür sendet der Persy Gateway Retransmission Frames (obwohl die<br />

PCD den Port nicht mehr offen hat <strong>und</strong> die Verb<strong>in</strong>dung mit e<strong>in</strong>em<br />

RST zurücksetzt)<br />

E<strong>in</strong> Fehler <strong>in</strong> der FW von Persy (der Gateway müsste die neue<br />

Verb<strong>in</strong>dung aufbauen, <strong>und</strong> die “alte” beenden, was er on e<strong>in</strong>er neuen<br />

FW machen wird)<br />

Controls Masterfolie 31


Offene Fragen<br />

Controls Masterfolie 32

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!