Warum sendet mein Laptop eine ARP-Anfrage an sich selbst?

7

Ich habe gerade angefangen, etwas über Protokolle zu lernen. Während ich die Pakete in Wireshark studierte, stieß ich auf eine ARP-Anfrage, die von meinem Computer an meine eigene IP gesendet wurde. Hier sind die Details des Pakets:

  No.     Time        Source                Destination           Protocol Info
     15 1.463563    IntelCor_aa:aa:aa     Broadcast             ARP      Who has 192.168.1.34?  Tell 0.0.0.0

Frame 15: 42 bytes on wire (336 bits), 42 bytes captured (336 bits)
    Arrival Time: Jan  7, 2011 18:51:43.886089000 India Standard Time
    Epoch Time: 1294406503.886089000 seconds
    [Time delta from previous captured frame: 0.123389000 seconds]
    [Time delta from previous displayed frame: 0.123389000 seconds]
    [Time since reference or first frame: 1.463563000 seconds]
    Frame Number: 15
    Frame Length: 42 bytes (336 bits)
    Capture Length: 42 bytes (336 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:arp]
    [Coloring Rule Name: ARP]
    [Coloring Rule String: arp]
Ethernet II, Src: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
    Destination: Broadcast (ff:ff:ff:ff:ff:ff)
        Address: Broadcast (ff:ff:ff:ff:ff:ff)
        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
    Source: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
        Address: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: ARP (0x0806)
Address Resolution Protocol (request)
    Hardware type: Ethernet (0x0001)
    Protocol type: IP (0x0800)
    Hardware size: 6
    Protocol size: 4
    Opcode: request (0x0001)
    [Is gratuitous: False]
    Sender MAC address: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
    Sender IP address: 0.0.0.0 (0.0.0.0)
    Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
    Target IP address: 192.168.1.34 (192.168.1.34)

Hier ist die Mac-Adresse des Absenders meine (hier habe ich meine Mac-Adresse versteckt). Ziel-IP ist meine. Warum sendet mein Computer eine ARP-Anfrage an sich selbst? Ich habe 3 Pakete dieses Typs gefunden. Es gab keine ARP-Antwort für diese Pakete. Kann mir jemand erklären, warum es so ist? (Mein Betriebssystem ist Windows-7. Ich bin direkt mit einem WLAN-Modem verbunden. Ich habe diese Pakete erhalten, sobald ich meine Verbindung hergestellt habe.)

Ich möchte auch einen Vorschlag. An vielen Stellen habe ich gelesen, dass RFCs ausreichen, um Protokolle zu studieren. Ich habe den RFC 826 auf ARP studiert. Ich persönlich bin der Meinung, dass das überhaupt nicht ausreicht. Irgendwelche Vorschläge dazu? Gibt es mehr als 1 RFC für ein Protokoll? Ich möchte die Protokolle sehr detailliert studieren. Kann mich jemand dazu führen? Danke im Voraus.

user58859
quelle

Antworten:

13

Dieses Verhalten ist ein sehr guter Weg, um eine potenzielle doppelte IP zu finden.

Wenn Ihr Computer keine Antwort erhält, ist er der einzige mit dieser IP. Wenn Ihr Computer eine Antwort erhält, gibt es einen anderen Computer mit derselben IP, was offensichtlich ein Problem darstellt.

In Bezug auf RFCs finde ich sie schrecklich zu lesen. Ich benutze sie nur als Referenz für bestimmte Probleme. Ich habe wahrscheinlich nur einen von Anfang bis Ende gelesen. Den Rest lese ich Stück für Stück. IMO, ich finde, dass der beste Weg, etwas zu lernen, darin besteht, das O'Reilly oder ein ähnliches Papierbuch in die Hand zu nehmen und es zu lesen.

Es kann mehr als einen RFC für ein einzelnes Protokoll geben. Zum Beispiel hat IPv6 10 verschiedene RFC, die nur die Übergangsmechanismen von IPv4 zu v6 betreffen. Es gibt viele andere für Dinge wie die Entdeckung von Nachbarn. SCTP wird ebenfalls von 4 RFC abgedeckt.

Antoine Benkemoun
quelle
Dies ist der Hauptgrund für die Generierung dieser Pakete oder ist dies nur einer der Vorteile? Entspricht dieses Verhalten einem Standard?
user58859
Ich denke darüber nach, "tcp / ip illustriert" anstelle von rfc zu wählen, aber ich bin auch daran interessiert, Aspekte der Protokolle zu programmieren, die nicht in "tcp / ip illustriert" behandelt werden. Also versuche ich etwas besseres zu finden.
user58859
Ja, ich denke, das ist der Hauptgrund. Ich verstehe nicht, warum dieses Verhalten gegen einen Standard verstoßen würde. Ich kann Ihnen leider nicht bei den Programmieraspekten helfen.
Antoine Benkemoun
1
RFCs unterscheiden sich stark in der Qualität. Ich bin sicher nicht der einzige, der Jon Postels vermisst
Javier
5

Dies ist das Standardverhalten, um IP-Konflikte zu vermeiden. Es wird in RFC 5227 IPv4 Address Conflict Detection behandelt. Außerdem können Router und Nachbarn ihre ARP-Tabellen aktualisieren, damit sie mit Ihrem Computer kommunizieren können.

Durch die Frage, wer eine IP-Adresse hat, kann festgestellt werden, ob die IP-Adresse verwendet wird. Auf diese Weise kann der Computer zumindest das Vorhandensein eines Konflikts protokollieren, falls einer vorliegt.

Dieser Mechanismus ermöglicht es einem Computer, die automatische IP-Adresskonfiguration zu verwenden, um mit dem Adressblock 169.254.0.0/16 zu arbeiten. Computer generieren eine Adresse in diesem Bereich und verwenden dann APR, um festzustellen, ob sie verfügbar ist. Wenn nicht, versuchen sie es mit anderen Adressen, bis sie eine verfügbar finden. Da die Netzwerke normalerweise klein sind und der Adressbereich über 65000 Adressen umfasst, können sie schnell eine Adresse finden.

Das arpwatchDienstprogramm erstellt eine Datenbank basierend auf den Arp-Nachrichten, mit denen Administratoren benachrichtigt werden können, wenn die Adresse in Konflikt steht oder auf neue Hardware verschoben wird.

BillThor
quelle
Danke für die Antwort. Sobald ich weiß, dass es mehr als einen RFC für ein Protokoll aus der obigen Antwort von Antoine Benkemoun geben kann, habe ich den RFC 5227 und 5494 studiert. Jetzt habe ich alles verstanden.
user58859
Hinweis zu arpwatch: Wenn in DHCP-Umgebungen verwendet, wird jede Änderung der DHCP-Adresse in den Protokollen markiert. Dies führt zu sehr viel Rauschen bei sehr geringem Signal.
Mei
In vielen DHCP-Umgebungen sind Adressen effektiv statisch, und ich habe sie in solchen Umgebungen mit wenig Rauschen verwendet. Es ist jedoch eine gute Idee, keine Warnungen in Gastnetzwerkbereichen zu generieren. Arpwatch kann entsprechend konfiguriert werden.
BillThor