Pergunta

Estou projetando um dispositivo que será conectado a um computador usando Ethernet. Ele já possui um controlador MAC embutido. Quando conecto o dispositivo, tudo o que acontece é que o computador transmite um monte de pacotes DHCP Discover e alguns outros pacotes que acho que na tentativa de encontrar o dispositivo e estabelecer a conexão. Suponho que preciso fazer meu dispositivo responder neste momento com algum tipo de pacotes de reconhecimento, mas não tenho certeza do que? Alguém já fez algo assim antes? Obrigado

Estou usando o Wireshark para ver os pacotes. A saída se parece com o seguinte:

     time       source                 destination       protocol              info
 1 0.000000    0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xc82a69f
 2 4.000064    0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xc82a69f
 3 10.688469   0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xb452266b
 4 14.690625   0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xb452266b
 5 22.690576   0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xb452266b
 6 38.690605   0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xb452266b
 7 62.652821   my_ip                 XXX.XXX.255.255       BROWSER  Local Master Announcement MYLAPTOP, Workstation, Server, Print Queue Server, NT Workstation, Potential Browser, Master Browser
 8 65.555281   my_ip                 XXX.XXX.255.255       BROWSER  Domain/Workgroup Announcement MY, NT Workstation, Domain Enum
 9 352.692192  0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xa23d42a4
10 356.692376  0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xa23d42a4
11 364.692421  0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xa23d42a4
12 381.692442  0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xa23d42a4
13 665.557507  my_ip                 XXX.XXX.255.255       BROWSER  Domain/Workgroup Announcement MY, NT Workstation, Domain Enum
14 686.724951  0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xbe3a7bdb
15 691.724307  0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xbe3a7bdb
16 698.724276  0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xbe3a7bdb
17 715.724291  0.0.0.0               255.255.255.255       DHCP     DHCP Discover - Transaction ID 0xbe3a7bdb
18 783.295682  my_ip                 XXX.XXX.255.255       BROWSER  Local Master Announcement MYLAPTOP, Workstation, Server, Print Queue Server, NT Workstation, Potential Browser, Master Browser
19 908.920831  my_ip                 XXX.XXX.255.255       BROWSER  Get Backup List Request
20 908.920940  my_ip                 XXX.XXX.255.255       NBNS     Name query NB MY<1b>
Foi útil?

Solução

Se o seu computador estiver transmitindo pacotes DHCP, é porque precisa de um servidor DHCP para obter um endereço. Isso é não procurando seu dispositivo. Você tirou o computador da rede principal e o conectou em uma rede privada com seu dispositivo?

Seu computador não sabe nada sobre o seu dispositivo incorporado e não tentará fazer uma conexão com ele. A primeira coisa que você precisa fazer é decidir o que a conexão fará e, em seguida, escrever ou obter software para criar a conexão. Normalmente, o dispositivo incorporado cria um soquete do servidor e aguarda um cliente (seu computador) se conectar a ele. Telnet é um exemplo de uma conexão TCP do cliente/servidor.

É evidente em sua postagem que você não tem certeza do que seu dispositivo incorporado está fazendo. Você precisa elaborar mais sobre o seu dispositivo incorporado e como ele deve funcionar.

Outras dicas

Parece que o que está acontecendo é que o seu dispositivo está tentando obter um número IP de um servidor DHCP, mas não há um servidor DHCP respondendo.

EDIT: Eu digo que é o dispositivo porque, se estou lendo o rastreamento certo, seu computador já possui um número de IP. Pode ser instrutivo olhar para os quadros Ethernet subjacentes - acredito que o Wireshark permite que você faça isso.

"DHCP Descubra "significa que seu PC está pedindo a qualquer dispositivo conectado ao link Ethernet para um endereço IP que ele poderia usar. Obviamente, seu dispositivo não é um servidor DHCP. Em vez disso, como uma primeira etapa, você deve atribuir seu PC e seu dispositivo Endereços IP estáticos, de preferência do intervalos de IP privados Como 192.168.xx

Se o seu dispositivo tiver um funcionamento Stack IP, então deve responder a pings.

Você pode ignorar o Pacotes de navegador e NBNS. Isso é apenas o Windows tentando conversar com outra janela.

Correção: não está completamente claro, qual dispositivo transmite o DHCP Discover, provavelmente é o seu PC, mas também pode ser o dispositivo (se tiver um dhcp-cliente interno) ou qualquer outro dispositivo no mesmo link Ethernet . Você precisa incluir o Mac abremia no dump wireshark, com certeza.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top