我正在尝试按照https://alexanderhoughton.co.uk/blog/connecting-to-raspberry-pi-direct-to-pc-via-ethernet/- 简而言之,它说:
- Raspberry Pi 已通过网线将其以太网端口连接到 Windows PC 以太网端口
- 将 Windows 以太网适配器设置为静态 IP 地址;该页面使用 192.168.111.1,子网掩码为 255.255.255.0
- 打开https://pjo2.github.io/tftpd64/,仅启用 DHCP 服务器,将其默认路由器设置为之前的 192.168.111.1,IP 池起始地址为 192.168.111.10,池大小为 10,掩码再次为 255.255.255.0
- “点击确定后,我等了一会儿,直到 Pi 自动分配了一个 IP 地址“
有趣的是,我第一次在 Windows 10 笔记本电脑上尝试此过程时,它立即起作用了;我当时就觉得“是的”
几天后我尝试了一下,一开始并没有用,然后我尝试在 Windows PC 上使用 Wireshark 进行扫描/捕获(仅在以太网适配器上),插拔网线几次 - 最后它又开始工作了。
然后我今天尝试了一下,但就是不起作用,无论我重新启动/拔掉多少次电源。
因此,问题是tftpd64
DHCP 服务器根本没有报告任何 DHCP 活动,并且 Raspberry Pi 没有分配 IP 地址(即使我可以通过 Windows PC 以太网端口的绿色和橙色 LED 看到一些活动)。
这诡异的问题是,如果我首先启动tftpd64
DHCP 服务器,等待几分钟以确认没有响应,然后我启动 Wireshark,这样它就会与tftpd64
DHCP 服务器同时运行 - Wireshark做从 Raspberry Pi 报告 DHCP DISCOVER 消息/数据包,没问题!?(并且 Wireshark 甚至没有通过用户访问控制/UAC 请求提升/管理权限)?
因此,问题是这些 DHCP DISCOVER 数据包显然从未到达tftpd64
DHCP 服务器软件;我根本找不到出现这种情况的原因(尤其是因为 Wireshark 可以看到相同的数据包)。
Windows PC 上已启用 Windows Defender 防火墙 - 但自从我第一次看到此过程有效以来,我还没有禁用或更改它。无论如何,Windows tftpd64
Defender 的允许应用程序列表中的条目在私有网络和公共网络上都是允许的(当 Raspberry Pi 连接时,Windows 会报告未识别的网络,并将其视为来宾或公共网络);在 Windows Defender 防火墙的入站规则中,tftpd64
所有端口(TCP 和 UDP)都允许。(但同样,我第一次看到该过程有效时,Windows Defender 防火墙似乎没有干扰,从那时起我自己就没有更改过它)。
(奇怪的是,Windows Defender 防火墙中没有 Wireshark 程序的条目 - 可能是因为它使用自己的驱动程序来捕获网络流量?!)
因此,我的问题是 - 到达这台 Windows 10 PC 的 DHCP DISCOVER 数据包(已确认在 Wireshark 中可见)无法传播到类似软件的原因可能是什么tftpd64
?我究竟该如何开始调试这种问题?我有什么办法可以解决这个问题?
(由于不是网络专家,当我遇到类似(虽然回想起来,更容易)的网络问题时,我通常只是启动 Wireshark,并最终在其日志中追踪错误;但在这种情况下,Wireshark 报告一切正常,并且我期望的数据包确实到达了 Windows PC - 而tftpd64
没有看到这些数据包并且没有对这些数据包做出反应?)