流量分析之wireshark使用

01基本介紹

在CTF比賽中,對於流量包的分析取證是一種十分重要的題型。通常這類題目都是會提供一個包含流量數據的pcap文件,參賽選手通過該文件篩選和過濾其中無關的流量信息,根據關鍵流量信息找出flag或者相關線索。

pcap流量包的分析通常都是通過圖形化的網絡嗅探器——wireshark進行的,這款嗅探器經過衆多開發者的不斷完善,現在已經成爲使用最爲廣泛的安全工具之一。接下來,鬥哥來爲大家講解這款工具的基本使用。

02基本使用

Wireshark的基本使用分爲數據包篩選、數據包搜索、數據包還原、數據提取四個部分。

1. ****數據包篩選:

數據包篩選功能是wireshark的核心功能,比如需要篩選出特定的協議如HTTP,Telnet等,也可能需要篩選出ip地址,端口等。

1.1 ****篩選ip:

●源ip篩選

輸入命令:ip.src == 地址

或者手動操作:

點擊任意一個符合篩選條件的數據包,找到IPv4下的Source字段。

右鍵點擊Source字段,作爲過濾器應用 – 選中。

●目的ip篩選

輸入命令:ip.dst == 地址

或者手動操作:

點擊任意一個符合篩選條件的數據包,找到IPv4下的Destination字段,右鍵點擊Source字段,作爲過濾器應用 – 選中。

其他字段篩選與上面類似:

** 1.2 ****mac****地址篩選:**

eth.dst ==A0:00:00:04:C5:84 篩選目標mac地址

eth.addr==A0:00:00:04:C5:84 篩選MAC地址

** 1.3 ****端口篩選:**

tcp.dstport == 80 篩選tcp協議的目標端口爲80 的流量包

tcp.srcport == 80 篩選tcp協議的源端口爲80 的流量包

udp.srcport == 80 篩選udp協議的源端口爲80 的流量包

** 1.4 ****協議篩選:**

tcp 篩選協議爲tcp的流量包

udp 篩選協議爲udp的流量包

arp/icmp/http/ftp/dns/ip 篩選協議爲arp/icmp/http/ftp/dns/ip的流量包

** 1.5 ****包長度篩選:**

udp.length ==20   篩選長度爲20的udp流量包

tcp.len >=20  篩選長度大於20的tcp流量包

ip.len ==20  篩選長度爲20的IP流量包

frame.len ==20 篩選長度爲20的整個流量包

** 1.6 ****http****請求篩選**

請求方法爲GET:http.request.method==“GET”篩選HTTP請求方法爲GET的  流量包

請求方法爲POST:http.request.method==“POST”篩選HTTP請求方法爲POST的流量包

指定URI:http.request.uri==“/img/logo-edu.gif”篩選HTTP請求的URL爲/img/logo-edu.gif的流量包

請求或相應中包含特定內容:http contains “FLAG” 篩選HTTP內容爲/FLAG的流量包

2. ****數據包搜索:

在wireshark界面按“Ctrl+F”,可以進行關鍵字搜索:

Wireshark的搜索功能支持正則表達式、字符串、十六進制等方式進行搜索,通常情況下直接使用字符串方式進行搜索。

搜索欄的左邊下拉,有分組列表、分組詳情、分組字節流三個選項,分別對應wireshark界面的三個部分,搜索時選擇不同的選項以指定搜索區域:

分組列表:

分組詳情:

分組字節流:

3. ****數據包還原

在wireshark中,存在一個交追蹤流的功能,可以將HTTP或TCP流量集合在一起並還原成原始數據,具體操作方式如下:

選中想要還原的流量包,右鍵選中,選擇追蹤流 – TCP流/UPD流/SSL流/HTTP流。

可在彈出的窗口中看到被還原的流量信息:

4. ****數據提取

Wireshark支持提取通過http傳輸(上傳/下載)的文件內容,方法如下:

選中http文件傳輸流量包,在分組詳情中找到data或者Line-based text data:text/html層,鼠標右鍵點擊 – 選中 導出分組字節流。

如果是菜刀下載文件的流量,需要刪除分組字節流前開頭和結尾的X@Y字符,否則下載的文件會出錯。鼠標右鍵點擊 – 選中 顯示分組字節…

在彈出的窗口中設置開始和結束的字節(原字節數開頭加3,結尾減3)

最後點擊save as按鈕導出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章