“黑客”必用兵器之“網絡抓包工具” 在之前的文章裡講到過網絡通信原理、網絡協議端口、漏洞掃描等網絡相關知識,很多網友看到這些文章以後都說寫的不錯,但是閱讀後感覺還是做不到深刻理解,今天我就教大傢一個工具,有瞭這個工具,你就可以驗證之前學習過的網絡知識瞭。”這是一個什麼工具呢?這麼神奇”其實我相信大傢很多人都聽說過或者使用過,而且這個工具也是黑客或者從事網絡工程的工作者必用的工具,它就是”網絡抓包工具”。 今天我們就詳細介紹一下網絡抓包的目的是什麼?常用的網絡抓包工具有哪些?網絡抓包工具的使用方法和技巧!一、 網絡抓包目的是什麼?官方定義:抓包(packet capture)就是將發送與接收的進行截獲、重發、編輯、轉存等操作,也用來檢查網絡安全。抓包也經常被用來進行數據截取等。對於白帽子黑客來說抓包的目的就是分析網絡報文、定位網絡接口問題、分析應用數據接口、學習網絡協議,使用抓包工具可以直觀的分析出網絡數據 。對於黑帽子黑客來說抓包的目的就更明確瞭,就是為瞭尋找漏洞瞭,黑客首先通過抓包截獲數據,提取有價值數據例如數據包裡的賬號密碼、數據包裡的應用信息。截獲這些數據後可以重新編輯,更改裡邊的價值信息再轉存回去,例如新聞曝光過上海警方就破獲瞭一起特大網絡盜竊案,僅僅在半天的時間裡,黑客就非法體現金額高達千萬,為什麼黑客會在這麼短的時間裡就能非法提現這麼多錢呢?原來,黑客尋找到瞭某理財APP的系統漏洞,利用網絡抓包的形式非法修改APP傳給後臺的數據信息,比如黑客充值1元,利用抓包,把1元改為1000或者更高的數據傳給服務器,實際他隻充值瞭1元而已,傳給服務器的數據被惡意修改過。這裡還是需要提醒小夥伴們一次,咱們學習的目的一定是為瞭掌握這門技術,去更好的服務於生活,為社會能夠創造正向價值,千萬不要走偏往犯罪的道路前行。二、常用的網絡抓包工具有哪些? 1、WiresharkWireshark 在Windows、mac、linux都有自己的版本,可謂圖形化抓包軟件的最為流行的一種,針對黑客,網絡管理員和安全工作者都是必備之物。網絡管理員使用Wireshark來檢測網絡問題,網絡安全工程師使用Wireshark來檢查資訊安全相關問題,開發者使用Wireshark來為新的通訊協定除錯,普通使用者使用Wireshark來學習網絡協定的相關知識。2、tcpdumptcpdump 可以抓所有層的數據,功能十分強大,tcpdump Linux作為網絡服務器,特別是作為路由器和網關時,數據的采集和分析是不可少的。TcpDump是Linux中強大的網絡數據采集分析工具之一。用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者的定義對網絡上的數據包進行截獲的包分析工具。作為互聯網上經典的的系統管理員必備工具,tcpdump以其強大的功能,靈活的截取策略,成為每個高級的系統管理員分析網絡,排查問題等所必備的工具之一。3、httpwatchHttpWatch是強大的網頁數據分析工具.集成在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、CharlesCharles支持抓去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過程。今天的文章目的主要是讓大傢瞭解網絡抓包的工作過程,如何去使用它,幫助我們分析判斷網絡故障,查詢網絡漏洞,維護網絡安全,更好的學習網絡原理。近期我會通過頭條平臺發佈個人關於信息安全知識講解的課程,小夥伴們可以時刻關註哦!!!
本文出自快速备案,转载时请注明出处及相应链接。