RFC 950, Seite 11 holen:Wie Adreßmaske mit ICMP
Ein Gateway eine Adressenmaske Anforderung empfangen sollte es zurück mit dem Adreßmaske Feld auf die 32-Bit-Maske des Bits die Identifizierungs Subnetz und Netzwerk für das Subnetz, in dem die Anforderung empfangen wurde.
Ich mag einen Host-Adresse Maske holen und ein ICMP Adreßmaske Anforderungspaket an lokalen Gateway und andere IP aufzubauen. Ich benutze tcpdump -i eth0 icmp
und finde ICMP address mask request
Paket wurde gesendet.Aber ich habe keine Antwort gefunden. Ist etwas falsch? Der Hauptcode ist:
struct icmp *picmp;
/* ICMP header */
picmp = (icmp_t *)send_buf;
picmp->icmp_type = ICMP_MASKREQ; // Address Mask Request
picmp->icmp_code = 0;
picmp->icmp_id = pid;
picmp->icmp_seq = npkt++;
len = 12; // ICMP header length
picmp->icmp_cksum = 0;
picmp->icmp_cksum = in_cksum((u_short *)picmp, len);
sendto(sock_fd, send_buf, len, 0, pr->p_addr, pr->addr_len);
Ich wette, die meisten Router implementieren diesen Dienst nicht wirklich. Clients erhalten dies in der Regel mithilfe von DHCP. Die ICMP-Methode ist ein Rest der Tage, bevor BOOTP und DHCP entwickelt wurden. – Barmar
Danke! Kann ich mit DHCP Adressmaske holen? Ich kenne DHCP nicht. – hel
Wie initialisieren Sie Ihre Netzwerkkonfiguration, wenn Sie kein DHCP verwenden? – Barmar