orm@doc-tcpip.org | Erstellt: August 2003 - Letzte Modifikation: August 2003 |
Zum Tracen eines TCP-Socket wird das Kommando trpt benutzt. Damit das möglich ist, muß zuerst der telnet-Deamon angewiesen werden, die Sockets im Debug-Mode anzulegen (setsockopt Subroutine). Dann schreibt der Deamon für jeden Event auf einem TCP-Socket eine Zeile in einen Puffer, den das Kommando ausliest.
Editieren der /etc/inetd.conf. Anfügen
des Schalters -s an die Telnet-Zeile:
telnet stream tcp6 nowait root /usr/sbin/telnetd telnetd -a -s
Danach ist der inetd zu refreshen:
refresh -s inetd
Wenn man sich jetzt remote einloggt, dann kann man in der Ausgabe von netstat -aAf inet den betreffenden Socket identifizieren. Die erste Nummer ist die Nummer des Protocol Control Blocks (PCB).
Auf diese Nummer setzt man den Trace nun auf:
trpt -f -p PCB-Nummer
Man erhält jetzt fortlaufende Ausgaben mit Informationen über
den Verkehr auf diesem Socket.
Es ist auch möglich, mehrere Socket zu spezifizieren (trpt -f -p PCB-Nummer1 PCB-Nummer2). Mit dem Schalter -a werden die Quell- und Ziel-Adressen mitgeschrieben; der Schalter -j zeigt alle Sockets an, für die ein Trace-Buffer existiert
(trpt -j). Schalter -s zeigt detaillierte Angaben der Paket-Sequenzen und Schalter -t zeigt alle Timer im Trace.Im Trace selbst finden sich dann alle TCP-verwandten Information, die Adressen in Hex, sämtliche States (SYN, RST, LAST_ACK) sowie wie alle User Aktionen (DETACH, DISCONNECT, RCVD etc.).
Mit einem TCP Zustandsdiagramm (aus dem Stevens) kann man die Verbindung dann analysieren.
[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]
Copyright 2001-2021 by Orm Hager - Es gilt die GPL