成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

高級網工必備!Tcpdump 抓包神器從入門到實戰全攻略

網絡 網絡運維
在網絡運維中,Windows 用戶常用 Wireshark 抓包,那 Linux 服務器該如何分析網絡流量?今天揭秘高級網工的「瑞士軍刀」——Tcpdump,從安裝到實戰全流程拆解。

為了更好的分析網絡,常見客戶機的Windows操作系統可以安裝Wireshark等抓包軟件抓取數據流進行分析。那么服務器常用的Linux等系統如何抓取接口報文分析網絡呢?

本期將介紹高級網工必備工具—Tcpdump!

一、Tcpdump簡介 

在網絡運維中,Windows 用戶常用 Wireshark 抓包,那 Linux 服務器該如何分析網絡流量?今天揭秘高級網工的「瑞士軍刀」——Tcpdump,從安裝到實戰全流程拆解,文末附避坑指南!

工具定位:為什么網工必須掌握 Tcpdump?

Tcpdump是類 Unix 系統的王牌抓包工具,名字由「TCP 協議」和「數據導出」組合而來。它基于 libpcap 庫實時捕獲網絡數據包,支持:

  •  嗅探并保存流量數據
  • 按協議 / 端口 / IP 精準過濾
  • 生成 pcap 文件供后續分析

適用場景:Linux、Solaris、BSD 等系統,Windows 版本為 WinDump(需 WinPcap 驅動)。

二、Tcpdump安裝介紹  

在Linux操作系統中安裝tcpdump,你可以通過以下步驟進行:

  • 打開終端:在Linux系統中,你可以通過點擊終端圖標或使用快捷鍵(通常是Ctrl+Alt+T)來打開終端。
  • 使用包管理器安裝tcpdump:根據你的Linux發行版,選擇對應的包管理器來安裝tcpdump。

以下是一些常見的發行版和對應的包管理器:

  • Ubuntu/Debian:使用apt-get命令安裝。在終端中輸入以下命令并按回車鍵:
sudo apt-get update
sudo apt-getinstall tcpdump
  • CentOS/Fedora:使用yum命令安裝。在終端中輸入以下命令并按回車鍵:
sudo yum update
sudo yum install tcpdump
  • Arch Linux:使用pacman命令安裝。在終端中輸入以下命令并按回車鍵:
sudo pacman -Sy tcpdump

請注意,安裝過程中可能需要輸入管理員密碼進行確認。

  • 等待安裝完成:安裝過程可能需要一些時間,系統會自動下載并安裝tcpdump及其依賴包。
  • 驗證安裝:安裝完成后,你可以通過在終端中輸入以下命令來驗證安裝是否成功:
tcpdump --version

如果輸出tcpdump的版本信息,則說明安裝成功。

這樣,你就成功在Linux操作系統中安裝了tcpdump。接下來,你可以使用tcpdump命令來捕獲和分析網絡數據包了。記得在使用tcpdump時,可能需要使用sudo或以root用戶身份運行以便獲取足夠的權限來捕獲數據包。

三、Tcpdump基本用法  

通過命令:tcpdump -help,可查看tcpdump工具命令選項:

Tcpdump的基本命令格式是:  tcpdump [選項] [表達式] 

  • -a:將網絡地址和廣播地址轉變成名字
  • -A:以ASCII碼格式打印出所有數據包,并將鏈路層的頭部最小化
  • -B:用于設置操作系統捕捉緩沖大小
  • -c:指定抓取數據包的數量
  • -C:此選項用于配合-w選項使用,如果保存文件大小超過閾值則關閉當前文件,并啟用新文件繼續保存數據(分多個固定大小的文件保存抓包數據,利于長期抓包的場景)
  • -d  將匹配到的數據包以人們能夠理解的匯編格式輸出
  • -dd:以C語言的形式打印出包匹配碼.
  • -ddd:以十進制數的形式打印出包匹配碼
  • -D:打印系統中所有支持抓包的網絡接口
  • -e:在輸出行打印出數據鏈路層的頭部信息
  • -E:解密IPsec ESP分組。具體來說,它使用spi@ipaddr algo:secret的格式來解密那些以addr作為地址,并且包含了安全參數索引值spi的IPsec ESP分組。這樣,tcpdump可以捕獲并顯示經過IPsec加密的數據包內容,幫助用戶更好地分析和理解網絡流量
  • -f :將外部的因特網地址以數字的形式打印出來
  • -F:使用file文件作為過濾條件表達式的輸入
  • -i:指定監聽網絡接口
  • -l:對標準輸出進行行緩沖
  • -L:列出指定網絡接口所支持的數據鏈路層的類型后退出
  • -m:通過module 指定的file 裝載SMI MIB 模塊
  • -n:不把網絡地址轉換成名稱,即直接顯示IP地址而不是主機名
  • -N:不打印出host 的域名部分
  • -nn:不進行端口名稱的轉換
  • -O:不啟用進行包匹配時所用的優化代碼
  • -p:不讓網絡接口進入混雜模式
  • -q:快速簡短打印輸出
  • -R:設定tcpdump 對 ESP/AH 數據包的解析按照 RFC1825而不是RFC1829
  • -r:從文件file 中讀取包數據
  • -s:數據包抓取長度,如果不設置默認將會是68字節
  • -S:打印TCP 數據包的順序號時, 使用絕對的順序號, 而不是相對的順序號
  • -t:在每行輸出中不打印時間戳
  • -tt:不對每行輸出的時間進行格式處理
  • -ttt:tcpdump 輸出時, 每兩行打印之間會延遲一個段時間(以毫秒為單位)
  • -tttt:在每行打印的時間戳之前添加日期的打印
  • -u:打印出未加密的NFS句柄
  • -U:使得當tcpdump在使用-w 選項時, 其文件寫入與包的保存同步
  • -v:分析和打印產生詳細的輸出
  • -vv:產生比-v更詳細的輸出
  • -vvv:產生比-vv更詳細的輸出
  • -w:把包數據直接寫入文件而不進行分析和打印輸出
  • -W:設置輸出文件的最大數目
  • -x:以十六進制的形式打印每個數據包的頭部數據,但是不包括數據鏈路層的頭部
  • -xx:以十六進制的形式打印每個數據包的頭部數據,并且包括數據鏈路層的頭部
  • -X:以ASCII碼格式顯示輸出,但是不包括數據鏈路層的頭部
  • -XX:以ASCII碼格式顯示輸出,并且包括數據鏈路層的頭部
  • -y:只捕獲數據鏈路層協議類型是datalinktype的數據包

四、Tcpdump常見捕獲方式  

(1) 默認啟動

tcpdump監視系統第一個網絡接口上所有流過的數據包。

tcpdump

(2) 抓取網卡eth0

抓取網卡eth0上所有報文

tcpdump -i eth0

(3) 抓取指定MAC

抓取ath10接口上包含MAC地址為11:22:33:44:55:66的數據包,并保存為ath10.pcap于當前路徑下:

tcpdump –i ath10 –w ath10.pcapetherhost 11:22:33:44:55:66

抓取ath10接口上源MAC地址為11:22:33:44:55:66的數據包,并保存為ath10.pcap于當前路徑下:

tcpdump –i ath10 –w ath10.pcapethersrc 11:22:33:44:55:66

抓取ath10接口上目的MAC地址為11:22:33:44:55:66的數據包,并保存為ath10.pcap于當前路徑下:

tcpdump –i ath10 –w ath10.pcapetherdst 11:22:33:44:55:66

(4) 抓取指定的主機

抓取eth0網卡上IP為192.168.168.2的所有報文:

tcpdump -i eth0 -nn 'host 192.168.1.2'

抓取eth0網卡上源IP為192.168.168.2的所有報文:

tcpdump -i eth0 -nn 'src host 192.168.1.2'

抓取eth0網卡上目的IP為192.168.168.2的所有報文:

tcpdump -i eth0 -nn 'dst host 192.168.1.2'

(5) 抓取指定端口

抓取eth0網卡上端口號為80的所有報文:

tcpdump -i eth0 -nnA 'port 80'

(6) 抓取指定主機和端口

抓取eth0網卡上IP為192.168.1.2且端口號為80的所有報文

tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.2'

(7) 抓取除某個端口外的其它端口

排除某個端口或者主機可以使用“!”符號,上例表示監聽非22端口的數據包。

tcpdump -i eth0 -nnA '!port 22'

(8) 協議過濾

可過濾ip6、arp、icmp、tcp、udp、igmp等協議:

tcpdump –i ath10 –w ath10.pcaptcpandetherhost 88:bf:e4:fc:26:19

該命令可以抓取ath10接口上包含MAC地址為88:bf:e4:fc:26:19的tcp數據包,保存于ath10.pcap文件中。

(9) 組合過濾

過濾規則可以通過邏輯運算符組合使用,注意協議的預過濾規則要放在第一位。

tcpdump –i eth0 –w eth0.pcaptcpandsrc ‘(192.168.96.54or 192.168.96.7)’

該命令可以抓取eth0接口上源地址為192.168.96.54及192.168.96.7的tcp數據包,保存于eth0.pcap文件中。注:小括號 () 需與轉義符 ’ 搭配使用。

(10) 分文件滾動保存(適合長期監控)

tcpdump -i eth0 -C 100 -W 10 -w daily_%Y%m%d.pcap
注釋:每個文件 100MB,最多保留 10 個文件,自動按日期命名。

(11) 抓取指定長度數據包(節省空間)

tcpdump -i eth0 -s 200  # 只抓前200字節

(12) 結合正則表達式過濾

tcpdump -i eth0 -A 'tcp[20:2] > 1000'  # 抓取TCP窗口大于1000的包

五、注意事項

1. 數據解碼優化  

tcpdump直接輸出的數據包多為十六進制格式,不利于分析。最佳實踐: 抓包時用-w參數保存為pcap文件:  

tcpdump -i eth0 -w traffic.pcap

- 用Wireshark等工具打開文件解碼分析,避免直接查看原始輸出。  

2. 進程殘留處理  

按Ctrl+C/Z結束抓包后,可能存在進程殘留導致內存占用異常。解決步驟:  

- 檢查殘留進程:  

ps | grep tcpdump

- 強制終止所有進程:  

killall tcpdump

3. 文件管理策略  

pcap文件長期留存會占用磁盤空間。清理方法:  

- 查看文件列表及大小:  

ls -la | grep pcap

- 刪除指定文件(替換xxx為文件名):  

rm xxx.pcap  
責任編輯:趙寧寧 來源: 小云君網絡
相關推薦

2025-07-09 07:10:00

2025-04-02 09:33:01

2025-04-16 08:35:55

2025-05-28 08:45:00

2010-08-16 09:48:38

無線局域網

2010-09-06 11:00:35

無線網絡參數

2010-09-25 15:03:08

無線局域網

2023-10-13 19:42:00

2025-06-24 08:52:54

2010-08-30 10:48:01

無線網絡參數

2009-04-14 09:50:00

無線局域網網絡故障

2010-04-23 14:04:23

Oracle日期操作

2013-06-08 11:13:00

Android開發XML解析

2013-04-15 10:48:16

Xcode ARC詳解iOS ARC使用

2024-05-07 09:01:21

Queue 模塊Python線程安全隊列

2021-04-23 20:59:02

ThreadLocal內存

2020-03-05 09:53:59

ElasticSearLuceneJava

2011-12-20 14:39:57

傲游手機瀏覽器

2009-02-20 11:43:22

UNIXfish全攻略

2014-03-19 17:22:33

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区四区在线播放 | 久久久久亚洲精品 | 日本天堂在线观看 | 国产成人午夜 | 色妞网| 免费网站av | 日皮视频在线观看 | 在线观看av的网站 | 中文字幕一区二区在线播放 | 91亚洲成人 | 精品视频在线观看免费 | 国产精品福利在线观看 | 欧美在线亚洲 | 黄色aaa| 欧美一级片在线 | 一区二区高清视频 | 性史性dvd影片农村毛片 | 一区二区三区视频在线播放 | 日韩免费高清 | 视频在线一区二区 | 国产一区二三区 | 青青草国产精品 | 国产福利网站 | 丁香婷婷色 | 国产三级在线 | 师生出轨h灌满了1v1 | 欧美精品日韩 | 国产精品久久久久久久免费看 | 天天躁日日躁狠狠躁av麻豆男男 | 永久黄网站色视频免费观看w | 天天摸夜夜操 | 国产视频网 | 91av在线播放| 国产一区精品在线观看 | 欧美日韩一本 | 免费视频国产 | 亚洲+小说+欧美+激情+另类 | 久久久一区二区三区 | 97久久超碰| 国产精品羞羞答答 | 久久久久久久91 |