你没有指定哪个操作系统,但我至少可以为Linux发言:

它可能在你的内核,网卡和驱动程序以及ethtool版本。

我们需要告诉驱动程序/硬件做两件事情,通常不这样做:1)将FCS字段传递给网络堆栈。 (通常在传递之前被截断)2)不丢弃具有不良FCS字段的分组,而是按原样传递它们

有两个ethtool选项来实现每个这些:

ethtool -K eth0 rx-fcs on #1 above: give us the FCS field ethtool -K eth0 rx-all on #2 above: even receive bad packets

有了这些,我可以使用wireshark或tcpdump来查看FCS字段,即使它们不正确。 (在我的情况下,我有一些网络设备,用一个准确的时间戳即时替换校验和 – 这会导致数据包出现“坏”,我使用上述恢复)

不是所有的卡都能实现这个! 他们可能有上述ethtool选项“固定”或不响应。

在1G速度下,我看到e1000卡运行良好。 在10G的时候,我还没有找到一个可以做到这一点的网卡,而且必须依靠更复杂的数据采集卡。

再次,我不知道最低内核/ ethtool版本的要求是什么,但我记得要升级一个CentOS服务器,以使其工作。

我也知道,r8169和e1000驱动程序/卡可以做到这一点,但不能说任何其他组合。

另外请注意,您将无法在发送它们的计算机上捕获传出的FCS值,因为它们在进程中添加得相当晚(可能已卸载到卡本身),因此pcap无法看到。

在Linux 3.10.11内核上,使用ethtool 3.10:

$ ethtool -k eth0 Features for eth0: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: on tx-tcp-segmentation: on tx-tcp-ecn-segmentation: off [fixed] tx-tcp6-segmentation: on udp-fragmentation-offload: off [fixed] generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: on highdma: on [fixed] rx-vlan-filter: on [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] tx-gre-segmentation: off [fixed] tx-udp_tnl-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: on loopback: off [fixed] rx-fcs: off rx-all: off tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed]

接着:

$ sudo ethtool -K eth0 rx-fcs on rx-all on

给我:

$ ethtool -k eth0 Features for eth0: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: on tx-tcp-segmentation: on tx-tcp-ecn-segmentation: off [fixed] tx-tcp6-segmentation: on udp-fragmentation-offload: off [fixed] generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: on highdma: on [fixed] rx-vlan-filter: on [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] tx-gre-segmentation: off [fixed] tx-udp_tnl-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: on loopback: off [fixed] rx-fcs: on rx-all: on tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed]

linux端口 fcs校验,我如何接收错误的以太网帧并禁用CRC / FCS计算?相关推荐

  1. linux端口 fcs校验,linux – 如何接收错误的以太网帧并禁用CRC / FCS计算?

    您没有指定哪个操作系统,但我至少可以代表Linux: 它可能在您的内核,NIC和驱动程序以及ethtool版本上. 我们需要告诉驱动程序/硬件做两件通常不会做的事情: 1)将FCS字段传递到网络堆栈. ...

  2. Linux 端口号占用如何处理

    在Linux中,可以使用以下命令来查看端口号的占用情况: sudo netstat -tlnp 该命令会列出当前所有正在使用的端口号以及占用该端口号的进程的信息. 如果需要释放某个端口号,可以使用以下 ...

  3. Linux端口查看及常见Linux端口说明

    Linux端口查看及常见Linux端口说明 现在各行业对服务器安全管理特别严格,不管是内网服务还是公网对外开放端口,都要经过严格的安全扫描. 常见linux服务器端口启用查询命令: 该命令可列出系统正 ...

  4. Linux网络协议栈:网络包接收过程

    目录 一 Linux网络收包总览 二 Linux启动 2.1 创建ksoftirqd内核线程 2.2 网络子系统初始化 2.3 协议栈注册 2.4 网卡驱动初始化 2.5 启动网卡 三 迎接数据的到来 ...

  5. crc 校验错误_资深工程师:图说CRC原理应用及STM32硬件CRC外设

    在嵌入式产品应用中,常常需要应对系统数据在存储或者传输过程中的完整性问题.所谓完整性是指数据在其生命周期中的准确性和一致性.这些数据可能存储在EEPROM/FLASH里,或者基于通信协议进行传输,它们 ...

  6. linux端口是什么服务,LINUX的端口和服务有什么关系

    一般的话是只有那些需要连接网络(包括局域网)的服务才会用到端口.而如果存在一个端口,那么就一定是对应有一个服务开启了这个端口,并且会在某些时刻使用它进行通信.下面学习啦小编为大家分享LINUX端口和服 ...

  7. linux dnf装oracle,linux上安装Oracle 包括常见安装错误(centos8.1,oracle linux8,redhat 8)通过...

    linux上安装Oracle 包括常见安装错误(centos8.1,oracle linux8,redhat 8)通过 谨记 关闭操作系统之前先关闭oracle数据库 oracle用户登录,执行lsn ...

  8. linux端口混杂模式,linux 端口混杂模式简介~

    linux 端口混杂模式简介~ 设置端口混杂模式: ifconfig eth0 promisc 设置混杂 ifconfig eth0 -promisc 取消混杂 网卡工作模式有 4 种, 分别是: 广 ...

  9. 如何对linux镜像md5,Linux系统如何校验SHA1和MD5

    Linux系统如何校验SHA1和MD5?HA1和MD5都是可唯一确定文件的重要标志,只有SHA1或者MD5值一致才能保证下载到的文件是正确的.下面跟着学习啦小编来一起来了解下吧. Linux系统校验S ...

最新文章

  1. “星链”或成美军未来作战理念新载体
  2. 手机验证码倒记时函数
  3. python 创建目录_Python虚拟环境的搭建与使用
  4. python之sys模块【获取参数】
  5. 【JavaScript】JS事件机制学习
  6. ExtJs 备忘录(4)—— Form表单(四) [ 数据提交 ]
  7. 提前批无笔试,3天后截止!!字节跳动智能创作实验室-图像团队2022秋招提前批投递...
  8. 技本功丨甲方大人来了之运维数据分析平台搭建实战
  9. 不设置DIV的宽高,让它相对于页面水平垂直居中
  10. python企业微信特定用户_python3调用企业微信api!开发一款属于自己的企业微信...
  11. keepalived + web高可用集群实现主从模型、双主模型配置
  12. ATTCK实战系列一(内网渗透入门)
  13. JVM 核心技术 22 讲
  14. JS中更改样式属性或者更改类名
  15. linux 命令详解 大于号_shell重定向(大于号,小于号,左右,21,)
  16. Ajax上传文件(视频),并获取上传进度、上传速度和剩余时间。
  17. 淘宝【高佣卷】、【精品券】、【详情图片】
  18. CF949D Curfew 贪心
  19. 程序员如何培养第二技能?
  20. Js 高德地图SDK

热门文章

  1. .NET Core实战项目之CMS 第十一章 开发篇-数据库生成及实体代码生成器开发
  2. 为什么要使用Entity Framework
  3. ASP.NET Core 中的 ORM 之 Dapper
  4. 使用.NetCore 控制台演示 熔断 降级(polly)
  5. .NET Core开发日志——Middleware
  6. 微软也加入FB开放计算项目 发布交换机操作系统
  7. rest_framework08:分页器/根据ip进行频率限制
  8. powershell /遍历/psobject/字符串转换Json/json数组操作
  9. WPF 用代码实现WrapPanel右侧自动对齐(解决多余空白问题)
  10. Android之BaseRecyclerViewAdpater(3.0.4版本)当页面第二次滑到底部的时候没有触发OnLoadMoreListener监听的onLoadMore函数