【发布时间】:2023-01-27 01:54:31
【问题描述】:
我正在使用 Texas Instruments 入门套件开发嵌入式微控制器硬件。我正在为我的微控制器和 x86 Windows 桌面之间的以太网链路编写固件。
我已经为微控制器和我自己的协议驱动程序编写了自己的以太网驱动程序。所以我可以完全控制哪些数据被传输到微控制器和从微控制器传输出去。到目前为止,我已经设法编写了 ARP、IP 和 ICMP 驱动程序。
我在 Windows 上使用 Wireshark 密切监视所有进出的数据帧。现在,当 Wireshark 正在捕获时,来自控制台的“ping”工作正常,但是当我停止在 Wireshark 上捕获时,我的 ping 失败并显示“无法访问目标主机”。我检查我的微控制器上的日志;我看到 Windows 正在发送 ARP 请求,并且微控制器正在正确回复它们。但是 Windows 中的网络驱动程序正在将它们过滤掉。所以没有发送 ICMP 请求。当我从控制台使用“arp”检查 MAC 表时,我的微控制器在捕获时在列表中,但在不捕获时不在列表中。
可能是什么问题,我该如何调试这个问题? Windows 是否有任何工具/应用程序可以提供有关丢弃/过滤数据包的统计信息?
【问题讨论】:
-
大声笑,为什么反对票?我做错什么了吗?反馈会很好,所以我以后会做得更好。
标签: networking network-programming wireshark ethernet