0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

馬哥Linux運(yùn)維 ? 2018-01-16 16:22 ? 次閱讀

這篇文章介紹另一個(gè)好用的抓包工具 Wireshark,用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包,包括 HTTP、TCP、UDP 等網(wǎng)絡(luò)協(xié)議包。

記得大學(xué)的時(shí)候就學(xué)習(xí)過(guò)TCP的三次握手協(xié)議,那時(shí)候只是知道,雖然在書(shū)上看過(guò)很多TCP和UDP的資料,但是從來(lái)沒(méi)有真正見(jiàn)過(guò)這些數(shù)據(jù)包, 老是感覺(jué)在云上飄一樣,學(xué)得不踏實(shí)。有了wireshark就能截獲這些網(wǎng)絡(luò)數(shù)據(jù)包,可以清晰的看到數(shù)據(jù)包中的每一個(gè)字段。更能加深我們對(duì)網(wǎng)絡(luò)協(xié)議的理解。對(duì)我而言, wireshark 是學(xué)習(xí)網(wǎng)絡(luò)協(xié)議最好的工具。

閱讀目錄

wireshark介紹

wireshark不能做的

wireshark VS Fiddler

同類(lèi)的其他工具

什么人會(huì)用到wireshark

wireshark 開(kāi)始抓包

wireshark 窗口介紹

wireshark 顯示過(guò)濾

保存過(guò)濾

過(guò)濾表達(dá)式

封包列表(Packet List Pane)

封包詳細(xì)信息 (Packet Details Pane)

wireshark與對(duì)應(yīng)的OSI七層模型

TCP包的具體內(nèi)容

實(shí)例分析TCP三次握手過(guò)程

wireshark介紹

wireshark的官方下載網(wǎng)站:http://www.wireshark.org/

wireshark是非常流行的網(wǎng)絡(luò)封包分析軟件,功能十分強(qiáng)大??梢越厝「鞣N網(wǎng)絡(luò)封包,顯示網(wǎng)絡(luò)封包的詳細(xì)信息。

wireshark是開(kāi)源軟件,可以放心使用。 可以運(yùn)行在Windows和Mac OS上。

使用wireshark的人必須了解網(wǎng)絡(luò)協(xié)議,否則就看不懂wireshark了。

Wireshark不能做的

為了安全考慮,wireshark只能查看封包,而不能修改封包的內(nèi)容,或者發(fā)送封包。

Wireshark VS Fiddler

Fiddler是在windows上運(yùn)行的程序,專(zhuān)門(mén)用來(lái)捕獲HTTP,HTTPS的。

wireshark能獲取HTTP,也能獲取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的內(nèi)容

總結(jié),如果是處理HTTP,HTTPS 還是用Fiddler, 其他協(xié)議比如TCP,UDP 就用wireshark

同類(lèi)的其他工具

微軟的network monitor

sniffer

什么人會(huì)用到wireshark

1. 網(wǎng)絡(luò)管理員會(huì)使用wireshark來(lái)檢查網(wǎng)絡(luò)問(wèn)題

2. 軟件測(cè)試工程師使用wireshark抓包,來(lái)分析自己測(cè)試的軟件

3. 從事socket編程的工程師會(huì)用wireshark來(lái)調(diào)試

4. 聽(tīng)說(shuō),華為,中興的大部分工程師都會(huì)用到wireshark。

總之跟網(wǎng)絡(luò)相關(guān)的東西,都可能會(huì)用到wireshark.

wireshark 開(kāi)始抓包

開(kāi)始界面

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

wireshark是捕獲機(jī)器上的某一塊網(wǎng)卡的網(wǎng)絡(luò)包,當(dāng)你的機(jī)器上有多塊網(wǎng)卡的時(shí)候,你需要選擇一個(gè)網(wǎng)卡。

點(diǎn)擊Caputre->Interfaces.. 出現(xiàn)下面對(duì)話(huà)框,選擇正確的網(wǎng)卡。然后點(diǎn)擊”Start”按鈕, 開(kāi)始抓包

Wireshark 窗口介紹

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

WireShark 主要分為這幾個(gè)界面

1. Display Filter(顯示過(guò)濾器), 用于過(guò)濾

2. Packet List Pane(封包列表), 顯示捕獲到的封包, 有源地址和目標(biāo)地址,端口號(hào)。 顏色不同,代表

3. Packet Details Pane(封包詳細(xì)信息), 顯示封包中的字段

4. Dissector Pane(16進(jìn)制數(shù)據(jù))

5. Miscellanous(地址欄,雜項(xiàng))

Wireshark 顯示過(guò)濾

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

使用過(guò)濾是非常重要的, 初學(xué)者使用wireshark時(shí),將會(huì)得到大量的冗余信息,在幾千甚至幾萬(wàn)條記錄中,以至于很難找到自己需要的部分。搞得暈頭轉(zhuǎn)向。

過(guò)濾器會(huì)幫助我們?cè)诖罅康臄?shù)據(jù)中迅速找到我們需要的信息。

過(guò)濾器有兩種,一種是顯示過(guò)濾器,就是主界面上那個(gè),用來(lái)在捕獲的記錄中找到所需要的記錄

一種是捕獲過(guò)濾器,用來(lái)過(guò)濾捕獲的封包,以免捕獲太多的記錄。 在Capture -> Capture Filters 中設(shè)置

保存過(guò)濾

在Filter欄上,填好Filter的表達(dá)式后,點(diǎn)擊Save按鈕, 取個(gè)名字。比如”Filter 102″,

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

Filter欄上就多了個(gè)”Filter 102″ 的按鈕。

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

過(guò)濾表達(dá)式的規(guī)則

表達(dá)式規(guī)則

1. 協(xié)議過(guò)濾

比如TCP,只顯示TCP協(xié)議。

2. IP 過(guò)濾

比如 ip.src ==192.168.1.102 顯示源地址為192.168.1.102,

ip.dst==192.168.1.102, 目標(biāo)地址為192.168.1.102

3. 端口過(guò)濾

tcp.port ==80, 端口為80的

tcp.srcport == 80, 只顯示TCP協(xié)議的愿端口為80的。

4. Http模式過(guò)濾

http.request.method==”GET”, 只顯示HTTP GET方法的。

5. 邏輯運(yùn)算符為 AND/ OR

常用的過(guò)濾表達(dá)式

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

封包列表的面板中顯示,編號(hào),時(shí)間戳,源地址,目標(biāo)地址,協(xié)議,長(zhǎng)度,以及封包信息。 你可以看到不同的協(xié)議用了不同的顏色顯示。封包列表(Packet List Pane)

你也可以修改這些顯示顏色的規(guī)則, View ->Coloring Rules.

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

封包詳細(xì)信息 (Packet Details Pane)

這個(gè)面板是我們最重要的,用來(lái)查看協(xié)議中的每一個(gè)字段。

各行信息分別為:

Frame:物理層的數(shù)據(jù)幀概況

EthernetII:數(shù)據(jù)鏈路層以太網(wǎng)幀頭部信息

Internet Protocol Version 4:互聯(lián)網(wǎng)層IP包頭部信息

Transmission Control Protocol:傳輸層T的數(shù)據(jù)段頭部信息,此處是TCP

Hypertext Transfer Protocol:應(yīng)用層的信息,此處是HTTP協(xié)議

wireshark與對(duì)應(yīng)的OSI七層模型

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

TCP包的具體內(nèi)容

從下圖可以看到wireshark捕獲到的TCP包中的每個(gè)字段。

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

實(shí)例分析TCP三次握手過(guò)程

看到這, 基本上對(duì)wireshak有了初步了解, 現(xiàn)在我們看一個(gè)TCP三次握手的實(shí)例

三次握手過(guò)程為

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

這圖我都看過(guò)很多遍了, 這次我們用wireshark實(shí)際分析下三次握手的過(guò)程。

打開(kāi)wireshark, 打開(kāi)瀏覽器輸入http://www.cnblogs.com/tankxiao

在wireshark中輸入http過(guò)濾, 然后選中GET /tankxiao HTTP/1.1的那條記錄,右鍵然后點(diǎn)擊”Follow TCP Stream”,

這樣做的目的是為了得到與瀏覽器打開(kāi)網(wǎng)站相關(guān)的數(shù)據(jù)包,將得到如下圖

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

圖中可以看到wireshark截獲到了三次握手的三個(gè)數(shù)據(jù)包。第四個(gè)包才是HTTP的, 這說(shuō)明HTTP的確是使用TCP建立連接的。

第一次握手?jǐn)?shù)據(jù)包

客戶(hù)端發(fā)送一個(gè)TCP,標(biāo)志位為SYN,序列號(hào)為0, 代表客戶(hù)端請(qǐng)求建立連接。 如下圖

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

第二次握手的數(shù)據(jù)包

服務(wù)器發(fā)回確認(rèn)包, 標(biāo)志位為 SYN,ACK. 將確認(rèn)序號(hào)(Acknowledgement Number)設(shè)置為客戶(hù)的I S N加1以.即0+1=1, 如下圖

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

第三次握手的數(shù)據(jù)包

客戶(hù)端再次發(fā)送確認(rèn)包(ACK) SYN標(biāo)志位為0,ACK標(biāo)志位為1.并且把服務(wù)器發(fā)來(lái)ACK的序號(hào)字段+1,放在確定字段中發(fā)送給對(duì)方.并且在數(shù)據(jù)段放寫(xiě)ISN的+1, 如下圖:

介紹一個(gè)好用的抓包工具 Wireshark, 用來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù)封包

就這樣通過(guò)了TCP三次握手,建立了連接。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    478

    瀏覽量

    30770
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1324

    瀏覽量

    78759
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    317

    瀏覽量

    33801
  • Wireshark
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    6473

原文標(biāo)題:史上最簡(jiǎn)單的 Wireshark 和 TCP 入門(mén)指南

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    好用的串口工具

    好用的串口工具
    發(fā)表于 08-15 10:35 ?0次下載

    常見(jiàn)的數(shù)據(jù)采集工具介紹

    數(shù)據(jù)采集是數(shù)據(jù)分析和處理的基礎(chǔ),它涉及到從各種數(shù)據(jù)源中提取、收集和整理數(shù)據(jù)的過(guò)程。數(shù)據(jù)采集工具
    的頭像 發(fā)表于 07-01 14:51 ?402次閱讀

    使用IDF中的mdns例程連上路由器mdns無(wú)法正常工作如何解決?

    PC端mdns軟件查詢(xún)模塊的mdns,均無(wú)法接收到模塊的mdns廣播。 3.而使用使用wireshark包以及PC端mdns軟件能查詢(xún)到其他的mdns設(shè)備,所以證明該包工具和查詢(xún)軟
    發(fā)表于 06-19 06:30

    艾體寶干貨 | 用于故障排除的最佳 Wireshark 過(guò)濾器

    Wireshark種流行的網(wǎng)絡(luò)協(xié)議分析工具,可用于捕獲和分析網(wǎng)絡(luò)數(shù)據(jù)包。在
    的頭像 發(fā)表于 05-29 15:40 ?298次閱讀
    艾體寶干貨 | 用于故障排除的最佳 <b class='flag-5'>Wireshark</b> 過(guò)濾器

    TSN包工具解密:數(shù)據(jù)包捕獲,為什么選Profishark?

    網(wǎng)絡(luò)流量涉及訪(fǎng)問(wèn)和記錄通過(guò)網(wǎng)絡(luò)傳輸?shù)?b class='flag-5'>數(shù)據(jù)。捕獲網(wǎng)絡(luò)流量有多種原因和用例。圖1:捕獲網(wǎng)絡(luò)流量的原因和用例01
    的頭像 發(fā)表于 04-29 08:04 ?363次閱讀
    TSN<b class='flag-5'>抓</b><b class='flag-5'>包工具</b>解密:<b class='flag-5'>數(shù)據(jù)</b>包捕獲,為什么選Profishark?

    艾體寶干貨 | TSN包工具解密:為什么選擇使用 ProfiShark 進(jìn)行數(shù)據(jù)包捕獲?

    時(shí)間敏感網(wǎng)絡(luò)(TSN)技術(shù)正在成為工業(yè)控制和實(shí)時(shí)通信領(lǐng)域的關(guān)鍵技術(shù),而ProfiShark作為款高性能的數(shù)據(jù)包捕獲工具,提供了在TSN網(wǎng)絡(luò)
    的頭像 發(fā)表于 04-25 17:41 ?348次閱讀
    艾體寶干貨 | TSN<b class='flag-5'>抓</b><b class='flag-5'>包工具</b>解密:為什么選擇使用 ProfiShark 進(jìn)行<b class='flag-5'>數(shù)據(jù)</b>包捕獲?

    Vue團(tuán)隊(duì)發(fā)布Rust編寫(xiě)JavaScript打包工具Rolldown

    據(jù)悉,Rolldown作為Rollup.js的替代品,由字節(jié)跳動(dòng)的OXc工具集支持,具有與Rollup兼容的APIs以及插件接口。該產(chǎn)品預(yù)計(jì)將成為未來(lái)Vite項(xiàng)目的首選打包工具
    的頭像 發(fā)表于 03-11 09:58 ?560次閱讀

    賊拉好用個(gè)嵌入式數(shù)據(jù)可視化工具

    今天給大家分享個(gè)比較實(shí)用的開(kāi)源、免費(fèi)的數(shù)據(jù)可視化小工具:SerialStudio。首先用張圖給大家看
    的頭像 發(fā)表于 03-07 08:09 ?360次閱讀
    賊拉<b class='flag-5'>好用</b>的<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>嵌入式<b class='flag-5'>數(shù)據(jù)</b>可視化<b class='flag-5'>工具</b>

    網(wǎng)絡(luò)監(jiān)控工具有哪些 網(wǎng)絡(luò)監(jiān)控用幾芯網(wǎng)線(xiàn)

    情況,幫助管理員了解網(wǎng)絡(luò)的使用狀況和流量分布,以便進(jìn)行合理的網(wǎng)絡(luò)設(shè)計(jì)和帶寬管理。常見(jiàn)的網(wǎng)絡(luò)流量監(jiān)控工具Wireshark、NetworkM
    的頭像 發(fā)表于 01-24 10:00 ?823次閱讀

    【虹科分享】利用ProfiShark 構(gòu)建便攜式網(wǎng)絡(luò)取證工具

    本文詳細(xì)討論了構(gòu)建便攜式網(wǎng)絡(luò)取證工具包的必要性,并重點(diǎn)介紹了ProfiShark 1G — 種高效、口袋大小的網(wǎng)絡(luò)TAP設(shè)備。ProfiS
    的頭像 發(fā)表于 12-29 17:06 ?297次閱讀

    Wireshark包原理及使用教程

    Wireshark使用的環(huán)境大致分為兩種,種是電腦直連網(wǎng)絡(luò)的單機(jī)環(huán)境,另外種就是應(yīng)用比較多的網(wǎng)絡(luò)環(huán)境,即連接交換機(jī)的情況。 「單機(jī)
    的頭像 發(fā)表于 11-19 15:05 ?5235次閱讀
    <b class='flag-5'>Wireshark</b><b class='flag-5'>抓</b>包原理及使用教程

    如何在Python中使用Scapy進(jìn)行包操作

    1. 前言 包通常使用軟件如wireshark,Tcpdump等,對(duì)數(shù)據(jù)通信過(guò)程中的所有l(wèi)P報(bào)文實(shí)施捕獲并進(jìn)行逐層拆包分析,直是傳統(tǒng)固網(wǎng)數(shù)通維護(hù)工作中罐常用的故障排查
    的頭像 發(fā)表于 11-01 14:47 ?3545次閱讀

    手把手教你Wireshark使用教程

    Wireshark使用的環(huán)境大致分為兩種,種是電腦直連網(wǎng)絡(luò)的單機(jī)環(huán)境,另外種就是應(yīng)用比較多的網(wǎng)絡(luò)環(huán)境,即連接交換機(jī)的情況。
    的頭像 發(fā)表于 10-30 16:40 ?1263次閱讀
    手把手教你<b class='flag-5'>Wireshark</b>使用教程

    Akshare:個(gè)非常好用的開(kāi)源A股數(shù)據(jù)獲取模塊

    Akshare是個(gè)非常好用的開(kāi)源A股數(shù)據(jù)獲取模塊,它是基于 Python 的財(cái)經(jīng)數(shù)據(jù)接口庫(kù),目
    的頭像 發(fā)表于 10-21 10:58 ?5052次閱讀
    Akshare:<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>非常<b class='flag-5'>好用</b>的開(kāi)源A股<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>獲取</b>模塊

    五大可替代Wireshark包工具

    Wireshark是非常流行的網(wǎng)卡包軟件,具有強(qiáng)大的包功能。它可以截取各種網(wǎng)絡(luò)數(shù)據(jù)包,并顯示數(shù)據(jù)
    的頭像 發(fā)表于 09-27 09:57 ?4089次閱讀
    五大可替代<b class='flag-5'>Wireshark</b>的<b class='flag-5'>抓</b><b class='flag-5'>包工具</b>