feat(core): traceroute and tcpdump after Java, measured against Java
TerminalRun adds nine stories: traceroute in the LAN, through the router, unreachable, without a route, to no one, to the host itself, errors and Ctrl+C; tcpdump on two hosts. traceroute counts failures across hops as Java does and takes an error that carries its probe; tcpdump tells each frame's highest capture row with its time of day, at once. Departures from Java: traceroute tells its summary before the end mark (Java after it, where its window shows no text) and calls a host at the 20th hop reached. arpsend is not built. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -861,3 +861,30 @@ Gemessen (02.10.2026):
|
||||
über 1 s, mehr als 6 s zwischen zwei Timeouts ins Leere) wird wiederholt;
|
||||
ebenso eine unter Last (andere Sitzungen auf dem Rechner: die erste
|
||||
ARP-Runde dauert dann knapp 300 statt 225 ms).
|
||||
|
||||
## Befehlszeile, traceroute und tcpdump (F3.4c)
|
||||
|
||||
Weitere Abläufe von `TerminalRun` auf `terminal-net`. Gemessen (02.10.2026):
|
||||
|
||||
* `traceroute`: je Sprung bis zu drei Proben (Echo mit TTL), je eine RTT
|
||||
auf die erste ICMP-Nachricht; eine Antwort zählt, wenn sie die Probe
|
||||
trägt (Echo-Antwort mit ihrer Nummer, oder ein Fehler mit 0/0 und der
|
||||
Probe darin), sonst „* “. Die Fehlzahl wird nur bei einem Treffer
|
||||
zurückgesetzt: nach mehr als fünf Fehlschlägen bricht Java ab. Die
|
||||
Nummern zählen ab 42 · 23, der Identifier ist der von `ping`.
|
||||
* Das Fazit kommt nach der Laufmarke „fertig“, das Fenster zeigt es dann
|
||||
nicht mehr (`GUIApplicationTerminalWindow.update` zeigt Text nur, solange
|
||||
ein Befehl läuft). Erreicht das Ziel den 20. Sprung, nennt Java es
|
||||
„nicht erreicht“ (`ttl >= maxHops`, aus dem Code; gemessen bis zwei
|
||||
Sprünge).
|
||||
* Eigene Adresse, ferne Router-Adresse, das „Host Unreachable“, das sich ein
|
||||
Rechner selbst gibt: Java nennt 127.0.0.1 bzw. die nahe Karte.
|
||||
* Hinter dem Router ohne Empfänger: Der Router hält während seiner
|
||||
ARP-Suche die Sperre seines ICMP-Puffers (`ProtokollThread.run`
|
||||
verarbeitet in `synchronized`); der Ethernet-Thread seiner Karte blockiert
|
||||
beim Übergeben, und Rahmen dahinter liest und protokolliert die Karte erst
|
||||
danach (die sechste Probe 2,5 s zu spät).
|
||||
* `tcpdump`: je Rahmen der ersten Karte ab dem Start die oberste Zeile der
|
||||
Tabelle (Uhrzeit, Protokoll, Quelle > Ziel, Kommentar), alle 100 ms;
|
||||
Zeilenumbrüche werden zu zwei Leerzeichen; Strg+C beendet es nach dem
|
||||
nächsten Blick. Ein während dessen getippter Befehl wartet bis danach.
|
||||
|
||||
Reference in New Issue
Block a user