奇怪的 UDP/TFTP 问题

奇怪的 UDP/TFTP 问题

如果我观察 wireshark 中的流量,我的 TFTP 客户端似乎只能从 TFTP 服务器获得其 RRQ(下载请求)的响应。

如果我关闭 wireshark(在 TFTP 服务器上运行),服务器将不会响应来自客户端的 RRQ。

我无法验证 RRQ 是否到达 TFTP 服务器或者什么(我只是使用 Tftp32d),但我在 wireshark 中看到了 RRQ 数据包...

那么,当我在 wireshark 中观察传输时,从 TFTP 服务器的角度来看有什么不同?

答案1

当您运行 wireshark 时,NIC 将以混杂模式运行,这意味着所有网络数据包都将被接收,即使它不是发送到您的 NIC mac 地址的。

我的建议是将您的 TFTP 服务器和 TFTP 客户端隔离在单独的 LAN 设置中以进行测试。我猜想可能有另一台服务器在同一个网段中运行,可能具有相同的 IP 地址,它会抢先接收您的 TFTP 客户端 RRQ 请求,但不会对其执行任何操作。

当您运行 wireshark 时,所有数据包都会在 TFTP 服务器上接收,因此它能够对客户端请求数据包做出响应,如果它没有以混杂模式运行,它就不会收到该数据包。

附言:我无法在原始帖子中添加评论,这就是我将其发布在这里的原因。

答案2

我遇到了同样的问题,想分享我的经验。混杂模式允许有协议问题的客户端 RRQ 数据包到达目的地(TFTP 服务器)。就我而言,ARP 存在问题,RRQ 的以太网报头使用全零作为目标 MAC。开启混杂模式后,TFTP 服务器可以接收数据包,但关闭后,数据包会因为 MAC 不匹配而被丢弃。

相关内容