当前位置: 首页 > news >正文

湛江网站seo推广18款禁用网站app入口

湛江网站seo推广,18款禁用网站app入口,做设计任务的网站,wordpress修改后台地址前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…

前言

默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可以通过 “Analyze TCP sequence numbers” TCP 解析首选项启用或禁用此功能。

TCP 分析展示

在数据包文件中进行 TCP 分析时,关于 “TCP Retransmission” 一般是如下显示的,包括:

  1. Packet List 窗口中的 Info 信息列,以 [TCP Retransmission] 黑底红字进行标注;
  2. Packet Details 窗口中的 TCP 协议树下,在 [SEQ/ACK analysis] -> [TCP Analysis Flags] 中定义该 TCP 数据包的分析说明。

考虑到 TCP 乱序、重传场景的复杂性,专家信息在重传的判断上,前面都会有一个(suspected),表示疑似,说明并不是百分百正确。

TCP Retransmission 定义

文档中关于 TCP Retransmission 的定义看起来简单,但实际考虑到 TCP 乱序、重传场景的复杂性,在 TCP 分析中对于 TCP Retransmission 是与 TCP Spurious RetransmissionTCP Fast RetransmissionTCP Out-Of-Order 等在一起判断标记乱序或重传类型,而在不少场景还会有判断出错的问题,当然 Wireshark 考虑到这种情况,也有手动修正的选项,这正好也侧面证明了上面的说法,关于 TCP 乱序、重传的复杂性。

TCP Retransmission 的定义如下,当以下所有条件都为真时设置:

  • 不是 Keep-Alive 数据包
  • TCP 段大小大于零或设置了 SYN/FIN
  • 同方向之前下一个期望的 Seq Num 大于当前数据包的 Seq Num
Set when all of the following are true:This is not a keepalive packet.
In the forward direction, the segment length is greater than zero or the SYN or FIN flag is set.
The next expected sequence number is greater than the current sequence number.

具体的代码如下,总的来说这段代码是 Wireshark 中 TCP 分析模块的一部分,用于检测和标识 TCP 数据包中的各种重传类型。它的主要功能是根据当前数据包的序列号、长度、标志位以及之前收到的 TCP 数据包的信息,判断当前数据包是否属于重传,如果是则进一步确定它属于哪种重传类型。

根据分析 TCP 数据包的各种特征,对重传数据包进行分类,有助于更好地理解 TCP 连接中的重传行为,对于诊断网络问题很有帮助。这段代码的主要逻辑如下,如果所有下述条件均满足,则认为该数据包是一个重传包。

实际上 TCP Retransmission 是在符合一定条件之后,再依次判断是否属于 TCP Spurious RetransmissionTCP Fast RetransmissionTCP Out-Of-Order 等,如果之前都不匹配,但满足以下条件时,即被认定为 TCP Retransmission,即普通的 TCP 重传。

  • 检查 seq_not_advanced,序列号是否未递增。
    /* RETRANSMISSION/FAST RETRANSMISSION/OUT-OF-ORDER* If the segment contains data (or is a SYN or a FIN) and* if it does not advance the sequence number, it must be one* of these three.* Only test for this if we know what the seq number should be* (tcpd->fwd->nextseq)** Note that a simple KeepAlive is not a retransmission*/if (seglen>0 || flags&(TH_SYN|TH_FIN)) {gboolean seq_not_advanced = tcpd->fwd->tcp_analyze_seq_info->nextseq&& (LT_SEQ(seq, tcpd->fwd->tcp_analyze_seq_info->nextseq));guint64 t;guint64 ooo_thres;...if (seq_not_advanced) {/* Then it has to be a generic retransmission */if(!tcpd->ta) {tcp_analyze_get_acked_struct(pinfo->num, seq, ack, TRUE, tcpd);}tcpd->ta->flags|=TCP_A_RETRANSMISSION;/** worst case scenario: if we don't have better than a recent packet,* use it as the reference for RTO*/nstime_delta(&tcpd->ta->rto_ts, &pinfo->abs_ts, &tcpd->fwd->tcp_analyze_seq_info->nextseqtime);tcpd->ta->rto_frame=tcpd->fwd->tcp_analyze_seq_info->nextseqframe;/** better case scenario: if we have a list of the previous unacked packets,* go back to the eldest one, which in theory is likely to be the one retransmitted here.* It's not always the perfect match, particularly when original captured packet used LSO* We may parse this list and try to find an obvious matching packet present in the* capture. If such packet is actually missing, we'll reach the list first entry.* See : issue #12259* See : issue #17714*/ual = tcpd->fwd->tcp_analyze_seq_info->segments;while(ual) {if(GE_SEQ(ual->seq, seq)) {nstime_delta(&tcpd->ta->rto_ts, &pinfo->abs_ts, &ual->ts );tcpd->ta->rto_frame=ual->frame;}ual=ual->next;}}}finished_checking_retransmission_type:

next expected sequence number,为 nextseq,定义为 highest seen nextseq。

Packetdrill 示例

根据上述 TCP Retransmission 定义和代码说明,通过 packetdrill 模拟普通的超时重传现象即可,即为 TCP Retransmission 数据包。

# cat tcp_retrans_001.pkt 
0   socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0  setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
+0  bind(3, ..., ...) = 0
+0  listen(3, 1) = 0+0 < S 0:0(0) win 16000 <mss 1460>
+0 > S. 0:0(0) ack 1 <...>
+0.01 < . 1:1(0) ack 1 win 16000
+0 accept(3, ..., ...) = 4+0.01 write(4, ..., 1000) = 1000+0 `sleep 100`
# 

经 Wireshark 展示如下,可以看到满足判断条件后,重传的数据包均标记为 [TCP Retransmission] ,因为始终同方向之前下一个期望的 Seq Num 1001 大于当前数据包的 Seq Num 1。

实例

关于 TCP Retransmission 的实例,实际日常抓包中经常会看到,是比较常见的一种 TCP 分析信息,也会伴生着出现像是 TCP Dup ACKTCP Fast RetransmissionTCP Spurious Retransmission 等信息,当然有时也会单独出现。

  1. SYN TCP Retransmission

普通的客户端 SYN 超时重传场景,始终同方向之前下一个期望的 Seq Num 1 ( SYN 占用 1 字节)大于当前数据包的 Seq Num 0,所以满足判断条件后,重传的数据包均标记为 [TCP Retransmission] ,当然 SYN/ACK 超时重传场景同样如此。

  1. TCP Retransmission

普通的数据段重传场景,同方向之前下一个期望的 Seq Num 14958 大于当前数据包的 Seq Num 4878,在判断不是 TCP Spurious RetransmissionTCP Fast RetransmissionTCP Out-Of-Order 等类型后,满足序列号未递增的情况下,判定为 [TCP Retransmission]。

  1. FIN TCP Retransmission

和 SYN 超时重传一样,也是普通的 FIN 超时重传场景,始终同方向之前下一个期望的 Seq Num 2 ( FIN 占用 1 字节)大于当前数据包的 Seq Num 1,所以满足判断条件后,重传的数据包均标记为 [TCP Retransmission]

总结

考虑到数据包会出现乱序、重传等各类不同的场景,产生 TCP Retransmission 的情形自然也是五花八门,具体问题具体分析。

http://www.yayakq.cn/news/514277/

相关文章:

  • 网站建设技巧世界500强企业排名表
  • 电子商务网站建设与管理实验总结包头建设局网站
  • 高档网站设计公司北京城乡与建设厅官方网站查询
  • 网站建设名牌深圳网络推广公司怎么样
  • 做网站什么字体比较好看哈尔滨网站专业制作
  • 沌口网站建设wordpress 幻灯片自定义
  • 企业为什么要做网站运营大学生学风建设专题网站
  • 焦作网站建设公司哪家好电商网站设计趋势
  • 中国建设银行演示网站国家企业信用公示信息网官网
  • 娱乐网站后缀是什么合肥seo按天扣费
  • 青岛网站快速备案wordpress vip 插件下载
  • 着力规范网站集约化建设开三云匠网
  • 医药销售网站开发背景成都有什么好玩的旅游景点
  • 网站访客qq获取系统 报价关键词优化过程
  • 购物网站开发教学视频南昌网站建设公司咨询
  • 红色网站主题徐州云龙区建设局网站
  • 做免费网站有哪些亚马逊网上购物商城
  • 做网站需要掌握什么软件网络营销策略分哪几类
  • 黄石市城市建设档案馆网站企业邮箱格式例子
  • 口碑好的番禺网站建设如何网站建设公司
  • 十堰市建设工程管理处网站怎样把网站上传到服务器上
  • 分类目录网站做排名在国外做盗版电影网站吗
  • 怎么自己制作网站链接2022年卡一卡二卡三精品
  • 网站推广去哪家比较好企业建网站的费用
  • 网站建设需求填表简单详细搭建网站教程视频
  • 互联网网站建设是什么郑州做网站企业
  • 网站备案到哪里下载重庆建设工程施工安全管理网官网
  • 个人网站模板 html教育机构网站建设
  • 网站多语言模块黑科技引流推广神器
  • 南京鼓楼做网站三里屯网站建设