我正在设计一种使用以太网连接到计算机的设备。它已经内置了一个 mac 控制器。当我连接设备时,发生的只是计算机广播一堆 DHCP 发现数据包和一些其他数据包,我猜是为了尝试找到设备并建立连接。我认为我需要让我的设备此时响应某种确认数据包,但我不确定是什么?以前有人做过这样的事情吗?谢谢

我正在使用wireshark来查看数据包。输出看起来像这样:

     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>
有帮助吗?

解决方案

如果您的计算机广播DHCP数据包,那是因为它需要一个DHCP服务器获得一个地址。它的的寻找你的设备。你把电脑关闭主网络,并与您的设备把它挂在专用网络上?

您的计算机完全不了解您的嵌入式设备,也不会尝试,使与它的连接。你需要做的第一件事就是决定哪些连接会做,然后写或获取软件来创建连接。通常情况下,嵌入式设备将创建一个服务器套接字,并等待客户端(你的电脑)连接到它。 Telnet是一个客户机/服务器的TCP连接的一个实例。

这是从您的文章,你不确定你的嵌入式设备是做明显。您需要更详细地说明你的嵌入式设备,它应该如何运作。

其他提示

它看起来像正在发生的事情是,你的设备正在试图获得从DHCP服务器获取IP号码,但没有DHCP服务器响应。

编辑:我说,这是该设备,因为如果我读的痕迹吧,你的电脑已经有一个IP地址。这可能是有益的了解基本的以太网帧 - 我相信Wireshark的让你做到这一点。

"动态主机配置协议 发现”意味着您的 PC 正在向连接到以太网链路的任何设备询问它可以使用的 IP 地址。显然您的设备不是 DHCP 服务器。相反,作为第一步,您应该同时分配您的电脑和设备 静态IP地址, ,最好来自 私有IP范围 例如 192.168.x.x。

如果您的设备可以正常工作 IP协议栈, ,然后它应该回答 ping.

你可以忽略 BROWSER 和 NBNS 数据包. 。这只是 Windows 试图与另一个 Windows 通信。

更正:目前尚不完全清楚哪个设备广播 DHCP Discover,它很可能是您的 PC,但也可能是该设备(如果它有内置 DHCP 客户端)或同一以太网链路上的任何其他设备。您需要包括 MAC地址 可以肯定的是,在 Wireshark 转储中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top