首頁 >電腦教學 >電腦知識 >Tcpdump如何捕獲和分析資料包

Tcpdump如何捕獲和分析資料包

WBOY
WBOY轉載
2024-03-20 19:36:18933瀏覽

Tcpdump如何捕獲和分析資料包

Tcpdump是一款功能強大的網路分析工具,主要用於Linux系統和macOS中的網路流量分析。網路管理員可以透過tcpdump進行網路流量的擷取和分析,從而進行網路嗅探和監控TCP/IP封包。它依賴一個名為"libpcap"的函式庫來有效地捕捉網路流量。除了幫助網路管理員識別網路問題和解決故障外,tcpdump還有助於定期監控網路活動並檢查網路安全性。捕獲到的資料會儲存在一個名為"pcap"檔案中,然後可以使用TCP/IP資料包分析工具(例如Wireshark)或其他命令列工具來進一步分析這些文件,以便深入了解網路流量和網路通信。

在本指南中,我們將示範如何在Linux系統上安裝TCPDUMP,以及如何使用TCPDUMP擷取和分析TCP/IP封包。

如何安裝Tcpdump

#許多Linux發行版都預先安裝了tcpdump。如果您的系統尚未安裝tcpdump,您可以在Linux系統上輕鬆安裝它。在Ubuntu 22.04系統中,您可以使用簡單的指令來安裝tcpdump。

$sudo apt安裝tcpump

#要在Fedora/CentOS上安裝tcpump,請使用下列指令:

$sudo DNF安裝tcpump

#如何使用Tcpdump指令擷取封包

#要啟動終端機並以sudo權限執行tcpdump來捕獲封包,請按下「Ctrl Alt t」來開啟終端。 tcpdump是一個功能強大的工具,它提供了許多選項和過濾器,用於捕獲TCP/IP封包。如果您希望捕獲目前或預設網路介面上的所有流量資料包,只需使用簡單的「tcpdump」命令而不帶任何額外選項即可。透過這種方式,您可以監視網路流量並分析封包的內容和來源。記得在使用tcpdump時,謹慎處理捕獲的資料包,以避免洩露敏感資訊或違反隱私。

tcpdump

給定的命令擷取系統預設網路介面的封包。

在該命令執行結束時,所有捕獲和過濾的資料包計數都會顯示在終端上。

讓我們來了解一下輸出。

Tcpdump支援TCP/IP封包頭的分析。它為每個資料包顯示一行,命令將繼續運行,直到你按下「Ctrl C」停止它。

tcpdump提供的每一行都包含以下詳細資訊:

  • Unix時間戳(例如,02:28:57.839523)
  • 方案(IP)
  • 來源主機名稱或IP和連接埠號碼
  • 目標主機名稱或IP和連接埠號碼
  • TCP標誌(例如,Flags [F.])以S(SYN)、F(FIN)、. (ACK),P(PUSH),R(PUSH)
  • 封包中資料的序號(例如,SEQ 5829:6820)
  • 確認編號(例如,(ACK 1016)
  • 視窗尺寸(例如,win 65535),表示接收緩衝區中的可用字節,後面是TCP選項
  • 資料有效載荷的長度(例如,長度991)

要列出系統的所有列出網路接口,請使用帶有“-D”選項的“tcpump”命令。

$sudo tcpump-D

#或

$tcpdump——list—interruptions

此指令列出了Linux系統上連接或執行的所有網路介面。

擷取指定網路介面的封包

#如果要擷取通過特定介面的TCP/IP封包,請將」—i」標誌與”tcpdump」指令一起使用,並指定網路介面名稱。

$sudo tcpdump—i lo

給定的命令捕獲”lo”介面處的流量。如果要顯示資料包的詳細信息,請使用”—v”標誌。要列印更全面的詳細信息,請在”tcpdump”命令中使用”—vv”標誌。定期使用和分析有助於維護一個強大和安全的網路環境。

同樣,您可以使用以下命令捕獲任何介面的流量:

$sudo tcpump-i任意

使用特定連接埠擷取封包

#您可以透過指定介面名稱和連接埠號碼來擷取和過濾封包。例如,若要使用連接埠22擷取透過「enp0s3」介面的網路封包,請使用下列命令:

$tcpdump—i enp0s3埠22

上一個指令捕獲來自”enp0s3″介面的所有流動資料包。

使用Tcpdump捕捉有限的封包

您可以使用”—c”標誌和”tcpdump”指令來擷取指定數量的資料包。例如,要在”enp0s3″介面中捕獲四個資料包,請使用以下命令:

$tcpdump—i enp0s3—c 4

使用您的系統替換介面名稱。

用於捕捉網路流量的有用Tcpdump指令

#在下面,我們列出了一些有用的「tcpump」命令,它們將幫助您有效地捕獲和過濾網路流量或封包:

使用「tcpump」指令,您可以擷取具有已定義的目的IP或來源IP的介面的封包。

$tcpdump—i {interface—name} dst {destination—ip}

您可以擷取快照大小為65535位元組的資料包,這與預設大小262144位元組不同。在舊版的tcpdump中,捕獲大小被限制為68或96位元組。

$tcpdump—i enp0s3—s 65535

如何將捕獲的資料包儲存到檔案中

如果您想將捕獲的資料儲存到一個檔案中以供進一步分析,您可以這樣做。如果它捕獲指定介面的流量,然後將其儲存到“.pcap.”檔案中。使用以下命令將捕獲的資料儲存到檔案中:

$tcpdump—i—s 65535—w. pcap

例如,我們有「enps03」介面。將此擷取的資料儲存到以下檔案:

$sudo tcpdump—i enps03—w dump. pcap

將來,您可以使用Wireshark或其他網路分析工具讀取此擷取的檔案。因此,如果你想使用Wireshark分析封包,請使用”—w”參數並將其儲存到”. pcap”檔案中。

結論

在本教程中,我們透過不同的範例示範如何使用tcpump來擷取和分析封包。我們也學習如何將擷取的流量儲存到「.pCap」檔案中,您可以使用Wireshark和其他網路分析工具檢視和分析該檔案。

以上是Tcpdump如何捕獲和分析資料包的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:mryunwei.com。如有侵權,請聯絡admin@php.cn刪除