wireshark抓包贸伐,異常數(shù)據(jù)分析常見RST介紹

簡介

Wireshark(前稱Ethereal)是一個(gè)網(wǎng)絡(luò)封包分析軟件新蟆,可分析網(wǎng)路狀態(tài)觅赊,丟包率等。

由于公司做的即時(shí)通訊業(yè)務(wù)琼稻,其中IM模塊采用TCP發(fā)送數(shù)據(jù)和控制信令(心跳包)底層采用protobuf傳輸數(shù)據(jù)吮螺,音視頻采用TRP協(xié)議,然后給大客戶集團(tuán)提供私有化部署帕翻,由于客戶網(wǎng)絡(luò)環(huán)境復(fù)雜鸠补,所以需具備一定的抓包分析能力。

下面介紹常見的TCP層的常用FLAGS嘀掸。

標(biāo)志位 描述
SYN 建立聯(lián)機(jī)
ACK 確認(rèn)
PSH 有 DATA數(shù)據(jù)傳輸
FIN 關(guān)閉連接
RST 連接重置

一般地紫岩,只是單個(gè)的一個(gè)SYN,它表示的只是建立連接睬塌。當(dāng)出現(xiàn)SYN和ACK可能同時(shí)為1泉蝌,我們認(rèn)為客戶端與服務(wù)器建立了一個(gè)連接。而當(dāng)出現(xiàn)FIN包或RST包時(shí)衫仑,我們便認(rèn)為客戶端與服務(wù)器端斷開了連接梨与;而RST一般是在FIN之后才會(huì)出現(xiàn)為1的情況,表示的是連接重置文狱。

Wireshark 抓包步驟

  • 首先根據(jù)域名獲取對(duì)應(yīng)的ip,終端輸入 ping 域名

image

小技巧 也可通過telnet查看端口是否開啟telnet ip 端口

  • 打開Wireshark粥鞋,首頁選擇要抓取的通道(Wi-Fi,網(wǎng)卡等),然后設(shè)置過濾規(guī)則瞄崇,點(diǎn)擊右上角箭頭配置過濾規(guī)則呻粹,或者點(diǎn)擊某一條右鍵選中
    Apply as Filter壕曼,
    ip.src==103.219.186.235 or ip.dst==103.219.186.235
image

TCP三次握手

image
第一次握手:主機(jī)A發(fā)送位碼為syn=1,隨機(jī)產(chǎn)生seq number=1234567的數(shù)據(jù)包到服務(wù)器等浊,主機(jī)B由SYN=1知道腮郊,A要求建立聯(lián)機(jī);

 第二次握手:主機(jī)B收到請(qǐng)求后要確認(rèn)聯(lián)機(jī)信息筹燕,向A發(fā)送ack number=(主機(jī)A的seq+1)轧飞,syn=1,ack=1撒踪,隨機(jī)產(chǎn)生seq=7654321的包过咬;

 第三次握手:主機(jī)A收到后檢查ack number是否正確,即第一次發(fā)送的seq number+1制妄,以及位碼ack是否為1掸绞,若正確,主機(jī)A會(huì)再發(fā)送ack number=(主機(jī)B的seq+1)耕捞,ack=1衔掸,主機(jī)B收到后確認(rèn)seq值與ack=1則連接建立成功。
image

1. 客戶端發(fā)送 SYN 報(bào)文 到服務(wù)器

image

2. 服務(wù)器接收到后 回復(fù) SYN + ACK 報(bào)文

image

3.客戶端接收到服務(wù)端的 SYN+ACK 報(bào)文后俺抽,回復(fù) ACK報(bào)文

image

注意:理論上敞映,Syn 應(yīng)該初始值是個(gè)隨機(jī)數(shù)的,后面的要根據(jù)初始值增加 凌埂,wireshark為了好區(qū)分從0開始的驱显,可以自行設(shè)置顯示原始Syn

TCP 四次揮手诗芜,簡略分析

image
(1)客戶端A發(fā)送一個(gè)FIN瞳抓,用來關(guān)閉客戶A到服務(wù)器B的數(shù)據(jù)傳送。
(2)服務(wù)器B收到這個(gè)FIN伏恐,它發(fā)回一個(gè)ACK孩哑,確認(rèn)序號(hào)為收到的序號(hào)加1。和SYN一樣翠桦,一個(gè)FIN將占用一個(gè)序號(hào)横蜒。
(3)服務(wù)器B關(guān)閉與客戶端A的連接,發(fā)送一個(gè)FIN給客戶端A销凑。
(4)客戶端A發(fā)回ACK報(bào)文確認(rèn)丛晌,并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1。

抓包異常數(shù)據(jù)解讀

1.[TCP Previous segment not captured]丟包

在TCP傳輸過程中斗幼,同一臺(tái)主機(jī)發(fā)出的數(shù)據(jù)段應(yīng)該是連續(xù)的澎蛛,即后一個(gè)包的Seq號(hào)等于前一個(gè)包的Seq + Len(三次握手和四次揮手是例
外)當(dāng)后Seq>前Seq +Len,就知道中間缺失了一段數(shù)據(jù)蜕窿。

image

[TCP Out-of-Order] 亂序
Wireshark在獲取包序號(hào)26時(shí)發(fā)現(xiàn)seq=18981,而包序號(hào)25的數(shù)據(jù)包seq = 20441,所以wireshark認(rèn)為數(shù)據(jù)包順序錯(cuò)了

2.[TCP Dup ACK x#y]

當(dāng)亂序或者丟包發(fā)生時(shí)谋逻,接收方會(huì)收到一些Seq號(hào)比期望值大的包呆馁。此時(shí)就會(huì)Ack就說我想獲取seq=28852的數(shù)據(jù)包而你給了我其他包。

image

3毁兆、[TCP Spurious Retransmission] 丟包重傳

image

4浙滤、[TCP Fast Retransmission] 快速重傳

當(dāng)發(fā)送方收到3個(gè)或以上[TCP Dup ACK],就意識(shí)到之前發(fā)的包可能丟了气堕,于是快速重傳它(這是RFC的規(guī)定)纺腊。

image

5、[TCP Retransmission] 超時(shí)重傳

如果一個(gè)包真的丟了茎芭,又沒有后續(xù)包可以在接收方觸發(fā)[Dup Ack]摹菠,就不會(huì)快速重傳,只能超時(shí)重傳骗爆。

image

6次氨、幾種TCP連接中出現(xiàn)RST的情況

1.端口未打開
服務(wù)器程序端口未打開而客戶端來連接。這種情況是最為常見和好理解的一種了摘投。去telnet一個(gè)未打開的TCP的端口可能會(huì)出現(xiàn)這種錯(cuò)誤煮寡。

2. 請(qǐng)求超時(shí)
查看2次包的時(shí)間間隔

3. 服務(wù)端關(guān)閉的socket

4. 防護(hù)墻拒絕了請(qǐng)求

5. 移動(dòng)鏈路

移動(dòng)網(wǎng)絡(luò)下,國內(nèi)是有5分鐘后就回收信令犀呼,也就是IM產(chǎn)品幸撕,如果心跳>5分鐘后服務(wù)器再給客戶端發(fā)消息,就會(huì)收到rst外臂。也要查移動(dòng)網(wǎng)絡(luò)下IM 保持<5min 心跳坐儿。

6. 負(fù)載等設(shè)備
負(fù)載設(shè)備需要維護(hù)連接轉(zhuǎn)發(fā)策略,長時(shí)間無流量宋光,連接也會(huì)被清除貌矿,而且很多都不告訴兩層機(jī)器,新的包過來時(shí)才通告rst罪佳。

Apple push 服務(wù)也有這個(gè)問題逛漫,而且是不可預(yù)期的偶發(fā)性連接被rst;rst 前第一個(gè)消息write 是成功的赘艳,而第二條寫才會(huì)告訴你連接被重置

7. 超過超時(shí)重傳次數(shù)酌毡、網(wǎng)絡(luò)暫時(shí)不可達(dá)

如有疏漏,請(qǐng)指出不勝感激蕾管,部分圖片來自網(wǎng)絡(luò)枷踏,如有侵權(quán)請(qǐng)聯(lián)系刪除。

參考:

https://www.wireshark.org/

https://blog.csdn.net/yuanbinquan/article/details/75434732

https://blog.csdn.net/yuanbinquan/article/details/75454261

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末掰曾,一起剝皮案震驚了整個(gè)濱河市旭蠕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖下梢,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件客蹋,死亡現(xiàn)場離奇詭異,居然都是意外死亡孽江,警方通過查閱死者的電腦和手機(jī)讶坯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岗屏,“玉大人辆琅,你說我怎么就攤上這事≌馑ⅲ” “怎么了婉烟?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長暇屋。 經(jīng)常有香客問我似袁,道長,這世上最難降的妖魔是什么咐刨? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任昙衅,我火速辦了婚禮,結(jié)果婚禮上定鸟,老公的妹妹穿的比我還像新娘而涉。我一直安慰自己,他們只是感情好联予,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布啼县。 她就那樣靜靜地躺著,像睡著了一般沸久。 火紅的嫁衣襯著肌膚如雪季眷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天麦向,我揣著相機(jī)與錄音瘟裸,去河邊找鬼客叉。 笑死诵竭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的兼搏。 我是一名探鬼主播卵慰,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼佛呻!你這毒婦竟也來了裳朋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤吓著,失蹤者是張志新(化名)和其女友劉穎鲤嫡,沒想到半個(gè)月后送挑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡暖眼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年惕耕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诫肠。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡司澎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出栋豫,到底是詐尸還是另有隱情挤安,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布丧鸯,位于F島的核電站蛤铜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏丛肢。R本人自食惡果不足惜昂羡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望摔踱。 院中可真熱鬧虐先,春花似錦、人聲如沸派敷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽篮愉。三九已至腐芍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間试躏,已是汗流浹背猪勇。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留颠蕴,地道東北人泣刹。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像犀被,于是被迫代替她去往敵國和親椅您。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容