RA Messages - IPV6 Prefix herausfinden?

Hallo zusammen

Ich versuche derzeit selber den Prefix / network component von IPV6 Addressen herauszufinden um nacher selber IPV6 Addressen erstellen zu koennen (der 2. Node teil kann beliebig gewaehlt werden, darf natuerlich nur HEX characters beinhalten), ohne dass ich den Prefix manuell einstellen oder im Router Webinterface suchen muesste. Also alleine mit dem Betriebssystem. Verschiedene Betriebssysteme wie RHEL und Ubuntu scheinen dies zu koennen und weisen nach dem Boot eine oeffentliche IPV6 Addresse zu, welche ohne Probleme mit $ ip -6 addr show gelesen werden kann. Aber jedoch nicht immer und es kann nur eine scope link Adresse wiedergegeben werden.

Habe versucht mit tcpdump, ndisc6 (rdisc6), radvdump die RA (Router Advertisement) Messages zu lesen. Konnte nur mit tcpdump welche empfangen aber hierbei jedoch ohne IPV6 Nachrichten rauslesen zu koennen.

Commands die ich versucht habe:
$ sudo tcpdump -i meinGereat icmp6
$ sudo tcpdump -i meinGereat -vvv icmp6


Bsp. Output ($ sudo tcpdump -i meinGereat icmp6):
22:19:03.057228 IP6 user > fxxx::1xxx:cxxx:fxxx:bxxx: ICMP6, neighbor solicitation, who has fe80::1e24:cdff:fe06:b680, length 32
22:19:03.058693 IP6 fxxx::1xxx:cxxx:fxxx:bxxx: > user: ICMP6, neighbor advertisement, tgt is fe80::1e24:cdff:fe06:b680, length 24
22:20:57.994532 IP6 fxxx::1xxx:cxxx:fxxx:bxxx: > ff02::1: ICMP6, echo request, id 14083, seq 0, length 64

fxxx::1xxx:cxxx:fxxx:bxxx: ist vom Router und kann als Gateway verwendet werden.

Habe auch https://tldp.org/HOWTO/Linux+IPv6-HOWTO/ konsultiert aber nichts gefunden

Hat jemanden von euch Erfahrung damit und kann mir weiterhelfen?

Danke fuer jeden Input im Vorraus und Gruss

Samuel
 
Zuletzt bearbeitet:
Hat jemanden von euch Erfahrung damit und kann mir weiterhelfen
Versuch mal mit ndptool (im monitor mode) aus dem package libndp-tools (linux debian und derivate).

EDIT:

BTW: Mit tcpdump und dem geeignten Filter kann man auch RAs sniffen:
Code:
tcpdump -v -ni <Interface> 'icmp6 and (ip6[40] == 134)'
(Interface anpassen und ohne spitze Klammern).
 
Versuch mal mit ndptool (im monitor mode) aus dem package libndp-tools (linux debian und derivate).

EDIT:

BTW: Mit tcpdump und dem geeignten Filter kann man auch RAs sniffen:
Code:
tcpdump -v -ni <Interface> 'icmp6 and (ip6[40] == 134)'
(Interface anpassen und ohne spitze Klammern).
Besten Dank fuer den Hinweis, kannte ich noch nicht.
Habe damit versucht ra messages auszusenden (send) und gleichzeitig mit monitor zu lesen. Gleichzeitig habe ich auch noch mit tcpdump ebenfalls versucht etwas abzufangen. Ich bekomme zwar RA Nachrichten vom Router aber ohne einen Hinweis bezueglich ipv6 prefix. Die ipv6 vom router ist die einzige ip Adresse die angegeben wird: fxxx::1xxx:cxxx:fxxx:bxxx.

Der Filter hat bei mir leider fuer sehr lange Zeit gar kein Ergebnis mehr zurueck gegeben.
 
Das Problem liegt wahrscheinlich am Router, bekomme wenn ich RS Pakete versende sofort Feedback, aber eben leider nur router solicitations. Nur als ich den Router gerebootet habe waehrend ich tcpdump -v -ni <Interface> 'icmp6 and (ip6[40] == 134)' laufen gelassen habe, habe ich meine erhoften router advertisements bekommen bzw. lesen koennen, indenen auch meine gesuchte prefix info option drin stand.

Ist das allgemein bei Routern so? Gibt es noch andere wege den Router nach Router advertisments zu fragen? Ich denke mal mein Router ist nicht darauf ausgerichtet die nach dem booten noch zu schicken.
 
Ist das allgemein bei Routern so?
Nein. Es gibt Router die sind bzgl. IPv6 evtl. nicht richtig konfiguriert oder es handelt sich um einen Bug beim Router.
Wenn ein Client eine RS an der Router sendet, sollte dieser auch mit einer RA antworten.
Wie hast Du vom Client, die RS an den Router gesendet?

EDIT:

Z. B.:
Code:
sudo ndptool -v -t rs -i <Interface> send
 
Update: Ich musste die Option in den Einstellungen vom Router aktivieren. Schade, somit war doch manuelles eingreiffen noetig. Dachte es gaebe einen universell anwendbaren Weg (programmieren) um den Prefix bestimmen zu koennen. Gibt es ja somit schon, aber dann muss ich wohl auf bewaehrte Methoden wie ip -6 addr show etc. zurueckgreifen und somit hoffen das der pc schon eine ipv6 hat oder halt trotzdem versuchen rs zu empfangen.
Wie hast Du vom Client, die RS an den Router gesendet?
sudo ndptool -i enp4s0 -t ra send
 
Zurück
Oben