如何判断接收数据的源IP和MAC地址是哪一个?

网络工程 ipv4 MAC地址 arp IP地址 线鲨
2021-08-02 06:23:12

我必须使用已经运行其他人编写的代码的 FPGA 模块。我无法访问 FPGA 代码。

现在的设置是这样的:-

  • FPGA 通过以太网电缆连接到 PC。
  • PC 还通过不同接口卡上的以太网电缆连接到互联网。(电脑上安装了2个网卡)

一旦 FPGA 模块打开,它就会与 PC 建立连接并开始以 UDP 数据报的形式发送读数/数据。我对数据很感兴趣。

因此,为了了解 UDP 数据包的帧结构,我运行了 Wireshark。该特定以太网卡上所有接收到的数据包的输出如下所示。

在此处输入图片说明

hfmajestrix.local 是我的电脑,它有一个静态 IP。

有人可以解释我在第四个数据包中来自我的电脑的 ARP 请求之后发生了什么吗?

PC 发送 ARP 请求以了解哪个节点的 IP 为 169.254.37.110。ARP 响应在哪里?

另外,当没有路由器连接到电脑并且电脑要求 IP 169.254.37.110 时,IP 192.168.10.150 来自哪里?

ARP 数据包的详细信息:- 在此处输入图片说明

IGMP成员报告的详细信息:- 在此处输入图片说明

3个回答

有人可以解释我在第四个数据包中来自我的电脑的 ARP 请求之后发生了什么吗?

这是已注册的 mDNS 多播组 ( 224.0.0.251)的多播 IGMP 加入,请参阅IANA IPv4 多播地址空间注册表)。

粉红色(洋红色?)突出显示的数据包是用于邻居发现的 IPv6 多播数据包。请参阅RFC 4861,IP 版本 6 (IPv6) 的邻居发现

PC 发送 ARP 请求以了解哪个节点的 IP 为 169.254.37.110。ARP 响应在哪里?

看起来它正在使用本地链路寻址 ( 169.254.0.0/16)来配置自己,并且它正在根据RFC 3927,IPv4 链路本地地址的动态配置执行重复地址检测无响应意味着没有重复地址,主机可以自由使用该地址。

当没有路由器连接到电脑并且电脑要求 IP 169.254.37.110 时,IP 192.168.10.150 来自哪里?

那是这些数据包的源地址,这些数据包被发送到192.168.10.0/24网络的广播地址除了源地址之外,我们没有足够的信息来告诉您这些数据包的来源。


顺便说一句,您不能将数据包路由到/从链路本地地址。这是 RFC 明确禁止的,因此如果您需要这样做,那么您需要配置正确的寻址。

源地址和/或目标地址在 169.254/16 前缀中的 IPv4 数据包不得发送到任何路由器进行转发,并且任何接收此类数据包的网络设备不得转发它,无论 IPv4 标头中的 TTL 是多少。

我必须使用已经运行其他人编写的代码的 FPGA 模块。

前 8 条消息与 FPGA 无关;所有这些似乎都是由PC传输的,每当网卡检测到有任何连接时,PC总是传输这些消息

hfmajestrix.local 是我的电脑,它有一个静态 IP。

您感兴趣的 ARP 数据包以及第二个数据包 (DHCP) 的存在让我怀疑。如果网卡没有固定的 IP 地址,这些数据包是典型的。

您的 PC 中有两个网卡。注意如果一台PC有多个网卡,每个网卡都有自己的IP地址!

你确定你用来连接FPGA的网卡有固定的IP地址吗?

当 pc 请求 IP 169.254.37.110 时?

您在此处看到的是“APIPA”(请参阅​​ Ron Maupin 回答中的链接),如果网卡没有固定 IP 地址并且 DHCP 也失败,则使用它:

PC 使用 169.254.xx.xx 范围内的随机 IP 地址并发送一个 ARP 数据包只是为了检查该地址是否已被使用......

ARP 响应在哪里?

...如果没有 ARP 响应,PC 就知道该地址未被使用并使用该地址。

另外,IP 192.168.10.150 来自哪里......?

显然,FPGA 上的代码被编译为使用固定 IP 地址 192.168.10.150。它向网络 192.168.10.xx 中的所有计算机广播 UDP 数据包。

如果您想与 FPGA 通信,您必须为网卡提供 FPGA 连接到 192.168.10.xx 范围内的固定 IP 地址(当然不是 192.168.10.150)。

然而,不知道 FPGA 使用的协议这将很难......

另外,当没有路由器连接到电脑并且电脑要求 IP 169.254.37.110 时,IP 192.168.10.150 来自哪里?

如果 NIC 直接连接到 FPGA 或通过(简单)交换机连接到没有其他节点的连接,则源必须是 FPGA。

然而,UDP 端口 5050多媒体会议控制可能会指示该链路上的一个杂散节点 - 或者 FPGA 只是使用这个未注册的端口号。检查源 MAC 地址以获取有关源的详细信息。如果管理型交换机连接该网段,您可以检查源端口的 MAC 表。