Hallo Leute,
ich möchte mit Perl einen einfachen DHCP-Client zum testen schreiben aber ich komme da ein Problem.
Das Paket Net::DHCPClient bekomme ich nicht zum laufen (wahrscheinlich wegen Net::RawIP) also hab ich es mit Net::DHCP probiert.
Ich sende nun also ein DHCPDISCOVER und dann wartet das Script auf Antwort. Es kommt auch ein DHCPOFFER zurück aber das Script verarbeitet es nicht. Ich vermute, einfach, dass es bei recv() einfach eine andere IP erwartet, denn gesendet habe ich ja an 255.255.255.255 und die Antwort kommt von einer Host-IP (in meinem Fall dem Gateway, der die Nachricht vom DHCP-Server weitergeleitet hat).
Nun wollte ich halt einfach einen Socket für die Anfrage und einen horchenden für die Antwort nehmen aber beim erstellen des Antwort-Sockets bekomme ich immer einen Fehler:
listen: Unknown error at dhcp.pl line 32.
...nicht sehr Aussagekräfig.
Der Code für diesen Socket sieht so aus:
socket(Server, PF_INET, SOCK_DGRAM, 0) || die "socket: $!";
bind(Server, sockaddr_in(68, INADDR_ANY)) || die "bind: $!";
listen(Server, 5) || die "listen: $!";
Hat jemand eine Idee, was da falsch ist?