使用 tcpdump 工具抓包

2022-05-06 14:39:10 字數 2270 閱讀 1167

tcpdump 是一款 linux 平台的網路資料報截獲和分析工具,支援針對協議、主機、網口、埠等進行過濾。並且可以使用 and、or、not 等邏輯語句對過濾器進行組合,實現針對性截獲。

使用 -i 引數指定監聽的網口。不指定預設監聽第乙個(所以通常來講,這個引數都需要指定,因為不指定很可能抓不到,而不是抓到多餘的資料)。

tcpdump -i ens192
其中,ens192 是網口名稱,可以使用 ifconfig 檢視,如下:

可以使用 any 指定抓取所有網口的資料:

tcpdump -i ens192
使用 host 引數指定監聽本機與指定的主機之間(雙向)的通訊包。不指定預設監聽與所有主機的通訊。

tcpdump -i ens192 host 172.16.160.215
其中,172.16.160.215 是目標主機。這裡我指定的是我本機,因為我使用 xshell 連線了伺服器,所以一直有 ssh 包資料。

使用 src host 引數監聽指定主機到本機(單向,入)的通訊包

tcpdump -i ens192 src host 172.16.160.215
使用 dst host 引數監聽本機到指定主機(單向,出)的通訊包

不使用 src 或者 dst,單獨使用 host,則表示監聽雙向通訊包。

使用 port 引數指定監聽的埠。不指定預設監聽所有埠的資料。

tcpdump -i ens192 port 3306
上述語句監聽本機 ens192 網口與所有主機之間(雙向)使用 3306 埠的通訊包

tcpdump -i ens192 src port 3306
上述語句監聽所有經過本機 ens192 網口並且發出方埠為 3306 的通訊包。

tcpdump -i ens192 dst port 3306
上述語句監聽所有經過本機 ens192 網口並且接收方埠為 3306 的通訊包。

只監聽 tcp 通訊包。不指定預設監聽所有協議。

tcpdump -i ens192 tcp
只監聽 udp 通訊包

tcpdump -i ens192 udp

tcpdump -i ens192 src host www.baidu.com and dst 172.16.163.36
上述語句監聽所有從 www.baidu.com 到 172.16.163.36 的資料報(單向),針對  src host www.baidu.com and dst 172.16.163.36

,當命令執行在 172.16.163.36 上時,效果等同於  src host www.baidu.com ,當命令執行在 www.baidu.com 上時,效果等同於 dst 172.16.163.36

tcpdump -i ens192 host www.baidu.com and 172.16.163.36
上述語句監聽所有 www.baidu.com 和 172.16.163.36 之間的通訊包(雙向),這種寫法,如果兩個 host 中不包含本機 host,則通常抓取不到資料。

tcpdump -i ens192 host www.baidu.com or 172.16.160.215
上述語句監聽與 www.baidu.com 和 172.16.160.215 任意主機的通訊包,不論出入方向。

tcpdump -i ens192 src host www.baidu.com or 172.16.160.217
上述語句監聽來自 www.baidu.com 的通訊包和與 172.16.160.217 來往的通訊包。

使用 -s 0 抓取完整資料報

使用 -c 100 指定抓取 100 個資料報後自動退出。

使用 -w 指定輸出檔案

tcpdump -i ens192 -w data.cap
上述語句講抓取的資料輸出到當前目錄下的 data.cap 檔案(沒有則建立檔案)。

9. 常見示例

抓取

Tcpdump抓包命令使用

tcpdump命令需要使用root執行 檢視網絡卡命令 ifconfig 監視編址到指定埠的tcp或udp資料報,那麼執行以下命令 tcpdump i eth0 host 10.43.159.11 and port 8983 輸出資訊到檔案 tcpdump i eth0 host 10.43.159...

pfsense使用tcpdump抓包

前言 pfsense自帶有tcpdump抓包工具,根據版本的不同,區別在於老版本的可能不支援某些tcpdump的引數。使用之前可以檢視tcpdump help檢視支援的引數,在進一步進行配置。一 登入pfsense的web介面,開啟ssh。二 防火牆放行ssh。三 使用putty登入pfsense,...

tcpdump 抓包使用小結

下面的例子全是以抓取 eth0 介面為例,如果不加 i eth0 是表示抓取所有的介面包括 lo 123 4567 891011 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 4041 4243 抓取包含 ...