欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux使用tcpdump捕獲網(wǎng)絡(luò)數(shù)據(jù)包的詳細(xì)步驟

 更新時(shí)間:2025年08月08日 10:12:05   作者:極地星光  
在網(wǎng)絡(luò)故障排查、協(xié)議分析或網(wǎng)絡(luò)安全檢測(cè)中,抓包工具是不可或缺的"利器",而tcpdump作為L(zhǎng)inux系統(tǒng)中歷史最悠久、功能最強(qiáng)大的命令行抓包工具,至今仍是工程師的首選,本文將從基礎(chǔ)操作到實(shí)戰(zhàn)技巧,帶你掌握用tcpdump捕獲網(wǎng)絡(luò)數(shù)據(jù)包的完整流程,需要的朋友可以參考下

引言

在網(wǎng)絡(luò)故障排查、協(xié)議分析或網(wǎng)絡(luò)安全檢測(cè)中,抓包工具是不可或缺的"利器"。而tcpdump作為L(zhǎng)inux系統(tǒng)中歷史最悠久、功能最強(qiáng)大的命令行抓包工具,至今仍是工程師的首選。本文將從基礎(chǔ)操作到實(shí)戰(zhàn)技巧,帶你掌握用tcpdump捕獲網(wǎng)絡(luò)數(shù)據(jù)包的完整流程,尤其適合需要對(duì)接口板、設(shè)備通信進(jìn)行分析的場(chǎng)景,同時(shí)將重點(diǎn)介紹如何通過(guò)后臺(tái)命令避免遠(yuǎn)程終端關(guān)閉導(dǎo)致的抓包中斷。

一、什么是tcpdump?為什么選擇它?

tcpdump是一款運(yùn)行在Linux/Unix系統(tǒng)上的命令行網(wǎng)絡(luò)抓包工具,它能實(shí)時(shí)捕獲網(wǎng)絡(luò)接口上傳輸?shù)臄?shù)據(jù)包,并按需求保存或解析。相比圖形化工具(如Wireshark),它的優(yōu)勢(shì)在于:

  • 輕量高效:無(wú)需圖形界面,可直接在遠(yuǎn)程服務(wù)器或嵌入式設(shè)備上運(yùn)行;
  • 靈活可控:通過(guò)命令參數(shù)精確過(guò)濾數(shù)據(jù)包,避免無(wú)關(guān)數(shù)據(jù)干擾;
  • 適合長(zhǎng)期監(jiān)控:支持后臺(tái)運(yùn)行和循環(huán)抓包,適合長(zhǎng)時(shí)間記錄網(wǎng)絡(luò)行為。

對(duì)于需要分析接口板、設(shè)備間通信的場(chǎng)景(如工業(yè)控制、物聯(lián)網(wǎng)設(shè)備),tcpdump的輕量化特性使其成為最佳選擇。

二、準(zhǔn)備工作:環(huán)境與工具

在開(kāi)始抓包前,需準(zhǔn)備以下環(huán)境和工具:

  1. 操作終端
    • 遠(yuǎn)程登錄工具(如MobaXterm):用于連接目標(biāo)設(shè)備(如樣機(jī)后端);
    • 目標(biāo)設(shè)備:運(yùn)行Linux系統(tǒng),已安裝tcpdump(默認(rèn)多數(shù)Linux發(fā)行版自帶,若未安裝可通過(guò)apt install tcpdumpyum install tcpdump安裝)。
  2. 目標(biāo)對(duì)象
    • 需監(jiān)控的網(wǎng)絡(luò)接口(如接口板網(wǎng)卡);
    • 待復(fù)現(xiàn)的網(wǎng)絡(luò)問(wèn)題(如通信超時(shí)、數(shù)據(jù)異常等)。

三、實(shí)戰(zhàn)步驟:用tcpdump捕獲接口板網(wǎng)卡數(shù)據(jù)

以"捕獲接口板網(wǎng)卡數(shù)據(jù)包并分析問(wèn)題"為例,完整流程如下:

步驟1:識(shí)別目標(biāo)網(wǎng)卡名稱

在抓包前,必須明確需要監(jiān)控的網(wǎng)卡(如接口板連接的網(wǎng)卡)。通過(guò)以下命令查看所有網(wǎng)卡信息:

ifconfig  # 或 ip addr(推薦,更全面)

執(zhí)行后會(huì)顯示類似以下的輸出:

enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        ...

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.5  netmask 255.255.255.0  broadcast 10.0.0.255
        ...

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ...

根據(jù)描述區(qū)分網(wǎng)卡類型:

  • 接口板網(wǎng)卡:通常是直接連接外部設(shè)備的物理網(wǎng)卡(如示例中的enp2s0);
  • 其他網(wǎng)卡:如用戶網(wǎng)卡(eth0)、虛擬網(wǎng)卡(docker0)等,需排除。

步驟2:執(zhí)行抓包命令(含后臺(tái)運(yùn)行方案)

根據(jù)場(chǎng)景需求選擇以下抓包方式(在目標(biāo)設(shè)備的終端中執(zhí)行,如示教器終端),重點(diǎn)推薦遠(yuǎn)程操作時(shí)使用后臺(tái)命令,避免終端關(guān)閉導(dǎo)致抓包中斷

方式1:基礎(chǔ)抓包(單次捕獲,適合短時(shí)操作)

適合短時(shí)間內(nèi)復(fù)現(xiàn)問(wèn)題的場(chǎng)景,命令格式:

tcpdump -i 網(wǎng)卡名稱 -w 保存路徑/文件名.cap

示例:捕獲接口板網(wǎng)卡enp2s0的數(shù)據(jù)包,保存到桌面的test.cap

tcpdump -i enp2s0 -w /root/Desktop/test.cap
  • 參數(shù)說(shuō)明:
    • -i enp2s0:指定監(jiān)控enp2s0網(wǎng)卡;
    • -w /root/Desktop/test.cap:將數(shù)據(jù)包保存為.cap文件(不顯示實(shí)時(shí)內(nèi)容,避免占用資源)。

方式2:循環(huán)抓包(長(zhǎng)期監(jiān)控,自動(dòng)分割文件)

若問(wèn)題復(fù)現(xiàn)時(shí)間較長(zhǎng),需避免單個(gè)文件過(guò)大,可使用循環(huán)抓包(自動(dòng)分割文件并限制數(shù)量):

nice -n -10 tcpdump -i 網(wǎng)卡名稱 -C 單個(gè)文件大小(M) -W 最大文件數(shù) -w 保存路徑/前綴名.cap

示例:監(jiān)控enp2s0,單個(gè)文件最大30MB,最多保存20個(gè)文件(總?cè)萘考s600MB):

nice -n -10 tcpdump -i enp2s0 -C 30 -W 20 -w /root/Desktop/name.cap
  • 參數(shù)說(shuō)明:
    • nice -n -10:提高進(jìn)程優(yōu)先級(jí),避免抓包被系統(tǒng)低優(yōu)先級(jí)調(diào)度;
    • -C 30:?jiǎn)蝹€(gè)文件達(dá)到30MB時(shí)自動(dòng)創(chuàng)建新文件;
    • -W 20:最多生成20個(gè)文件(超出后覆蓋最早的文件);
    • 保存的文件名將按name_00.capname_01.cap…遞增。

方式3:后臺(tái)抓包(推薦遠(yuǎn)程操作,防止終端關(guān)閉中斷)

遠(yuǎn)程操控時(shí),若不小心關(guān)閉終端,普通抓包進(jìn)程會(huì)被終止。使用nohup命令可讓抓包脫離終端獨(dú)立運(yùn)行,即使關(guān)閉終端也能繼續(xù):

# 基礎(chǔ)格式:nohup [抓包命令] > 日志路徑 2>&1 &
nohup tcpdump -i 網(wǎng)卡名稱 -w 保存路徑/文件名.cap > /var/log/tcpdump.log 2>&1 &

示例:后臺(tái)捕獲enp2s0的數(shù)據(jù)包,日志輸出到/var/log/tcpdump.log

nohup tcpdump -i enp2s0 -w /root/Desktop/background_cap.cap > /var/log/tcpdump.log 2>&1 &
  • 參數(shù)說(shuō)明:
    • nohup:忽略終端關(guān)閉信號(hào)(SIGHUP),保證進(jìn)程持續(xù)運(yùn)行;
    • > /var/log/tcpdump.log 2>&1:將抓包過(guò)程中的日志(如錯(cuò)誤信息)輸出到指定文件,避免默認(rèn)寫(xiě)入nohup.out;
    • 末尾&:將進(jìn)程放入后臺(tái)運(yùn)行,終端可繼續(xù)執(zhí)行其他命令。

步驟3:管理后臺(tái)抓包進(jìn)程(關(guān)鍵操作)

使用nohup后臺(tái)抓包后,需通過(guò)以下命令管理進(jìn)程:

查看后臺(tái)抓包進(jìn)程

ps -ef | grep tcpdump

輸出類似:

root      12345  67890  0 16:00 ?        00:00:01 tcpdump -i enp2s0 -w /root/Desktop/background_cap.cap

其中12345為進(jìn)程ID(PID)。

停止后臺(tái)抓包

問(wèn)題復(fù)現(xiàn)完成后,通過(guò)PID終止進(jìn)程(必須正常停止,避免文件截?cái)?/strong>):

kill -9 12345  # 替換為實(shí)際PID

步驟4:復(fù)現(xiàn)問(wèn)題并確認(rèn)抓包狀態(tài)

  1. 復(fù)現(xiàn)問(wèn)題:執(zhí)行抓包命令后(無(wú)論前臺(tái)還是后臺(tái)),在設(shè)備上操作以復(fù)現(xiàn)需要分析的問(wèn)題(如接口板通信異常)。
  2. 確認(rèn)抓包狀態(tài)
    • 前臺(tái)抓包:終端阻塞狀態(tài)表示正常運(yùn)行;
    • 后臺(tái)抓包:通過(guò)ps -ef | grep tcpdump查看進(jìn)程是否存在,或檢查.cap文件大小是否隨時(shí)間增長(zhǎng)(ls -lh /root/Desktop/*.cap)。

步驟5:導(dǎo)出與分析抓包文件

  1. 確認(rèn)文件:執(zhí)行以下命令,檢查.cap文件是否正常保存:
ls -lh /root/Desktop/*.cap

若顯示類似以下內(nèi)容,說(shuō)明保存成功:

-rw-r--r-- 1 root root  25M Aug 10 15:30 /root/Desktop/test.cap
-rw-r--r-- 1 root root  40M Aug 10 16:10 /root/Desktop/background_cap.cap

導(dǎo)出文件

  • 通過(guò)遠(yuǎn)程工具(如MobaXterm)的文件瀏覽器導(dǎo)航到/root/Desktop/;
  • 右鍵點(diǎn)擊目標(biāo).cap文件,選擇"Download"導(dǎo)出到本地電腦。

用Wireshark分析

將導(dǎo)出的.cap文件用Wireshark打開(kāi)(雙擊文件或在Wireshark中選擇"文件→打開(kāi)"),即可分析數(shù)據(jù)包細(xì)節(jié):

  • 查看通信雙方的IP、端口;
  • 過(guò)濾特定協(xié)議(如TCP、UDP)或關(guān)鍵詞(如ip.addr == 192.168.1.100);
  • 定位異常數(shù)據(jù)包(如重傳、超時(shí)、錯(cuò)誤校驗(yàn)等)。

四、常見(jiàn)問(wèn)題與解決方案

抓包文件被截?cái)啵╓ireshark提示錯(cuò)誤)

  • 原因:未正常停止tcpdump(如強(qiáng)制關(guān)閉終端、用kill -9終止進(jìn)程但文件未寫(xiě)完)。
  • 解決:必須通過(guò)Ctrl + C(前臺(tái))或kill PID(后臺(tái))正常停止;若文件已損壞,可用editcap修復(fù):
editcap -F pcap 損壞的文件.cap 修復(fù)后的文件.cap

后臺(tái)抓包進(jìn)程意外終止

  • 原因:目標(biāo)目錄磁盤(pán)空間不足,或權(quán)限不足導(dǎo)致無(wú)法寫(xiě)入文件。
  • 解決:抓包前用df -h檢查磁盤(pán)空間,確保/root/Desktop/有寫(xiě)入權(quán)限(chmod 777 /root/Desktop臨時(shí)開(kāi)放權(quán)限)。

遠(yuǎn)程終端關(guān)閉后抓包停止

  • 原因:未使用nohup&,進(jìn)程依賴終端會(huì)話。
  • 解決:遠(yuǎn)程操作時(shí)務(wù)必用nohup [命令] &啟動(dòng)抓包,脫離終端依賴。

五、擴(kuò)展工具推薦

  • Wireshark:圖形化分析工具,支持過(guò)濾、統(tǒng)計(jì)、協(xié)議解析,適合分析.cap文件;
  • editcap:Wireshark附帶的命令行工具,用于修復(fù)被截?cái)嗟?cap文件;
  • tshark:tcpdump的圖形化替代工具,支持更豐富的過(guò)濾語(yǔ)法(tshark -i enp2s0 -w 文件名.cap)。

以上就是Linux使用tcpdump捕獲網(wǎng)絡(luò)數(shù)據(jù)包的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于Linux tcpdump捕獲網(wǎng)絡(luò)數(shù)據(jù)包的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Linux中有效地管理進(jìn)程的8個(gè)命令

    Linux中有效地管理進(jìn)程的8個(gè)命令

    這篇文章主要給大家介紹了關(guān)于Linux中有效地管理進(jìn)程的8個(gè)命令,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Linux系列教程之虛擬機(jī)中安裝Centos7.0

    Linux系列教程之虛擬機(jī)中安裝Centos7.0

    這篇文章主要為大家詳細(xì)介紹了Linux系列教程之虛擬機(jī)中安裝Centos7.0的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 如何搭建并配置HTTPD文件服務(wù)及訪問(wèn)權(quán)限控制

    如何搭建并配置HTTPD文件服務(wù)及訪問(wèn)權(quán)限控制

    這篇文章主要介紹了如何搭建并配置HTTPD文件服務(wù)及訪問(wèn)權(quán)限控制的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 使用 Linux seq 命令生成數(shù)字序列(推薦)

    使用 Linux seq 命令生成數(shù)字序列(推薦)

    seq命令用于以指定增量從首數(shù)開(kāi)始打印數(shù)字到尾數(shù),即產(chǎn)生從某個(gè)數(shù)到另外一個(gè)數(shù)之間的所有整數(shù),并且可以對(duì)整數(shù)的格式、寬度、分割符號(hào)進(jìn)行控制。這篇文章主要介紹了使用 Linux seq 命令生成數(shù)字序列,需要的朋友可以參考下
    2020-01-01
  • 在 Linux 中不使用 CD 命令進(jìn)入目錄/文件夾的方法

    在 Linux 中不使用 CD 命令進(jìn)入目錄/文件夾的方法

    眾所周知,如果沒(méi)有 cd 命令,我們無(wú)法 Linux 中切換目錄。接下來(lái)通過(guò)本文給大家介紹了在 Linux 中不使用 CD 命令進(jìn)入目錄/文件夾的方法,需要的朋友可以參考下
    2019-04-04
  • 在Linux上識(shí)別同樣內(nèi)容的文件詳解

    在Linux上識(shí)別同樣內(nèi)容的文件詳解

    這篇文章主要給大家介紹了關(guān)于如何在Linux上識(shí)別同樣內(nèi)容的文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • CentOS 6.3 安裝配置Apache2.2.6的方法(源碼編譯安裝)

    CentOS 6.3 安裝配置Apache2.2.6的方法(源碼編譯安裝)

    這篇文章主要介紹了CentOS 6.3 安裝配置Apache2.2.6的方法,需要的朋友可以參考下
    2014-11-11
  • 淺談linux下的串口通訊開(kāi)發(fā)

    淺談linux下的串口通訊開(kāi)發(fā)

    下面小編就為大家?guī)?lái)一篇淺談linux下的串口通訊開(kāi)發(fā)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • 詳解Linux 虛擬機(jī)根分區(qū)磁盤(pán)擴(kuò)充空間記錄

    詳解Linux 虛擬機(jī)根分區(qū)磁盤(pán)擴(kuò)充空間記錄

    這篇文章主要介紹了詳解Linux 虛擬機(jī)根分區(qū)磁盤(pán)擴(kuò)充空間記錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • linux驅(qū)動(dòng)開(kāi)發(fā)中常用函數(shù)copy_from_user open read write詳解

    linux驅(qū)動(dòng)開(kāi)發(fā)中常用函數(shù)copy_from_user open read write詳解

    本文解說(shuō)了inux驅(qū)動(dòng)開(kāi)發(fā)函數(shù)copy_from_user ,open ,read write幾個(gè)常用函數(shù),現(xiàn)在一起來(lái)學(xué)習(xí)他們的使用過(guò)程吧
    2021-08-08

最新評(píng)論