Debug
Aus STARFACE Wiki
Allgemein
Auf dieser Seite sind diverse Möglichkeiten beschrieben wie man bestimmte Szenarien debuggen kann bzw. wie
man an bestimmte Informationen heran kommt und diese sammelt.
Via SSH auf die STARFACE verbinden
Allgemein
Je nach Fehlerfall muss man über die Möglichkeiten des Web-Interfaces der STARFACE hinausgehen und tiefer in das System schauen. Dies passiert am Besten über eine SSH-Verbindung mit der man direkt auf die Linux-Ebene der STARFACE schauen kann.
Als Tool hierfür empfehlen wir PuTTY.
Verbindungsaufbau
|
Hierzu muss schlicht PuTTY gestartet werden und dort die entsprechenden Daten für die Verbindung zur STARFACE eingetragen werden. Wichtig sind hier folgende Einstellungen:
siehe auch Abb.1
|
Authentifizierung
|
Nach dem Öffnen der Verbindung bekommt man eine Benutzerabfrage gefolgt von einer Passwort-Abfrage.
Der Benutzer für die SSH-Verbindung ist immer "root".
|
Datei Transfer von/zur STARFACE Anlage
|
Der Datei Transfer erfolgt auch über Port 22, also über eine SSH-Verbindung. Die unterstützten Protokolle für eine Übertragung wären Secure Copy (SCP) oder SSH File Transfer Protokoll (SFTP). Für die Anmeldung werden die selben Daten benötigt, wie für eine normale SSH Verbindung auf die Konsole. WindowsFür Windows gibt es eine Reihe von Clients, die SCP unterstützen. Ein leicht zu bedienendes und kostenloses Programm ist WinSCP. MacEin kostenloser Client für das Mac OS X Betriebsystem ist Cyberduck. Außerdem ist ein kommandozeilen Programm "SCP" in lieferumfang des Systems vorinstalliert, wobei die Benutzung nur für erfahren Benutzer empfohlen wird. |
SIP debugging
Allgemein
Die hier beschriebene Syntax ermöglicht es SIP Packete mit zu schneiden. Dies wird i.d.R. eingesetzt um z.B.
eine Registrierung mit einem Provider zu debuggen oder die Anmeldung eines Telefons an der STARFACE.
Generell kann hier aber natürlich alles mitgeschnitten werden was auf SIP-Ebene passiert.
Als Grundlage wird eine aktive SSH-Verbindung benötigt, als auch eine offene Asterisk-Konsole (asterisk -rvvvv)
Syntax
sip set debug
Dadurch werden alle SIP-Packete die der Asterisk empfängt oder selbst versendet angezeigt.
sip set debug ip <IP-Adresse>
Hierbei werden alle SIP-Packete angezeigt die der Astersik an die definierte IP-Adresse sendet oder von dieser empfängt.
sip set debug peer <Peer-Name>
Es passiert eine Auflösung des Telefon- bzw. Peernamens zu der IP-Adresse der entsprechenden Gegenstelle. Daraufhin werden alle SIP-Packete
dargestellt die an diese Gegenstelle gehen oder von dieser empfangen werden
sip set debug off
Damit können alle o.g. Log-Level wieder deaktiviert werden.
tcpdump
Allgemein
Mit dem Linux-Kommandozeilenbefehl tcpdump kann der Netzwerkverkehr von und zu der STARFACE Anlage überwacht und mitgeschnitten werden. Diese Ausgaben können auch in eine Datei geschrieben werden. Diese Datei kann dann mit dem Programm Wireshark nachträglich ausgewertet und überprüft werden.
Einfaches Mitschneiden von Paketen die über das Netzwerk laufen
eth0 bezeichnet in der Regel die erste Netzwerkkarte im System, eth1 wäre die zweite Netzwerkkarte. Die Aufnahme des Traces kann jederzeit mit "Strg + C" abgebrochen werden.
tcpdump -i eth0
Mitschneiden von Paketen direkt in eine Datei
Die Datei "dump.pcap" ist das Ziel der Trace-Ausgaben. Mit dem Parameter "s" wird angegeben wieviel von einem Paket mitgeschnitten werden soll. Mit s0 als Parameter wird das ganze Paket mitegschnitten.
tcpdump -i eth0 -w dump.pcap -s0
Mitschneiden von Paketen mit einer IP-Adresse als Quelle oder Ziel
tcpdump host 192.168.2.158 -s0 -w dump.pcap -i eth0
Mitschneiden von Paketen mit einem Port als Quelle oder Ziel
Folgender Befehl würde alle SIP-Pakete mitschneiden die über eth0 laufen.
tcpdump port 5060 -s0 -w dump.pcap -i eth0
tcpdump im Hintergrund starten
nohup tcpdump host 192.168.2.158 -i eth0 -w dump.pcap -s0 &
oder
nohup tcpdump port not http and port not ssh -i eth0 -w dump.pcap -s0 -vv &
Prozess beenden
killall tcpdump
ISDN
Um einen Mitschnitt des D-Kanals zu aktivieren, kann folgender Befehl auf der Linux Konsole eingegeben werden
activate_sirrix_debug.sh
Nach dem nächsten Dienste-Neustart wird die komplette Kommunikation auf allen ISDN Ports gelogged und in das folgende Verzeichnis gelegt:
/var/log/sirrix-dch/
Deaktivieren des ISDN Debugs
rm -f /var/starface/sirrix_debug
Szenarien
Allgemein
Um das debuggen klarer zu gestalten, werden hier diverse Szenarien skizziert anhand derer ein bestimmtes Vorgehen zur Fehlersuche erläutert wird.
