當前位置:
首頁 > 新聞 > 「黑客」必用兵器之「網路抓包工具」

「黑客」必用兵器之「網路抓包工具」

「黑客」必用兵器之「網路抓包工具」

"這是一個什麼工具呢?這麼神奇"其實我相信大家很多人都聽說過或者使用過,而且這個工具也是黑客或者從事網路工程的工作者必用的工具,它就是"網路抓包工具"。

今天我們就詳細介紹一下網路抓包的目的是什麼?常用的網路抓包工具有哪些?網路抓包工具的使用方法和技巧!

一、網路抓包目的是什麼?

官方定義:抓包(packet capture)就是將發送與接收的進行截獲、重發、編輯、轉存等操作,也用來檢查網路安全。抓包也經常被用來進行數據截取等。

對於白帽子黑客來說抓包的目的就是分析網路報文、定位網路介面問題、分析應用數據介面、學習網路協議,使用抓包工具可以直觀的分析出網路數據 。

對於黑帽子黑客來說抓包的目的就更明確了,就是為了尋找漏洞了,黑客首先通過抓包截獲數據,提取有價值數據例如數據包里的賬號密碼、數據包里的應用信息。截獲這些數據後可以重新編輯,更改裡邊的價值信息再轉存回去,例如新聞曝光過上海警方就破獲了一起特大網路盜竊案,僅僅在半天的時間裡,黑客就非法體現金額高達千萬,為什麼黑客會在這麼短的時間裡就能非法提現這麼多錢呢?原來,黑客尋找到了某理財APP的系統漏洞,利用網路抓包的形式非法修改APP傳給後台的數據信息,比如黑客充值1元,利用抓包,把1元改為1000或者更高的數據傳給伺服器,實際他只充值了1元而已,傳給伺服器的數據被惡意修改過。

這裡還是需要提醒小夥伴們一次,咱們學習的目的一定是為了掌握這門技術,去更好的服務於生活,為社會能夠創造正向價值,千萬不要走偏往犯罪的道路前行。

二、常用的網路抓包工具有哪些?

1、Wireshark

Wireshark 在Windows、mac、linux都有自己的版本,可謂圖形化抓包軟體的最為流行的一種,針對黑客,網路管理員和安全工作者都是必備之物。

網路管理員使用Wireshark來檢測網路問題,網路安全工程師使用Wireshark來檢查資訊安全相關問題,開發者使用Wireshark來為新的通訊協定除錯,普通使用者使用Wireshark來學習網路協定的相關知識。

2、tcpdump

tcpdump 可以抓所有層的數據,功能十分強大,tcpdump Linux作為網路伺服器,特別是作為路由器和網關時,數據的採集和分析是不可少的。TcpDump是Linux中強大的網路數據採集分析工具之一。用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者的定義對網路上的數據包進行截獲的包分析工具。作為互聯網上經典的的系統管理員必備工具,tcpdump以其強大的功能,靈活的截取策略,成為每個高級的系統管理員分析網路,排查問題等所必備的工具之一。

3、httpwatch

HttpWatch是強大的網頁數據分析工具.集成在Internet Explorer工具欄.包括網頁摘要.Cookies管理.緩存管理.消息頭髮送/接受.字元查詢.POST 數據和目錄管理功能.報告輸出.HttpWatch 是一款能夠收集並顯示深層信息的軟體。它不用代理伺服器或一些複雜的網路監控工具,就能夠在顯示網頁同時顯示網頁請求和回應的日誌信息。甚至可以顯示瀏覽器緩存和IE之間的交換信息。集成在Internet Explorer工具欄。

4、Burpsuite

目前Web安全滲透,是必須的工具,沒有之一,功能十分強大,Burp Suite 是用於攻擊web 應用程序的集成平台。它包含了許多工具,並為這些工具設計了許多介面,以促進加快攻擊應用程序的過程。所有的工具都共享一個能處理並顯示HTTP 消息,持久性,認證,代理,日誌,警報的一個強大的可擴展的框架

5、Fiddler

目前最常用的web 報文滲透工具,功能十分強大,可以最為本地代理,報文重放等等。Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互聯網之間的http通訊,設置斷點,查看所有的"進出"Fiddler的數據(指cookie,html,js,css等文件,這些都可以讓你胡亂修改的意思)。 Fiddler 要比其他的網路調試器要更加簡單,因為它不僅僅暴露http通訊還提供了一個用戶友好的格式。

6、Charles

Charles支持抓去http、https協議的請求,不支持socket。使用情況和fiddler基本大同小異。也是很常用的抓包工具。

三、網路抓包工具的使用方法和技巧

由於常用的抓包工具眾多,使用方法也很相似這裡我只介紹其中大家最常用的Wireshark網路抓包工具的使用方法。

工具,它是功能最全面使用者最多的抓包工具。Wireshark是一個網路封包分析軟體。網路封包分析軟體的功能是截取網路封包,並儘可能顯示出最為詳細的網路封包資料。Wireshark使用WinPCAP作為介面,直接與網卡進行數據報文交換。

Wireshark基礎架構如下:

Wireshark的官方下載網站:

Wireshark是開源軟體,可以跨平台使用

具體使用方法如下:

1、界面窗口介紹

1.1WireShark 主要分為這幾個界面

1) Display Filter(顯示過濾器), 用於過濾

2) Packet List Pane(封包列表), 顯示捕獲到的封包, 有源地址和目標地址,埠號。 顏色不同,代表

3) Packet Details Pane(封包詳細信息), 顯示封包中的欄位

4) Dissector Pane(16進位數據)

5) Miscellanous(地址欄,雜項)

1.2常用按鈕從左到右的功能依次是:

1) 列出可用介面。

2) 抓包時需要設置的一些選項。一般會保留最後一次的設置結果。

3) 開始新的一次抓包。

4) 暫停抓包。

5) 繼續進行本次抓包。

6) 打開抓包文件。可以打開之前抓包保存後的文件。不僅可以打開wireshark軟體保存的文件,也可以打開tcpdump使用-w參數保存的文件。

7) 保存文件。把本次抓包或者分析的結果進行保存。

8) 關閉打開的文件。文件被關閉後,就會切換到初始界面。

9) 重載抓包文件。

2、點擊網路介面,獲取報文

點擊介面名稱之後,就可以看到實時接收的報文。Wireshark會捕捉系統發送和接收的每一個報文。如果抓取的介面是無線並且選項選取的是混合模式,那麼也會看到網路上其他報文。

上端面板每一行對應一個網路報文,默認顯示報文接收時間(相對開始抓取的時間點),源和目標IP地址,使用協議和報文相關信息。點擊某一行可以在下面兩個窗口看到更多信息。"+"圖標顯示報文裡面每一層的詳細信息。底端窗口同時以十六進位和ASCII碼的方式列出報文內容。

需要停止抓取報文的時候,點擊左上角的停止按鍵。

色彩標識:

進行到這裡已經看到報文以綠色,藍色,黑色顯示出來。Wireshark通過顏色讓各種流量的報文一目了然。比如默認綠色是TCP報文,深藍色是DNS,淺藍是UDP,黑色標識出有問題的TCP報文——比如亂序報文。

報文樣本:

比如說你在家安裝了Wireshark,但家用LAN環境下沒有感興趣的報文可供觀察,那麼可以去Wireshark wiki下載報文樣本文件。

打開一個抓取文件相當簡單,在主界面上點擊Open並瀏覽文件即可。也可以在Wireshark里保存自己的抓包文件並稍後打開。

過濾報文:

如果正在嘗試分析問題,比如打電話的時候某一程序發送的報文,可以關閉所有其他使用網路的應用來減少流量。但還是可能有大批報文需要篩選,這時要用到Wireshark過濾器。

最基本的方式就是在窗口頂端過濾欄輸入並點擊Apply(或按下回車)。例如,輸入"dns"就會只看到DNS報文。輸入的時候,Wireshark會幫助自動完成過濾條件。

也可以點擊Analyze菜單並選擇Display Filters來創建新的過濾條件。

另一件很有趣的事情是你可以右鍵報文並選擇Follow TCP Stream。

你會看到在伺服器和目標端之間的全部會話。

關閉窗口之後,你會發現過濾條件自動被引用了——Wireshark顯示構成會話的報文。

檢查報文:

選中一個報文之後,就可以深入挖掘它的內容了。

也可以在這裡創建過濾條件——只需右鍵細節並使用Apply as Filter子菜單,就可以根據此細節創建過濾條件。

3、應用Wireshark觀察基本網路協議

wireshark與對應的OSI七層模型

TCP報文:TCP/IP通過三次握手建立一個連接。這一過程中的三種報文是:SYN,SYN/ACK,ACK。這個我之前的文章有講過就不在陳述過程了,接下來用抓包工具闡述以下過程。

首先打開wireshark, 打開瀏覽器輸入一個網址,然後在wireshark中輸入http過濾, 然後選中GET /tankxiao HTTP/1.1的那條記錄,右鍵然後點擊"Follow TCP Stream",這樣做的目的是為了得到與瀏覽器打開網站相關的數據包,將得到如下圖

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

第一次握手數據包

客戶端發送一個TCP,標誌位為SYN,序列號為0, 代表客戶端請求建立連接。 如下圖

第二次握手的數據包

伺服器發回確認包, 標誌位為 SYN,ACK. 將確認序號(Acknowledgement Number)設置為客戶的I S N加1以.即0+1=1, 如下圖

第三次握手的數據包

客戶端再次發送確認包(ACK) SYN標誌位為0,ACK標誌位為1.並且把伺服器發來ACK的序號欄位+1,放在確定欄位中發送給對方.並且在數據段放寫ISN的+1, 如下圖:

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

ARP & ICMP:

開啟Wireshark抓包。打開Windows控制台窗口,使用ping命令行工具查看與相鄰機器的連接狀況。

停止抓包之後,Wireshark如下圖所示。ARP和ICMP報文相對較難辨認,創建只顯示ARP或ICMP的過濾條件。

ARP報文:

地址解析協議,即ARP(Address Resolution Protocol),是根據獲取的一個。其功能是:將ARP請求到網路上的所有主機,並接收返回消息,確定目標的物理地址,同時將IP地址和硬體地址存入本機ARP緩存中,下次請求時直接查詢ARP緩存。

最初從PC發出的ARP請求確定IP地址192.168.1.1的MAC地址,並從相鄰系統收到ARP回復。ARP請求之後,會看到ICMP報文。

ICMP報文:

網路控制消息協定(Internet Control Message Protocol,ICMP)用於網路中發送控制消息,提供可能發生在通信環境中的各種問題反饋,通過這些信息,令管理者可以對所發生的問題作出診斷,然後採取適當的措施解決。

PC發送echo請求,收到echo回復如上圖所示。ping報文被mark成Type 8,回復報文mark成Type 0。

如果多次ping同一系統,在PC上刪除ARP cache,使用如下ARP命令之後,會產生一個新的ARP請求。

HTTP:

HTTP協議是目前使用最廣泛的一種基礎協議,這得益於目前很多應用都基於WEB方式,實現容易,軟體開發部署也簡單,無需額外的客戶端,使用瀏覽器即可使用。這一過程開始於請求伺服器傳送網路文件。

從上圖可見報文中包括一個GET命令,當HTTP發送初始GET命令之後,TCP繼續數據傳輸過程,接下來的鏈接過程中HTTP會從伺服器請求數據並使用TCP將數據傳回客戶端。傳送數據之前,伺服器通過發送HTTP OK消息告知客戶端請求有效。如果伺服器沒有將目標發送給客戶端的許可,將會返回403 Forbidden。如果伺服器找不到客戶端所請求的目標,會返回404。

如果沒有更多數據,連接可被終止,類似於TCP三次握手信號的SYN和ACK報文,這裡發送的是FIN和ACK報文。當伺服器結束傳送數據,就發送FIN/ACK給客戶端,此報文表示結束連接。接下來客戶端返回ACK報文並且對FIN/ACK中的序列號加1。這就從伺服器端終止了通信。要結束這一過程客戶端必須重新對伺服器端發起這一過程。必須在客戶端和伺服器端都發起並確認FIN/ACK過程。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 威客安全 的精彩文章:

Longhorn黑客組織就來自中情局:CIA已經針對16個國家發起過攻擊

TAG:威客安全 |