linzus
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2015
Beiträge: 147
|
lubux schrieb: linzus schrieb: | traceroute to 1.2.3.4 (1.2.3.4), 64 hops max, 52 byte packets
|
Ich denke nicht, dass das ein tcp-traceroute ist. Das wird ein icmp-traceroute sein. Du hast ja kein Protokoll (tcp) und kein Port (110) im traceroute verwendet bzw. angegeben.
Doch es ist ein TCP-Traceroute da die traceroute Implementierung unter UNIX in Wirklichkeit TCP verwendet, die unter Windows ICMP. Es ist aber auch egal, da ja nur die L3-Route bestimmt werden soll.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13892
|
linzus schrieb: Das habe ich ja bereits gemacht.
Ergebnis → ENTWEDER ich sehe auch nur die unbeantworteten Anfragen (der Port wird aber danach dennoch als Open angezeigt)
ODER ich sehe überhaupt keine Anfragen und der Port wird dennoch als Open angezeigt. Irgendetwas stimmt nicht
Naja, evtl. musst Du dann für tcpdump ein anderes Interface angeben oder "any" für alle möglichen Interfaces. Denn wer weiß über welches Interface die syn+ack-Datenpakete deinen Client erreichen?
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13892
|
linzus schrieb: Doch es ist ein TCP-Traceroute da die traceroute Implementierung unter UNIX in Wirklichkeit TCP verwendet, ...
Hmm, bist Du dir da sicher? Kannst ja mal mit tcpdump oder mit wireschark nach schauen, ob das stimmt.
|
linzus
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2015
Beiträge: 147
|
lubux schrieb: linzus schrieb: Das habe ich ja bereits gemacht.
Ergebnis → ENTWEDER ich sehe auch nur die unbeantworteten Anfragen (der Port wird aber danach dennoch als Open angezeigt)
ODER ich sehe überhaupt keine Anfragen und der Port wird dennoch als Open angezeigt. Irgendetwas stimmt nicht
Naja, evtl. musst Du dann für tcpdump ein anderes Interface angeben oder "any" für alle möglichen Interfaces. Denn wer weiß über welches Interface die syn+ack-Datenpakete deinen Client erreichen?
Ich habe natürlich auf any (tcpdump, wireshark geht nicht) gelauscht. Abwechselnd getestet mit Wireshark und tcpdump auf der CLI.
|
linzus
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2015
Beiträge: 147
|
lubux schrieb: linzus schrieb: Doch es ist ein TCP-Traceroute da die traceroute Implementierung unter UNIX in Wirklichkeit TCP verwendet, ...
Hmm, bist Du dir da sicher? Kannst ja mal mit tcpdump oder mit wireschark nach schauen, ob das stimmt.
Ja bin ich, habe ich auch gerade nochmal gemacht und exakt dies festgestellt ( -I Option in Unix-Traceroute sendet ping statt tcp-syn packet)
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13892
|
linzus schrieb: Ja bin ich, habe ich auch gerade nochmal gemacht und exakt dies festgestellt ( -I Option in Unix-Traceroute sendet ping statt tcp-syn packet)
Das verstehe ich nicht, weil Du hast doch keinen tcp-Port angegeben. So mach ich z. B. ein tcp-traceroute (hier auf den Port 272):
mtr -4nr -T -c 1 -a <source-IP> -P 272 <dst-IP>
tcpdump zeigt mir die Datenpakete (syn, syn-ack, ack, push, push+ack, rst, rst+ack) auch an. EDIT: :~$ mtr -4nr -T -c 1 -a 192.168.178.22 -P 272 78.xx.xx.xxx
Start: Sun Oct 20 23:18:59 2019
HOST: yyyyyy Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.178.1 0.0% 1 12.8 12.8 12.8 12.8 0.0
2.|-- 37.xx.xx.1 0.0% 1 10.5 10.5 10.5 10.5 0.0
3.|-- 81.210.144.116 0.0% 1 18.1 18.1 18.1 18.1 0.0
4.|-- 84.116.190.177 0.0% 1 15.8 15.8 15.8 15.8 0.0
5.|-- 84.116.132.178 0.0% 1 14.8 14.8 14.8 14.8 0.0
6.|-- 195.219.50.106 0.0% 1 16.3 16.3 16.3 16.3 0.0
7.|-- 195.219.219.10 0.0% 1 21.5 21.5 21.5 21.5 0.0
8.|-- 213.239.245.34 0.0% 1 21.6 21.6 21.6 21.6 0.0
9.|-- 85.10.228.86 0.0% 1 27.4 27.4 27.4 27.4 0.0
10.|-- ??? 100.0 1 0.0 0.0 0.0 0.0 0.0
11.|-- 195.201.66.250 0.0% 1 26.4 26.4 26.4 26.4 0.0
12.|-- ??? 100.0 1 0.0 0.0 0.0 0.0 0.0
13.|-- 78.xx.xx.xxx 0.0% 1 201.6 201.6 201.6 201.6 0.0
|
linzus
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2015
Beiträge: 147
|
lubux schrieb: linzus schrieb: Ja bin ich, habe ich auch gerade nochmal gemacht und exakt dies festgestellt ( -I Option in Unix-Traceroute sendet ping statt tcp-syn packet)
Das verstehe ich nicht, weil Du hast doch keinen tcp-Port angegeben. So mach ich z. B. ein tcp-traceroute (hier auf den Port 272):
mtr -4nr -T -c 1 -a <source-IP> -P 272 <dst-IP>
tcpdump zeigt mir die Datenpakete (syn, syn-ack, ack, push, push+ack, rst, rst+ack) auch an.
mtr kenne ich nicht, muss ich mir durchlesen.
Ja, es werden Random-Ports verwendet, es geht ja beim Traceroute nur darum die Hops auf der Strecke zu ermitteln. Vielleicht meinen wir mit traceroute aber auch etwas anderes
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13892
|
linzus schrieb: Ja, es werden Random-Ports verwendet, es geht ja beim Traceroute nur darum die Hops auf der Strecke zu ermitteln.
Nein, eben nicht. Wenn es nur um die Hops geht, reicht auch ein icmp-traceroute. Beim tcp-traceroute geht es um die Erreichbarkeit des angegebenen/gewünschten TCP-Ports mit dem tcp-Protokoll (siehe EDIT oben).
|
linzus
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2015
Beiträge: 147
|
lubux schrieb: linzus schrieb: Ja bin ich, habe ich auch gerade nochmal gemacht und exakt dies festgestellt ( -I Option in Unix-Traceroute sendet ping statt tcp-syn packet)
Das verstehe ich nicht, weil Du hast doch keinen tcp-Port angegeben. So mach ich z. B. ein tcp-traceroute (hier auf den Port 272):
mtr -4nr -T -c 1 -a <source-IP> -P 272 <dst-IP>
tcpdump zeigt mir die Datenpakete (syn, syn-ack, ack, push, push+ack, rst, rst+ack) auch an. EDIT: :~$ mtr -4nr -T -c 1 -a 192.168.178.22 -P 272 78.xx.xx.xxx
Start: Sun Oct 20 23:18:59 2019
HOST: yyyyyy Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.178.1 0.0% 1 12.8 12.8 12.8 12.8 0.0
2.|-- 37.xx.xx.1 0.0% 1 10.5 10.5 10.5 10.5 0.0
3.|-- 81.210.144.116 0.0% 1 18.1 18.1 18.1 18.1 0.0
4.|-- 84.116.190.177 0.0% 1 15.8 15.8 15.8 15.8 0.0
5.|-- 84.116.132.178 0.0% 1 14.8 14.8 14.8 14.8 0.0
6.|-- 195.219.50.106 0.0% 1 16.3 16.3 16.3 16.3 0.0
7.|-- 195.219.219.10 0.0% 1 21.5 21.5 21.5 21.5 0.0
8.|-- 213.239.245.34 0.0% 1 21.6 21.6 21.6 21.6 0.0
9.|-- 85.10.228.86 0.0% 1 27.4 27.4 27.4 27.4 0.0
10.|-- ??? 100.0 1 0.0 0.0 0.0 0.0 0.0
11.|-- 195.201.66.250 0.0% 1 26.4 26.4 26.4 26.4 0.0
12.|-- ??? 100.0 1 0.0 0.0 0.0 0.0 0.0
13.|-- 78.xx.xx.xxx 0.0% 1 201.6 201.6 201.6 201.6 0.0
mtr arbeitet mit icmp-pings, also wie die Windows-Implementierung.
Ist also nichts anderes als traceroute -I unter Unix (wenn auch ein paar mehr nette Daten wie roundtriptime usw. angezeigt werden=)
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13892
|
linzus schrieb: mtr arbeitet mit icmp-pings, also wie die Windows-Implementierung.
Schau dir mal die Ausgabe vom tcpdump an, wenn Du ein tcp-traceroute mit mtr machst.
|
linzus
(Themenstarter)
Anmeldungsdatum: 31. Dezember 2015
Beiträge: 147
|
lubux schrieb: linzus schrieb: mtr arbeitet mit icmp-pings, also wie die Windows-Implementierung.
Schau dir mal die Ausgabe vom tcpdump an, wenn Du ein tcp-traceroute mit mtr machst.
mrt ist nett und bietet mehr Optionen als traceroute, mit -T und -P hast du es halt einfach umgebogen wie die Unix-Implementierung mit der Angabe eines speziellen DST-Ports anstatt eines Random-Ports. Technisch macht es aber nichts anderes. Es wird noch stranger: Der mtr von meinem Host aus zeigt keinen hop. Aus Sicht meines PCs und der Ausgabe von mtr sieht es so aus, als wären mein Rechner und das Ziel direkt verbunden ?! Der gleiche Befehl von einem anderen Server aus brachte das erwartet Ergebnis (mehrere Hops zwischen Server und Server)...
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13892
|
linzus schrieb: Es wird noch stranger: Der mtr von meinem Host aus zeigt keinen hop. Aus Sicht meines PCs und der Ausgabe von mtr sieht es so aus, als wären mein Rechner und das Ziel direkt verbunden ?!
Host=PC=Rechner? Wenn ja, wie sind auf deinem Rechner die Ausgaben von:
route -n
ip a
ip n s
?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Cranvil schrieb: Telnet ist nicht besonders clever. Setze es auf einen seriellen Link und du erhältst dieselbe Meldung, obwohl nicht einmal ein Kabel angeschlossen ist.
Nun, das liegt aber in der Natur der Sache, denn bei einer direkten seriellen Verbindung braucht man keine TCP-Verbindung aufbauen. Ob ein Kabel dran steckt oder nicht, ist daher auch egal. Wenn man sich mit telnet auf einen Port verbinden will, wird er immer versuchen eine TCP-Verbindung aufzubauen. Wir testen solche Sachen immer per telnet und hatten damit noch nie irgendwelche Probleme. Wenn telnet sagt, dass es eine Verbindung aufgebaut hat, dann ist es auch so. Wenn man mit tcpdump die Verbindung nicht sieht, hat man es falsch verwendet.
|