Por que meu laptop envia uma solicitação ARP para si mesmo?

7

Acabei de começar a aprender sobre protocolos. Enquanto estudava os pacotes em wireshark, me deparei com uma solicitação ARP enviada pela minha máquina para o meu próprio IP. Aqui estão os detalhes do pacote:

  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)

Aqui o endereço MAC do remetente é meu (Aqui eu escondi meu endereço MAC). O IP alvo é meu. Por que minha máquina está enviando o pedido ARP para si mesmo? Eu encontrei 3 pacotes desse tipo. Não houve resposta ARP para esses pacotes. Alguém pode me explicar porque é? (Meu sistema operacional é windows-7. Estou conectado diretamente a um modem wifi. Recebi esses pacotes assim que iniciei a conexão.)

Eu também quero uma sugestão. Em muitos lugares, li que os RFCs são suficientes para estudos sobre protocolos. Eu estudei o RFC 826 no ARP. Pessoalmente, sinto que isso não é suficiente. Alguma sugestão a respeito disso? Existe mais de 1 RFC para um protocolo? Eu quero estudar sobre os protocolos em detalhes. Alguém pode me guiar por isso? Agradecemos antecipadamente.

    
por user58859 07.01.2011 / 14:47

2 respostas

13

Esse comportamento é uma ótima maneira de encontrar um possível IP duplicado.

Se o seu computador não obtiver resposta, ele será o único com esse IP. Se o seu computador obtiver uma resposta, existe outro computador com o mesmo IP, o que é um problema óbvio.

Em relação aos RFCs, acho horrível ler. Eu só os uso para referência sobre problemas específicos. Eu provavelmente li apenas um do começo ao fim. O resto eu li bits por bits. IMO, acho que a melhor maneira de aprender sobre algo é pegar o O'Reilly ou livro de papel semelhante e lê-lo.

Pode haver mais de uma RFC para um único protocolo. Por exemplo, o IPv6 tem 10 RFC diferentes, apenas no que diz respeito aos mecanismos de transição do IPv4 para o v6. Há muitos outros para coisas como a descoberta do vizinho. O SCTP também é coberto por 4 RFCs.

    
por 07.01.2011 / 15:07
5

Esse é o comportamento padrão para evitar conflitos de IP. É discutido em RFC 5227 Detecção de Conflitos de Endereços IPv4. Ele também permite que roteadores e vizinhos atualizem suas tabelas ARP para que possam se comunicar com seu computador.

Ao perguntar quem tem um endereço IP, é possível determinar se o endereço IP está em uso. Isso permite que o computador registre, pelo menos, a existência de um conflito, se existir.

É esse mecanismo que permite que um computador use a configuração de endereço IP automático para trabalhar usando o bloco de endereço 169.254.0.0/16. Os computadores geram um endereço nesse intervalo e, em seguida, usam o APR para ver se ele está disponível. Se não, eles tentam outros endereços até encontrarem um disponível. Como as redes geralmente são pequenas e a faixa de endereços cobre mais de 65.000 endereços, eles podem encontrar um endereço rapidamente.

O utilitário arpwatch constrói um banco de dados com base nas mensagens arp que podem ser usadas para notificar os administradores se o endereço está em conflito ou estão sendo movidos para um novo hardware.

    
por 07.01.2011 / 18:19