traceroute parsen // sed/awk again?

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
MrScoville
Beiträge: 93
Registriert: 09.09.2016 17:20:59
Lizenz eigener Beiträge: MIT Lizenz

traceroute parsen // sed/awk again?

Beitrag von MrScoville » 07.03.2017 23:10:35

Hallo,

ich mal wieder. Ich möchte den Output von traceroute parsen, um rauszufinden, welche "outbound" IP "ich" gerade habe. Mein PC sei 192.168.1.3, die "inbound" IP vom meinem Router sei 192.168.1.254. So. Alles prima. Jetzt möchte ich aber wissen, mit welcher IP ich "draußen" erscheine.

Ich mache also ein traceroute -4 -n -m 2 -I http://www.google.com. Da kommt dann manchmal raus:
1 192.168.1.254 1.054 ms * *
2 83.hans.von.meiser 144.892 ms * *

und manchmal
1 192.168.1.254 1.509 ms * *
2 * 83.hans.von.meiser 213.224 ms *

Hier sind ja so viele Leute, die total fit mit sed und awk sind, da gibts doch bestimmt was? Für die einfachen Sachen hat mir bisher nach euren vielen Anregungen ein schlichtes
... | awk '$1 ~ 2 {print $2}'
gereicht. Hat wer eine Idee?

Also, wenn nach dem ersten Leerzeichen eine Ziffer kommt, ist das Folgende bis zum Leerzeichen eine IPv4. Wenn ein Sternchen kommt, probiere das, was nach dem Leerzeichen kommt. Wenn wieder ein Sternchen kommt, probiere es nochmal. Das, was dann kommt, liefere als Resultat zurück. (Wenn es wieder ein Sternchen ist, ist das mein Problem, und ich kümmere mich darum.)

Danke schonmal vorab!
Man mag gar nicht glauben, wie sehr ein 4096-bittiger RSA-Schlüssel einem den Tag vermiesen kann...^^

Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling :evil:

Benutzeravatar
sbruder
Beiträge: 333
Registriert: 24.06.2016 13:54:36
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Franken

Re: traceroute parsen // sed/awk again?

Beitrag von sbruder » 07.03.2017 23:25:45

Mit »outbound«-IP[-Adresse] meinst Du die (wahrscheinlich dynamische) öffentliche IP-Adresse, die Du von Deinem Provider zugewiesen bekommen hast, richtig?
Wenn Du nur das wissen willst:

Code: Alles auswählen

% curl ipinfo.io/ip # kann nur IPv4
192.0.42.23
% curl -4 icanhazip.com
192.0.42.23
% curl -6 icanhazip.com
2001:db8:dead:beef:c0ca:leaf:4223:5
EDIT: Passt wohl besser nach »Softwareentwicklung und -paketierung, Scripting«

Antworten