【发布时间】:2020-07-05 01:28:34
【问题描述】:
我正在从事 FPGA ETHERNET 项目。我的问题如下:从 FPGA 发送的 UDP/IP 数据包被“wireshark”捕获,它给了我以下警告:“BAD UDP LENGTH 26 > IP PAYLOAD LENGTH Len=18 (Malformed Packet)”。 BAD_UDP_LENGTH(PICTURE)
实际上,我正在尝试发送以下数据包:
55555555555555D598EECB9B6EF400123456789008004500002EB3FE0000801108BDA9FE1504A9FE1503FA00FA00001A45630 00102030405060708090A0B0C0D06E0718
可以看到最后一个字节的数据是11,而“wireshark”没有显示那部分数据。 这部分数据显然是传输的,正如我在示波器上看到的那样。我尝试了不同的以太网数据包生成器(PacketETH、EthernetUDP、C#)的数量,它们都生成了相同的数据包(我认为数据包或数据包生成器没有问题)。此外,我还通过不同的网络监控软件“Omnipeek”捕获了数据包,这给了我与“wireshark”相同的结果:LAST BYTE IS NOT DISPLAYED 如果显示最后一个字节,我认为“wireshark”不会给我那个错误。 有人知道如何解决这个问题吗? 1) 我正在使用Digilent Anvyl FPGA,它具有LAN8720A-CP-TR 收发器。我已经用 VHDL 编写了代码,并在 ISIM 中运行了仿真,这给了我一个正确的结果,具体来说:所有位都以相关值连续发送。此外,我通过Digilent Electronics Explorer探测LAN8720A-CP-TR收发器发送管脚,检查了实际仿真结果 2) 对于以太网数据包生成,我正在使用一个简单的程序,您可以从这里下载 EthernetUDP (fpga4fun.com) 这里是该程序生成的数据包图片 EthernetUDP pictureHere I will give you additional details :
【问题讨论】:
-
好吧,您创建了一个格式错误的数据包。如果我从图像中复制帧数据,我会得到: 0000 98 ee cb 9b 6e f4 00 12 34 56 78 90 08 00 45 00 0010 00 2e b3 fe 00 00 80 11 08 bd a9 fe 15 04 a9 fe 0020 15 03 发 00 发 00 00 1a 45 63 00 01 02 03 04 05 0030 06 07 08 09 0b 0c 0d 0e 0f 10 11 0040
标签: networking udp ip wireshark fpga