Wireshark抓不到包的解决方法

背景描述 :最近在进行带有网口功能的FPGA编程,数据包的封装过程由FPGA完成,FPGA通过10G网线与一台服务器相连。在调试过程中,通过服务器上的Wireshark抓包来看包的内容是否正确。

问题描述: 可以确定数据包已被发送方发出,而接收方的Wireshark无法抓取到数据包

解决方法
1、如果所发包的目的地址不是接收方的IP,那么需要开启混杂模式。通过下图的流程开启混杂模式即可:

  • 点击设置按钮:
    在这里插入图片描述
  • 勾选开启混杂模式:
    在这里插入图片描述

2、确保数据包的正确
首先需要知道的是,Wireshark可以接收到IP头和UDP头的校验和错误的数据包。但是并不是说数据包头随便写都能被Wireshark抓到

网卡检查以太网帧并解开帧头、帧尾,再向上层递交数据包。如果以太网帧的前导码、长度、CRC校验出错都会导致网卡丢帧。

其中前导码即为7字节0x55和1字节d5构成CRC校验采取CRC-32的校验方式;以太网帧长并没有显式的表示,但是在以太网帧的开头和结尾都各有一字节的0xfb,其间的长度即为以太网帧长。

我没有收到包的原因即是数据帧长错误,在IP头中有一个字段用于表示整个包的长度(IP头及IP数据),而以太网帧头为固定14字节,所以说数据帧长需要与IP头数据长度和UDP头数据长度对应。

总的来说,当包的结构正确时,网卡或者Wireshark可以正确解析出每一个字段的意义,所以当可以确定发送方已发出包,而接收方没有收到时,需要确认一下数据包每个字段的内容是否正确

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值