Ip-Adresse und Informationen getrennt für jedes Interface
-
Hallo zusammen,
ich habe ein interessantes Problem. Und zwar möchte ich einen Daemon schreiben, der (wie der Name schon sagt) im Hintergrund läuft und auf mehreren Interfaces auf Requests wartet. Sagen wir der Host auf dem er läuft hat 3 Netzwerkkarten. Auf allen drei horcht er. Wenn nun, z.B. von der Netzwerkkarte 2 eine Anforderung kommt soll er die IP-Adresse, Net-Maske und möglicherweise auch noch die MAC-Adresse von der Netzwerkkarte mitteilen von der die Nachricht kommt. Also in dem obigen Fall die IP-Adresse auf die die Netzwerkkarte 2 gebunden ist. Und eben noch die Netmask und MAC-Adresse.Jetzt kenne ich die Funktion get_ifi_info. Diese gibt mir http://www.cs.sunysb.edu/~cse533/asgn2/get_ifi_info.html Diese gibt mir eine verkettete Liste zurück mit allen Interfaces, welche auf meinem System aktiv sind. Aber wie kann ich jetzt diese Einträge zu dem Interface zuordnen, von dem gerade ein Request gekommen ist?
Hat jemand sowas schon mal gemacht.
Danke vorab für die Hilfe
Gruss Christian
-
Mit ioctl geht das wohl: http://www.c-plusplus.net/forum/viewtopic.php?p=316499
-
Ah rüdiger auch noch wach
Ja klar, das geht.
Das Problem ist aber, wenn ich vom interface eth1 ein Request bekomme, dass das eben von interface eth1 ist und ich nach der IP-Adresse von interface eth1 nachschauen muss. Das ist das eignetliche Problem. Ich habe mehrere Netzwerkkarten also mehrere NICs. Und jedes NIC ist an einem anderen Netzwerk angeschlossen, hat also eine eigene IP-Adresse. Und wie bekomme ich heraus von welchem Interface ein Request kommt, damit ich mir die IP-Adresse von diesem Interface raussuchen kann.