【最详细】Wireshark使用教程
【最詳細】Wireshark使用教程
- 原理
- 步驟
- 1.安裝
- 2.wireshark使用
- 3.先看幾個數據包,熟悉一下wireshark
- 4.wireshark過濾規則
- 4.1 地址過濾
- 4.2 端口過濾
- 4.4 其他常用過濾
- 5.流查看
- 6.數據包保存
- 說明
- 總結
原理
wireshark是一款網絡嗅探工具。可以監視網絡的狀態、數據流動情況以及網絡上傳輸的信息。當信息以明文的形式在網絡上傳輸時,便可以使用網絡監聽的方式來進行攻擊。將網絡接口設置在監聽模式,便可以將網上傳輸的源源不斷的信息截獲。嗅探技術常常用于網絡故障診斷、協議分析、應用性能分析和網絡安全保障等各個領域。
步驟
1.安裝
到wireshark官網下載你所需要的版本,官網地址https://www.wireshark.org,選擇下載,跟進自己的操作系統選擇。
安裝是注意勾選Wireshark l選項,wireshark有兩種UI界面,兩種都裝上
跟進個人的偏好,選擇復選項
選擇安裝winpcap,如果已經安裝,會有提示是否替換
安裝后,會有以下兩個圖標,帶Legacy的是GTK的UI,另外一個是新的QT的GUI,一個英文,一個中文。
打開圖標時使用右鍵單擊,選擇“以管理員身份運行”,這里我們講解Legacy版本。
2.wireshark使用
2.1 首先選擇要監聽的接口,有一下幾種方式:
可以打開的界面(注:部分操作系統需要右鍵單擊圖片,然后選擇“以管理員身份運行”)上,選擇要監聽的接口,然后點擊start。
也可以點擊接口列表interface list,選擇要監聽的網卡,然后點擊start。
也可以點擊菜單的capture選項,然后選擇interface list。
選擇好要監聽的網卡之后,界面如下,就是通過這個網卡的所有包,看下圖片的介紹:
常用按鈕:
3.先看幾個數據包,熟悉一下wireshark
看下單個包,已經格式化后的部分,與OSI的對應關系。
TCP的握手包,看下幾個標記位,鼠標點擊第47號包,
47號包的傳輸層:
47號包的網絡層:
再看一個有應用層數據的,第985號包,是一個加密后的數據包,網絡中的數據,可以跟進自己的需要進行加密,后面我們會講。
再看一個dns請求包,第45,46號包,一個是DNS請求,一個是DNS響應,我們可以ping下域名,看看是不是這樣。
在這里插入圖片描述
4.wireshark過濾規則
網卡上嗅探的數據包是非常多的,上面看的只是幾種,要從數以萬計的包中查看你想要的,就要使用過濾規則。(這里講的都是非常常用的,經常用到的)
4.1 地址過濾
IP地址過濾,比較常用,在過濾器Filter中輸入過濾條件:
過濾源ip,語法:
源ip:ip.src == IP 或 ip.src eq IP
目的ip:ip.dst == IP或 ip.dst eq IP
指定主機ip,源或目的: ip.host == IP或 ip.host eq IP,或者用ip.addr
指定的源ip或指定的目的ip: ip.src == IP or ip.dst == IP
指定的源ip并且指定的目的ip: ip.src == IP and ip.dst == IP
IP層還可以跟進IP協議的字段過濾,在過濾器中輸入ip.可以查看其它選項,有興趣的的同學可以嘗試一下:
MAC地址過濾,與ip.過濾類似,使用eth.XXX,沒有eth.host,大家可以自己嘗試一下,如下:
eth.addr;eth.src;eth.dst
4.2 端口過濾
端口過濾非常常用,要指明協議是tcp還是udp,可以用srcport,dstport,port,端口可以用比較符合>,>=,<,<=,==,eq,例子如下:
過濾目的端口是80端口的tcp報文
過濾源端口是443的tcp報文
過濾端口是80的tcp報文 或者端口是53的udp報文
過濾源端口號大于1024的tcp報文
加上4.1的ip過濾,用and組合一下,過濾了指定服務器80端口的報文:
可以用協議(tcp,udp),端口(srcport,dstport,port),比較符合(>,>=,<,<=,==,eq)以及and和or任意組合,過濾你期望得到的報文。
4.3 協議過濾
tcp,udp,arp,icmp,http,smtp,ftp,dns,msnms,ip,ssl,oicq,bootp等。排除的化,前面加個‘!’或者‘not’。
只顯示tcp報文
在tcp后面打個‘.’,可以看到,是可以根據協議的字段進行過濾的
比如,過濾ack的包,可以看到,下面的所有包都是帶ack==1的包
過濾http包,以及dns包,以及ssl包
4.4 其他常用過濾
過濾HTTP的GET請求和POST請求,以及HTTP過濾內容
http.request.method == GET
http.request.method == POST
過濾HTTP協議的響應包,響應碼是200的
http contains "HTTP/1.1 200 OK"
用contains字段過濾內容,如 過濾HTTP協議Content-Type類型,Content-Type: text/plain;tcp包含admin
http contains "Content-Type: text/plain"
tcp contains "admin"
過濾包的指定的字段:協議[其實位置:長度]
舉個例子:tcp協議,從第2個字符開始(起始是0,不是1,這個2是偏移的位置),長度為3,內容為01,bb,eb
tcp[2:3] == 01:bb:eb
過濾規則是支持正則語法的,使用的是matches,不是contains
例如:tcp中包含user字段的,tcp matches ".GET",是包含GET的包,.GET是正則表達式,如果用tcp contains ".GET",contains把.GET當初字符串
5.流查看
數據包位置,點擊鼠標右鍵,可以跟進不同的協議選擇不同的流查看,我們可以先選tcp流進行跟蹤。
點擊之后,會看到這條tcp流上的所有請求和回復
有些流是密文的,查看的時候就是亂碼,比如ssl的,如果follow的是ssl的流,查看的是空。
6.數據包保存
wireshark可以把抓到的數據包保存成文件,點擊File,可以把抓到是數據包保存save/save as,也可以把之前保存的數據包打開open
可以選擇保存特殊的包Export Specified Packetes,在下面選擇Selected packet選擇你要保存的包。
說明
Linux下也可以安裝wireshark:
yum install wireshark
yum install wireshark-gnome
如果需要圖形界面,要UI支持要安裝gnome,Linux下重點講一下另外一種抓包工具tcpdump,可以保存結果,在wireshark中查看,后面講。
wiresharkd的基本常用用法,足夠進行協議分析。
總結
掌握wireshark使用,在網絡數據分析中是非常有用的
總結
以上是生活随笔為你收集整理的【最详细】Wireshark使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全志v3s学习笔记(6)——Bsp内核编
- 下一篇: 软件根据唱歌自动生成歌谱,根据歌谱自动填