问题描述:

在使用wireshark抓取报文时,发现从10.81.2.92发过来的报文绝大部分标记为异常报文(开启IPv4和TCP checksum)

分析如下报文,发现http报文(即tcp payload)的长度远远大于实际的mss大小,如下图为4126

  • 查看该报文的ip长度,为4148,远大于Ethernet的mtu

  • 且tcp的校验和有来自wireshark的如下提示,那什么是“TCP checksum offload”呢?

问题解决:

  • 在分析问题前,先给出上述问题答案,在10.81.2.92中关闭抓包的网卡的tso和tx功能.
ethtool -K eth0 tso off
ethtool -K eth0 tx off
  • 重新抓包,发现wireshark显示的报文长度和校验都已经正确

问题分析:

目前很多网卡已经支持IP片以及IP/TCP/UDP等协议的校验和计算,用来减少内核层面的运算(减少CPU负载),当协议层发现网卡支持相应的特性时,会将相应的处理交给网卡操作。如上面提到的校验和,正常情况下,校验和由对应的协议层处理,但在网卡使能情况下会将其推迟到网卡层面处理,网卡处理结束后直接发送,这就是为什么wireshark抓到的报文里面的校验和会提示不正确的原因,同样地,TCP会选择不大于滑动窗口的报文(该报文可能大于MSS),交由网卡去分片处理。使用ethtool -k 命令可以查看网卡支持的特性。

  • rx-checksumming/tx-checksumming:支持接收/发送方向的IP校验和计算;
  • scatter-gather:用于将一个buffer分割为多个小的部分,是实现tcp-segmentation-offload(TSO)的基础;
  • tcp-segmentation-offload(TSO):也被称为large send offload (LSO),用于将TCP按照实际的mss进行分段发送。接收方向的参数为large-receive-offload(LRO),仅支持TCP;
  • udp-fragmentation-offload(UFO):工作方式与tcp-fragmentation-offload类似;
  • generic-segmentation-offload(GSO):工作方式与TSO,UFO类似,但支持所有的网络协议。接受方向的参数为generic-receive-offload(GRO);GSO/GRO和的TSO/LRO的使用参见这篇文档
  • rx-vlan-offload:移除接收到的vlan tag;
  • tx-vlan-offload:对出去的报文加上vlan tag;

 TIPS:

  • 类似地,如果抓UDP报文显示校验和等异常时,可以通过ethtool临时关闭UDP offload功能
  • TSO,UFO,GSO等功能可以提高报文交互能力,关闭会影响报文收发效率
  • 开启网卡的offload功能可能会规避防火墙对如分片攻击的检查

参考:

https://www.kernel.org/doc/Documentation/networking/checksum-offloads.txt

https://access.redhat.com/solutions/288433

解决wireshark抓包校验和和分片显示异常的更多相关文章

  1. Wireshark抓包工具使用教程以及常用抓包规则

    转载:http://fangxin.blog.51cto.com/1125131/735178 Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析, ...

  2. TCP\IP协议实践:wireshark抓包分析之链路层与网络层

    目录 TCP\IP协议实践:wireshark抓包分析之链路层与网络层 从ping开始 链路层之以太网封装 ip首部 开启ping程序,开始抓包 由一个ping的结果引出来的两个协议ARP ICMP ...

  3. Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析

    Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...

  4. wireshark抓包结果很多[TCP Retransmission]怎么办?

    有一同事问用wireshark抓包时发现很多[TCP Retransmission],这些包极大影响了自己真正想看的http数据包,如下图. 我拿到pcapng后首先看到这些包的来源ip都是固定的两个 ...

  5. TCP协议基础知识及wireshark抓包分析实战

    TCP相关知识 应swoole长连接开发调研相关TCP知识并记录. 数据封包流程 如图,如果我需要发送一条数据给用户,实际的大小肯定是大于你发送的大小,在各个数据层都进行了数据的封包,以便你的数据能完 ...

  6. wireshark抓包分析——TCP/IP协议

    本文来自网易云社区 当我们需要跟踪网络有关的信息时,经常会说"抓包".这里抓包究竟是什么?抓到的包又能分析出什么?在本文中以TCP/IP协议为例,简单介绍TCP/IP协议以及如何通 ...

  7. 【计算机网络】wireshark抓包分析1

    学习计算机网络很久了,但总是局限于书本知识,感觉get不到重点.经师兄建议用wireshark抓包分析看看. 我自己以前并没有做过抓包分析,所以这篇博文可能会有很多错误,只是我自己的一个记录,路过的亲 ...

  8. Wireshark抓包分析TCP协议

      版权声明:本文为作者原创文章,可以随意转载,但必须在明确位置表明出处!!! 之前有一篇文章介绍了http协议「初识http协议」, http协议协议是基于tcp协议的,所以作者觉得有必要针对tcp ...

  9. SecureCRT远程ssh linux服务器,利用X11本地图形化wireshark抓包,

    平时学习抓包,使用wireshark很方便,直接图形化界面抓包,近期项目中遇到了需要通过SecureCRT ssh到linux服务器上面,还要在抓包, 1.简单使用网络数据包截获分析工具tcpdump ...

随机推荐

  1. ELK日志系统之kibana的使用操作

    1.ELK日志系统打开后,打开kibana的操作界面,第一步创建索引模式: 第2步:创建日志索引 第3步:创建成功 第4步:查看30分钟时间段内的日志数据,也可以查今天的,今月的,今年的 放牛去

  2. 分库分表的情况下生成全局唯一的ID

    分库分表情况下 跨库的问题怎么解决? 分布式事务怎么解决? 查询结果集集合合并的问题? 全局唯一的id怎么解决? 一般要求:1.保证生成的ID全局唯一,不可重复 2.生成的后一个Id必须大于前一个Id ...

  3. CDA数据分析【数据收集】

    一.机器收集数据 机器收集数据会从不同角度对数据进行抓取和采集,与之前手动收集数据不同,机器收集数据不再是用小样本.特定样本来采集和分析整体数据,而是采用大样本或整体数据进行分析,这打破了原来的数据分 ...

  4. jmeter+jenkins配置过程

    目录 前置条件 脚本规划 讲解非GUI方式运行脚本 在jenkins里面新建项目 在Jmeter的jtl结果文件转换成html页面 邮件.配置 前置条件 1.jmeter安装好并已配置好环境变量,可正 ...

  5. ssh免密登录(公钥私钥)指令

    1.在.ssh目录中执行ssh-keygen -t rsa命令生成两个秘钥,公钥(id_rsa.pub)和私钥(id_rsa) 2.ssh-copy-id -i id_rsa.pub 对方用户名@对方 ...

  6. 适用于Centos6/7,vsftp自动安装脚本

    #!/bin/bash #vsftp install . /etc/rc.d/init.d/functions NUM=`rpm -q centos-release | awk -F '-' '{pr ...

  7. MySQL的rpm安装教程

    Linux 上安装 MySQL Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连接运行在另 ...

  8. 使用async进行结构化并发程序开发

    异步风格的函数: 继续来学习async相关的东东,对于它其实可以用到函数上,也就是用它可以定义一个异步风格的函数,然后在该函数中再来调用普通的函数,下面来瞅一下: 其实“GlobalScope.asy ...

  9. Wpf DataGrid动态添加列,行数据(一)

    由于最近有这方面的需求,而且刚接触wpf不久,在网上找了很多方法,都不是使用MVVM模式的,因为DataGrid的列不能绑定 这就难受了,我想了个折中的方法,这个是使用了MVVMLight的消息机制, ...

  10. 安装elasticsearch+kibana+searchguard

    ---------------------------------安装es的search-guard-------------------------------------------------- ...