2016-03-24 5 views
0

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); 
+1

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

+0

Danke! Kann ich mit DHCP Adressmaske holen? Ich kenne DHCP nicht. – hel

+0

Wie initialisieren Sie Ihre Netzwerkkonfiguration, wenn Sie kein DHCP verwenden? – Barmar

Antwort

0

Address Mask veraltet ist, als seine primäre Funktion (Hosts ihre lokale Netzmaske während der Netzwerk-Konfiguration herauszufinden) hat in Dynamic Host Configuration Protocol subsumiert worden (DHCP RFC, Wikipedia). Es ist wahrscheinlich nicht auf den meisten Consumer-Routern implementiert. Es wurde offiziell in RFC 6918 veraltet.

Wenn Sie Router für Konfigurationsinformationen abzufragen, um die Topologie, das entsprechende Protokoll ist Simple Network Management Protocol (SNMP RFC, Wikipedia) zu lernen. Dies ist ein ziemlich komplexes Protokoll. Wenn Sie es verwenden möchten, sollten Sie nach vorgefertigten Implementierungen suchen (es gibt sowohl Bibliotheken als auch CLI-Schnittstellen). Router erfordern jedoch in der Regel die Autorisierung von Clients, sodass Sie keine zufälligen Internet-Router abfragen können. Ich bin mir nicht sicher, ob Consumer-Router es überhaupt implementieren, da es ungewöhnlich ist, eine zentrale Verwaltung von Heim-Routern zu haben.

+0

Ja, ich habe über SNMP nachgedacht. Aber in meinem LAN scheint der Router SNMP nicht zu unterstützen. – hel

+0

Wie gesagt, es gibt wenig Bedarf für Consumer-Router, Netzwerk-Management wird normalerweise nur für große Organisationen, die Enterprise-Router verwenden. – Barmar

Verwandte Themen