转:关于wireshark抓包的那点事儿

转自51CTO博客作者lihongweibj,原文地址:https://blog.51cto.com/lihongweibj/1690518
工作中分析包时看到的一篇文章,转发收藏下,以便下次使用

三次握手

172.18.254.177为客户 111.13.2.158为服务端

1、主动打开。发送SYN,协商window size 、TCP MSS seq=0 len=0 MSS=1460 win=65535最大窗口大小

客户端为syn_sent

服务端为syn_recv

2、接收到syn。回复syn ack seq=0 ack=1=0+1 确认自己的最大win=14480 MSS=1460

客户端为established

服务端为syn_recv

3、接到到syn 回复ack seq=1 ack=1=0+1 至此三次握手成功建立。

客户端为established

服务端为established

四次断开

1、主动关闭,发送fin。Seq=328

服务端状态为fin_wait1

客户端状态为closed_wait

2、客户端发送确认ack ack=329=328+1

服务端状态为fin_wait2

3、客户端发送fin seq=133

客户端状态为last_ack

服务端状态为time_wait

4、服务端发送ack ack=134=133+1

客户端状态closed

服务端状态closed

数据包ACK=segment len+seq = 下一个要接收的数据包的seq

图1

图2

图3

由图1 数据包情况可以看出 359 seq=1441 segment len=1440 所以下一个回包的ack=1441+1440=2881 从图2中可以确认ack确实为2881.

图2 数据包情况可以看出 360 seq=349 segment len=0 所以下一个回包的ack=349+0=349,从图3可以确认ack确实为349.

图1 359 的ack=349 则图2 350 的seq=349 ack=2881 推断图3 361的seq=2881 .

一条完整会话(session)指的是,相同的传输协议中两个不同IP之间的两个不同端口的互相通信,如果IP或端口变化刚属于不同的会话,其seq和ack也是相互独立的,没有任何关联。

TCP segment of a reassembled PDU (TCP数据包重组的一部分)

分段的数据包的ACKnum相同,

当请求的数据包大于TCP MSS时会将数据分为多个数据包进行传输。

局域网内的TCP MSS大小为1460=1500-20(IP包头)-20(TCP包头)

server=124.192.132.36 client=192.168.10.111

(378、381、384、387) seq=349不变,ack一直增加。说明client端一直在接收server端的数据,且一直在给client应答。

server=124.192.132.36 client=192.168.10.111

(376、377、379) ack=349没有变化。seq不断增加,说明server端一直在向client发送数据包,不用给client应答,而是等待client端的应答。

由以上可以看出client不用对server端的每一个包都做一一应答,可以接收几个包后统一做应答。

TCP window update (TCP 窗口更新)

TCP zero window

TCP window full

是TCP通信中的一个状态,它可以发生的原因有很多,但最终归结于发送者传输数据的速度比接收者读取的数据还快,这使得接受端的在缓冲区必须释放一部分空间来装发送过来的数据,然后向发送者发送Windows Update,告诉给发送者应该以多大的速度发送数据,从而使得数据传输与接受恢复正常。

或者一个TCP Window变为0了, 或者接近0了, 这就会警告数据发送方没有更多空间来接受更多数据了.文件传输会停止, 直到收到一个update说buffer已经清空了.

Tcp window full :服务端向客户端发送的一种窗口警告。

Tcp zero window:客户端向服务端发送的一种窗口警告。

Tcp keep-alive: 会话保持,一般由服务端发出。

以下是针对上图的数据包进行分析

客户端:192.168.10.111 服务端:42.250.12.36

131:服务端向客户端发出tcp window full,表示无法再接受新的数据,

132:客户端向服务端发送tcp zero window ,表示没有window可以接收新数据

137:服务端向客户端发送keep-live,保持会话,直至客户端有足够的window可以再次接收数据。

138:客户端再次向服务端发送 tcp zere window ,提示服务端目前没有足够的window可以接收新数据。

139:客户端向服务端发送 tcp window update,表示buffer已经清空。并提示服务端现在已经有足够的window 大小为 17280。

140:由于收到了客户端发送的window buffer已经清空,所以继续发送数据。

TCP DUP ACK (重复的ACK)

表示数据段已丢失, 574是数据丢失的位置,#1 代表丢失一次。

一般情况下,当网络延时增大导致网络速度变慢,是产生重复ACK的一个主要原因。或者是服务端或者客户端响应速度变慢或者没没有响应。

TCP out-of-order

由于收到的数据包乱序,有可能是网络拥塞或者路由上存在负载分担的情况,导致后发送的数据包先达到。

TCP Restransmission 重传

170号数据包是为167号数据包做的重传操作,所以seq ack都是一样的,seq=2070 ack=6264

TCP previous segment not captured 之前的分段未收到

说明乱序了,未收到之前的数据包,也要进行重传,1932的ack=83066,也就是要求server端下次发送seq=83066的包,结果 1933发送的数据包seq=85946.说明server端收到过client端发送的数据包ack=85946,则判断之前的一个数据包未收到。在1934 对1932数据包进行重传操作。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容