您好,登錄后才能下訂單哦!
在之前的文章里講到過網絡通信原理、網絡協議端口、漏洞掃描等網絡相關知識,很多網友看到這些文章以后都說寫的不錯,但是閱讀后感覺還是做不到深刻理解,今天我就教大家一個工具,有了這個工具,你就可以驗證之前學習過的網絡知識了。"這是一個什么工具呢?這么神奇"其實我相信大家很多人都聽說過或者使用過,而且這個工具也是黑客或者從事網絡工程的工作者必用的工具,它就是"網絡抓包工具"。
今天我們就詳細介紹一下網絡抓包的目的是什么?常用的網絡抓包工具有哪些?網絡抓包工具的使用方法和技巧!
一、 網絡抓包目的是什么?
官方定義:抓包(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過程。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。