TCP是我们实际工作中最常用到的传输层协议,同时TCP协议的配置选项比较多,配置选项勾选的差异,会直接导致我们看到wireshark数据包的显示的效果,本文章意在详细解释一下TCP协议的配置选项的每个参数的含义和作用。

文章目录

  • 1,TCP配置首选项
  • 2,tcp协议配置参数
  • 3,tcp协议参数配置选项影响举例
    • 1,分片重组举例
    • 2,tcp序列号分析举例
    • 3,tcp序号分析对分片重组影响举例
    • 4,相对和绝对序列号参数举例

1,TCP配置首选项

  • 编辑>>配置首选项>>protocols或者ctrl+shift+P>>protocols,找到tcp协议配置部分

2,tcp协议配置参数

上面截图实际和下面配置文件参数名一 一对应。

# Whether the TCP summary line should be shown in the protocol tree
# TRUE or FALSE (case-insensitive)
#tcp.summary_in_tree: TRUE
#tcp概要信息行是否显示在协议树种,这个配置选项通常勾选。# Whether to validate the TCP checksum or not.  (Invalid checksums will cause reassembly, if enabled, to fail.)
# TRUE or FALSE (case-insensitive)
#tcp.check_checksum: FALSE
#tcp层是否做checksum校验# Whether subdissector can request TCP streams to be reassembled
# TRUE or FALSE (case-insensitive)
#tcp.desegment_tcp_streams: TRUE
#控制tcp流中分片的数据包wireshark的子解析器是否进行重组,如果配置成开启,
wireshark会尝试对分片的tcp流进行重新组装,这样可以看到完整的信息。如果不勾选可能
会看到wireshark的提示报错信息“[BoundError Unreassembled Packet: HTTP2]”# Whether out-of-order segments should be buffered and reordered before passing it to a subdissector. To use this option you must also enable "Allow subdissector to reassemble TCP streams".
# TRUE or FALSE (case-insensitive)
tcp.reassemble_out_of_order: TRUE
#对于乱序的分片,在wireshark 子解析器中是否进行缓存并进行重新排序,该选项与tcp.desegment_tcp_streams参数
配合使用,如果不开启这个参数,对于乱序的tcp分片将无法进行重组。# Make the TCP dissector analyze TCP sequence numbers to find and flag segment retransmissions, missing segments and RTT
# TRUE or FALSE (case-insensitive)
tcp.analyze_sequence_numbers: FALSE
#是否让wireshark tcp解析器去分析tcp序列号,找出并标记重传分片,丢失分片以及RTT时间。tcp序列号是tcp协议最重
要的机制,也是tcp协议最复杂的机制,其他好多参数功能都依托tcp序列号的分析。开启后可能看到数据包以下子变成
了一片红,所以如果不分析重传,丢包等技术问题,可以选择关闭。关闭后与之相关的参数功能也相当于关闭。
相关参数功能:
tcp.relative_sequence_numbers
tcp.track_bytes_in_flight
实际对tcp.desegment_tcp_streams参数也有一定影响,后面举例3中可以看到具体的影响。# Make the TCP dissector use relative sequence numbers instead of absolute ones. To use this option you must also enable "Analyze TCP sequence numbers".
# TRUE or FALSE (case-insensitive)
#tcp.relative_sequence_numbers: TRUE
#开启此参数,tcp解析器用tcp相对序列号代替绝对序列号,绝对序列号是真是的序列号,比较大。相对序列号,从1开始,详细影响看举例4.记得这个参数依托于tcp序号分析,如果不开tcp序号分析,这个参数开启也没有实际意义。# Make the TCP dissector use this scaling factor for streams where the signalled scaling factor is not visible in the capture
# One of: Not known, 0 (no scaling), 1 (multiply by 2), 2 (multiply by 4), 3 (multiply by 8), 4 (multiply by 16), 5 (multiply by 32), 6 (multiply by 64), 7 (multiply by 128), 8 (multiply by 256), 9 (multiply by 512), 10 (multiply by 1024), 11 (multiply by 2048), 12 (multiply by 4096), 13 (multiply by 8192), 14 (multiply by 16384)
# (case-insensitive).
tcp.default_window_scaling: 14 (multiply by 16384)
#如果抓包滑动窗口不可见,使用默认的滑动窗口,该配置一般不进行更改,保持勾选即可。# Make the TCP dissector track the number on un-ACKed bytes of data are in flight per packet. To use this option you must also enable "Analyze TCP sequence numbers". This takes a lot of memory but allows you to track how much data are in flight at a time and graphing it in io-graphs
# TRUE or FALSE (case-insensitive)
#tcp.track_bytes_in_flight: TRUE
#tcp解析器是否track未确认数据bytes的数量,该参数也依托于tcp序号分析,该参数也不常用,一般保持默认。# Evaluate BiF on actual sequence numbers or use the historical method based on payloads (default). This option has no effect if not used with "Track number of bytes in flight".
# TRUE or FALSE (case-insensitive)
#tcp.bif_seq_based: FALSE
#和上面tcp.track_bytes_in_flight配合使用# Calculate timestamps relative to the first frame and the previous frame in the tcp conversation
# TRUE or FALSE (case-insensitive)
#tcp.calculate_timestamps: TRUE
#是否计算数据帧相对第一个和前一个数据帧的时间间隔,对分析时延可能有意义。# Try to decode a packet using an heuristic sub-dissector before using a sub-dissector registered to a specific port
# TRUE or FALSE (case-insensitive)
tcp.try_heuristic_first: TRUE
#使用heuristic子解析器解码数据包在使用使用子解析器注册特定端口之前,暂时没了解此配置的实际意义。# Do not place the TCP Timestamps in the summary line
# TRUE or FALSE (case-insensitive)
#tcp.ignore_tcp_timestamps: FALSE
#在summary中忽略 Timestamps行,暂时没发现实际使用意义。# When interpreting ambiguous packets, give precedence to Fast Retransmission or OOO
# TRUE or FALSE (case-insensitive)
#tcp.fastrt_supersedes_ooo: TRUE
#解析不明确的数据包时,优先使用快速重传或者乱序重传。# Do not call any subdissectors for Retransmitted or OutOfOrder segments
# TRUE or FALSE (case-insensitive)
#tcp.no_subdissector_on_error: TRUE
#不调用任何子解析器for 重传和乱序分片# Assume TCP Experimental Options (253, 254) have a Magic Number and use it for dissection
# TRUE or FALSE (case-insensitive)
#tcp.dissect_experimental_options_with_magic: TRUE# Collect and store process information retrieved from IPFIX dissector
# TRUE or FALSE (case-insensitive)
#tcp.display_process_info_from_ipfix: FALSE

3,tcp协议参数配置选项影响举例

1,分片重组举例

tcp.desegment_tcp_streams true+tcp.reassemble_out_of_order ture
分片即使存在乱序,分片依然可以被重组。


tcp.desegment_tcp_streams true+tcp.reassemble_out_of_order false
分片存在乱序,分片无法被重组。

2,tcp序列号分析举例

analyze_sequence_numbers: FALSE
false时不会显示乱序,重传,丢包等信息

analyze_sequence_numbers: true
true时会看到一片红,不过如果需要分析乱序,丢包和重传时还是需要打开的。

3,tcp序号分析对分片重组影响举例

tcp.desegment_tcp_streams true+tcp.reassemble_out_of_order ture+analyze_sequence_numbers: true
重组比较完全,将全部接收的20个包含乱序分片进行了重组。

tcp.desegment_tcp_streams true+tcp.reassemble_out_of_order ture+analyze_sequence_numbers: false
进行了2次不完全重组,实际无法看到完整的全局分片内容,如果要查看分片重组内容时,可以尝试将tcp序号分析打开,否则即使开启了分片重组相关的2个参数,也无法获取到完整的重组内容。

4,相对和绝对序列号参数举例

tcp.relative_sequence_numbers: false
tcp序列号比较大,不利于做数据包乱序,丢包,重传的分析。

tcp.relative_sequence_numbers: TRUE+analyze_sequence_numbers: true
序列号从1开始,分析乱序,重传,丢包看着较为友好。

wireshark TCP协议首选项配置详解相关推荐

  1. TCP协议全面实验分析详解

    目录 ☀️| 一.实验目的 ☀️| 二.实验环境 ☀️| 三.实验原理 ☀️| 四.实验内容 ⭐️练习1--页面访问 ⭐️练习2--页面提交 ⭐️练习3--获取页面信息 ☀️| 五.实验结果 ⭐️练习 ...

  2. MPLS协议原理与配置详解

    多协议标签交换MPLS(Multiprotocol Label Switching ),MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路 ...

  3. ajp协议服务器端如何配置,详解Tomcat HTTP协议与AJP协议

    [IT168评论]Tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管 ...

  4. creo配置文件config选项详解_5年资深架构师重点聚焦:SpringBoot的配置详解+内嵌Servlet容器

    Spring Boot的配置详解 在本节中,我们将重点聚焦在Spring Boot的配置方面. 理解Spring Boot的自动配置 按照"约定大于配置"的原则,Spring Bo ...

  5. SpringBoot的配置详解application

    SpringBoot的配置文件application有两种文件格式,两种配置的内容是一致的,只是格式不一致. 1.application.properties 2.application.yml或者a ...

  6. [精华]世界顶级防火墙LooknStop配置详解

    世界顶级防火墙LooknStop配置详解 作者:小金 一. 难以驯服的烈马:LooknStop     http://ike.126.com 网络防火墙的选择一直是众多用户最头痛的问题,放眼看看现在的 ...

  7. Tacacs-服务搭建与配置详解

    其他文章: Tacacs+协议原理 Tacacs+服务搭建与配置详解 Tacacs+各厂商交换机配置 Tacacs+协议交互报文抓包示例 简介 tac_plus是TACACS +守护程序.它为网络设备 ...

  8. sshd_config配置详解

    sshd_config配置详解 名称sshd_config - OpenSSH SSH 服务器守护进程配置文件大纲/etc/ssh/sshd_config描述sshd(8) 默认从 /etc/ssh/ ...

  9. vscode中setting.json配置详解

    vscode中的setting.json配置文件配置详解 话不多说上配置文件 大家按需复制到自己的setting.json配置文件中即可 [{// 控制是否在编辑器中显示 CodeLens." ...

  10. Redis 3 配置详解

    注:转载请注明出处o(^▽^)o Redis就不多介了,博客中有更多Redis教程. 本文会总结Redis的整个配置,并附上示例. 概述 Redis可以在没有配置文件的情况下通过内置的配置来启动,但是 ...

最新文章

  1. LRU算法 -- 链表 完整实现
  2. 需要注意变量作用域的使用
  3. 题目1168:字符串的查找删除
  4. HDU 3926 图的同构
  5. 0902 - Preferences Permission
  6. 给element-ui的steps加点击事件
  7. 简明Vim练级攻略(转载)
  8. 声网纳斯达克上市、TikTok推出TikTok For Business、亚马逊推出无代码应用| Decode the Week...
  9. 备份数据库的expdp语句_Oracle中利用expdp/impdp备份数据库的使用说明
  10. HIbernate的三种状态
  11. js实现QQ、微信、新浪微博分享功能
  12. 文件共享服务器imac,iMac怎么在网络上共享设备windows文件夹和服务 | MOS86
  13. 数论考试题(b) 求约数的约数的最大个数
  14. Spring Boot+JPA 查询数据方式与代码演示
  15. 与吴恩达并肩战斗,她是颜值爆表的 AI 科学家!
  16. 【PostgreSQL-9.6.3】事件触发器
  17. android学习之ListView如何使用
  18. 全国所有省份、城市的JSON
  19. [OGeek2019 Final]OVM(简易虚拟机逃逸)
  20. YYYY-MM-dd和 yyyy-MM-dd的区别

热门文章

  1. Hyper-V虚拟机安装win10系统 2021-10-16
  2. 中国芯绝配:普华推全新龙芯3A3000操作系统
  3. AV1代码学习:av1_encode_strategy、denoise_and_encode、av1_encode函数
  4. 计算机系统重装微pe步骤
  5. c++中string 各种函数的函数用法
  6. Springboot版本的WebSocket向app端推送消息实现
  7. 都说谷歌浏览器好用,网页翻译插件必不可少
  8. MBI5020 16位恒流驱动芯片
  9. (七)数字后端之形式验证
  10. 华为鸿蒙内涵,“鸿蒙”两个字有何真意,还得让古人来解读