Linux抓包命令tcpdump詳解筆記

文章目錄

    • 一、tcpdump 是什么?
    • 二、基本語法
    • 三、常用參數說明
    • 四、抓包示例(通俗易懂)
      • 1. 抓所有數據包(默認 eth0)
      • 2. 指定接口抓包
      • 3. 抓取端口 80 的數據包(即 HTTP 請求)
      • 4. 抓取訪問某個 IP 的數據包
      • 5. 抓取 TCP 協議的數據包
      • 6. 抓取源 IP 為 192.168.1.5 的包
      • 7. 抓取目的端口為 22(SSH) 的包
      • 8. 抓取數據并保存為 pcap 文件
    • 五、過濾表達式組合
    • 六、實時查看數據包內容
    • 七、常見用途總結
    • 八、停止抓包
    • 九、注意事項
    • 十、案例:排查 Web 服務訪問異常
        • 背景
        • 第一步:服務端開啟抓包
        • 第二步:客戶端 curl 請求
        • 第三步:分析抓包輸出(部分示例)
        • 如果沒有抓到內容怎么辦?
    • 總結:通過抓包排查服務異常

一、tcpdump 是什么?

tcpdump 是一個命令行抓包工具,它可以監聽網絡接口上的數據包,并將其內容打印出來。相比圖形化工具(如 Wireshark),tcpdump 更輕量、適合遠程服務器操作。


二、基本語法

tcpdump [選項] [過濾表達式]

常用結構:

sudo tcpdump -i eth0

三、常用參數說明

參數含義
-i interface指定要監聽的網絡接口,例如 eth0, ens33, lo
-nn不將地址和端口轉換為主機名和服務名
-v, -vv, -vvv輸出更詳細的包信息
-c num抓取指定數量的包后自動退出
-w file將抓到的包寫入文件,供 Wireshark 分析(如:.pcap
-r file讀取之前保存的 .pcap 文件
-s size抓取數據包的大小(默認只抓前96字節)

四、抓包示例(通俗易懂)

1. 抓所有數據包(默認 eth0)

sudo tcpdump

2. 指定接口抓包

sudo tcpdump -i ens33

3. 抓取端口 80 的數據包(即 HTTP 請求)

sudo tcpdump -i ens33 port 80

4. 抓取訪問某個 IP 的數據包

sudo tcpdump host 192.168.1.10

5. 抓取 TCP 協議的數據包

sudo tcpdump tcp

6. 抓取源 IP 為 192.168.1.5 的包

sudo tcpdump src 192.168.1.5

7. 抓取目的端口為 22(SSH) 的包

sudo tcpdump dst port 22

8. 抓取數據并保存為 pcap 文件

sudo tcpdump -i ens33 -w output.pcap

然后可以用 Wireshark 打開 output.pcap 文件分析。


五、過濾表達式組合

可以使用 AND、OR、NOT 來組合條件:

#抓取目的端口為 80 且源 IP 為 192.168.1.10 的包
sudo tcpdump dst port 80 and src 192.168.1.10#抓取非本機 IP 的所有包
sudo tcpdump not src host 127.0.0.1

六、實時查看數據包內容

sudo tcpdump -A -i ens33 port 80

-A 會以 ASCII 格式輸出數據內容,適合抓取 HTTP 明文請求。


七、常見用途總結

場景示例命令
抓某個 IP 的流量tcpdump host 192.168.1.10
抓某個端口的流量tcpdump port 3306
保存抓包文件tcpdump -w mysql.pcap port 3306
實時觀察 HTTP 內容tcpdump -A port 80

八、停止抓包

  • 直接 Ctrl + C 停止并返回統計信息。

九、注意事項

  1. tcpdump 通常需要 root 權限

  2. 不能抓加密內容(如 HTTPS),但可以看到握手。

  3. 若接口名不知道,可以使用命令查看所有網絡接口:

    ip a
    

十、案例:排查 Web 服務訪問異常

背景

在維護一臺 Ubuntu 服務器,服務器 IP 是 192.168.163.130,在這臺機器上部署了一個 Web 服務(監聽在 80 端口),但用戶反映無法訪問。

需要確認:

  • 客戶端(比如另一臺機器)是否發起了請求?
  • 服務端是否接收到請求?
  • 響應是否正常返回?
第一步:服務端開啟抓包

在 Web 服務所在的服務器上運行

sudo tcpdump -i ens33 -nn -A port 80 and host 192.168.163.133

解釋:

  • -i ens33:監聽本機的網絡接口(你可根據 ip a 查具體名稱)
  • -nn:不解析主機名和端口名,顯示數字
  • -A:以 ASCII 形式輸出,便于看 HTTP 請求內容
  • port 80:只抓 HTTP 流量
  • host 192.168.163.133:只抓指定客戶端發來的數據(這臺是訪問你服務器的客戶端)
第二步:客戶端 curl 請求

在另一臺主機(比如 192.168.163.133)執行:

curl http://192.168.163.130

這會發起一個 HTTP 請求。

第三步:分析抓包輸出(部分示例)

如果服務正常,你應該會在 tcpdump 中看到類似內容:

GET / HTTP/1.1
Host: 192.168.163.130
User-Agent: curl/7.81.0
Accept: */*HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
...
<html>...</html>

說明:

  • 客戶端成功發起了 HTTP 請求(GET / HTTP/1.1
  • 服務器返回了 200 狀態碼
如果沒有抓到內容怎么辦?

可能是以下問題:

現象排查建議
抓不到任何包客戶端根本沒發起請求;或防火墻阻斷
有請求無響應服務未監聽 80 端口;nginx/apache 沒啟動
請求顯示連接被拒絕服務未運行,或被防火墻攔截
是 HTTPS 流量port 443,但內容是加密的,看不到明文

可以用以下命令排查服務狀態:

sudo ss -tnlp | grep :80        # 查看是否監聽了80端口
sudo ufw status                 # 查看防火墻

保存抓包供分析(可配合 Wireshark)

sudo tcpdump -i ens33 -w web_error.pcap port 80

然后傳輸 .pcap 文件到本地,用 Wireshark 打開,能更圖形化分析每一條請求響應

總結:通過抓包排查服務異常

步驟操作
開啟抓包tcpdump -i ens33 port 80 and host 客戶端IP
客戶端訪問測試curl http://服務端IP
實時分析 HTTP 請求-A 顯示明文
保存數據包-w file.pcap
tcpdump -i ens33 port 80 and host 客戶端IP
客戶端訪問測試curl http://服務端IP
實時分析 HTTP 請求-A 顯示明文
保存數據包-w file.pcap
問題排查方向沒請求 / 有請求無響應 / 端口監聽 / 防火墻攔截

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92724.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92724.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92724.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

抖音、快手、視頻號等多平臺視頻解析下載 + 磁力嗅探下載、視頻加工(提取音頻 / 壓縮等)

跟你們說個安卓上的下載工具&#xff0c;還挺厲害的。它能支持好多種下載方式&#xff0c;具體多少種我沒細數&#xff0c;反正挺全乎的。? 平時用得最多的就是視頻解析&#xff0c;像抖音、快手、B 站上那些視頻&#xff0c;想存下來直接用它就行&#xff0c;連海外視頻的也能…

【iOS】JSONModel源碼學習

JSONModel源碼學習前言JSONModel的使用最基礎的使用轉換屬性名稱自定義錯誤模型嵌套JSONModel的繼承源碼實現initWithDictionaryinit__doesDictionaryimportDictionary優點前言 之前了解過JSONModel的一些使用方法等&#xff0c;但是對于底層實現并不清楚了解&#xff0c;今天…

SmartMediaKit 模塊化音視頻框架實戰指南:場景鏈路 + 能力矩陣全解析

?? 引言&#xff1a;從“內核能力”到“模塊體系”的演進 自 2015 年起&#xff0c;大牛直播SDK&#xff08;SmartMediaKit&#xff09;便致力于打造一個可深度嵌入、跨平臺兼容、模塊自由組合的實時音視頻基礎能力框架。經過多輪技術迭代與場景打磨&#xff0c;該 SDK 已覆…

【第5話:相機模型1】針孔相機、魚眼相機模型的介紹及其在自動駕駛中的作用及使用方法

相機模型介紹及相機模型在自動駕駛中的作用及使用方法 相機模型是計算機視覺中的核心概念&#xff0c;用于描述真實世界中的點如何投影到圖像平面上。在自動駕駛系統中&#xff0c;相機模型用于環境感知&#xff0c;如物體檢測和場景理解。下面我將詳細介紹針孔相機模型和魚眼相…

推薦一款優質的開源博客與內容管理系統

Halo是一款由Java Spring Boot打造的開源博客與內容管理系統&#xff08;CMS&#xff09;&#xff0c;在 GitHub上擁有超過36K Start的活躍開發者社區。它使用GPL?3.0授權開源&#xff0c;穩定性與可維護性極高。 Halo的設計簡潔、注重性能&#xff0c;同時保持高度靈活性&a…

【GPT入門】第43課 使用LlamaFactory微調Llama3

【GPT入門】第43課 使用LlamaFactory微調Llama31.環境準備2. 下載基座模型3.LLaMA-Factory部署與啟動4. 重新訓練![在這里插入圖片描述](https://i-blog.csdnimg.cn/direct/e7aa869f8e2c4951a0983f0918e1b638.png)1.環境準備 采購autodl服務器&#xff0c;24G,GPU,型號3090&am…

計算機網絡:如何理解目的網絡不再是一個完整的分類網絡

這一理解主要源于無分類域間路由&#xff08;CIDR&#xff09;技術的廣泛應用&#xff0c;它打破了傳統的基于類的IP地址分配方式。具體可從以下方面理解&#xff1a; 傳統分類網絡的局限性&#xff1a;在早期互聯網中&#xff0c;IP地址被分為A、B、C等固定類別&#xff0c;每…

小米開源大模型 MiDashengLM-7B:不僅是“聽懂”,更能“理解”聲音

目錄 前言 一、一枚“重磅炸彈”&#xff1a;開源&#xff0c;意味著一扇大門的敞開 二、揭秘MiDashengLM-7B&#xff1a;它究竟“神”在哪里&#xff1f; 2.1 “超級耳朵” 與 “智慧大腦” 的協作 2.2 突破&#xff1a;從 “聽見文字” 到 “理解世界” 2.3 創新訓練&a…

mysql出現大量redolog、undolog排查以及解決方案

排查步驟 監控日志增長情況 -- 查看InnoDB狀態 SHOW ENGINE INNODB STATUS;-- 查看redo log配置和使用情況 SHOW VARIABLES LIKE innodb_log_file%; SHOW VARIABLES LIKE innodb_log_buffer_size;-- 查看undo log信息 SHOW VARIABLES LIKE innodb_undo%;檢查長時間運行的事務 -…

華為網路設備學習-28(BGP協議 三)路由策略

目錄&#xff1a; 一、BGP路由匯總1、注&#xff1a;使用network命令注入的BGP不會被自動匯總2、主類網絡號計算過程如下&#xff1a;3.示例 開啟BGP路由自動匯總bgp100 開啟BGP路由自動匯總import-route 直連路由 11.1.1.0 /24對端 為 10.1.12.2 AS 2004.手動配置BGP路…

微信小程序中實現表單數據實時驗證的方法

一、實時驗證的基本實現思路表單實時時驗證通過監聽表單元素的輸入事件&#xff0c;在用戶輸入過程中即時對數據進行校驗&#xff0c;并并即時反饋驗證結果&#xff0c;主要實現步驟包括&#xff1a;為每個表單字段綁定輸入事件在事件處理函數中獲取當前輸入值應用驗證規則進行…

openpnp - 頂部相機如果超過6.5米影響通訊質量,可以加USB3.0信號放大器延長線

文章目錄openpnp - 頂部相機如果超過6.5米影響通訊質量&#xff0c;可以加USB3.0信號放大器延長線概述備注ENDopenpnp - 頂部相機如果超過6.5米影響通訊質量&#xff0c;可以加USB3.0信號放大器延長線 概述 手頭有1080x720x60FPS的攝像頭模組備件&#xff0c;換上后&#xff…

【驅動】RK3576-Debian系統使用ping報錯:socket operation not permitted

1、問題描述 在RK3576-Debian系統中,連接了Wifi后,測試網絡通斷時,報錯: ping www.csdn.net ping: socktype: SOCK_RAW ping: socket: Operation not permitted ping: => missing cap_net_raw+p capability or setuid?2、原因分析 2.1 分析打印日志 socktype: SOCK…

opencv:圖像輪廓檢測與輪廓近似(附代碼)

目錄 圖像輪廓 cv2.findContours(img, mode, method) 繪制輪廓 輪廓特征與近似 輪廓特征 輪廓近似 輪廓近似原理 opencv 實現輪廓近似 輪廓外接矩形 輪廓外接圓 圖像輪廓 cv2.findContours(img, mode, method) mode:輪廓檢索模式&#xff08;通常使用第四個模式&am…

mtrace定位內存泄漏問題(僅限 GNU glibc 的 Linux)

一、mtrace原理 函數攔截機制&#xff1a;mtrace 利用 glibc 的內部機制&#xff0c;對 malloc() / calloc() / realloc() / free() 等內存函數進行 hook&#xff0c;記錄每一次分配和釋放行為。日志記錄&#xff1a;記錄會寫入 MALLOC_TRACE 環境變量指定的日志文件中&#xf…

高校合作 | 世冠科技聯合普華、北郵項目入選教育部第二批工程案例

近日&#xff0c;教育部學位與研究生教育發展中心正式公布第二批工程案例立項名單。由北京世冠金洋科技發展有限公司牽頭&#xff0c;聯合普華基礎軟件、北京郵電大學共同申報的"基于國產軟件棧的汽車嵌入式軟件開發工程案例"成功入選。該項目由北京郵電大學修佳鵬副…

TOMCAT筆記

一、前置知識&#xff1a;Web 技術演進 C/S vs B/S – C/S&#xff1a;Socket 編程&#xff0c;QQ、迅雷等&#xff0c;通信層 TCP/UDP&#xff0c;協議私有。 – B/S&#xff1a;瀏覽器 HTTP&#xff0c;文本協議跨網絡。 動態網頁誕生 早期靜態 HTML → 1990 年 HTTP 瀏覽…

上海一家機器人IPO核心零部件依賴外購, 募投計劃頻繁修改引疑

作者&#xff1a;Eric來源&#xff1a;IPO魔女8月8日&#xff0c;節卡機器人股份有限公司&#xff08;簡稱“節卡股份”&#xff09;將接受上交所科創板IPO上會審核。公司保薦機構為國泰海通證券股份有限公司&#xff0c;擬募集資金為6.76億元。報告期內&#xff0c;節卡股份營…

Linux810 shell 條件判斷 文件工具 ifelse

變量 條件判斷 -ne 不等 $(id -u) -eq [codesamba ~]$ [ $(id -u) -ne 0 ] && echo "the user is not admin" the user is not admin [codesamba ~]$ [ $(id -u) -eq 0] && echo "yes admin" || echo "no not " -bash: [: 缺少 …

ChatGPT 5的編程能力宣傳言過其實

2025年的8月7日&#xff0c;OpenAI 正式向全球揭開了GPT-5的神秘面紗&#xff0c;瞬間在 AI 領域乃至整個科技圈引發了軒然大波。OpenAI對GPT-5的宣傳可謂不遺余力&#xff0c;將其描繪成一款具有顛覆性變革的 AI 產品&#xff0c;尤其在編程能力方面&#xff0c;給出了諸多令人…