前言
Tcpdump
是用于分析網(wǎng)絡(luò)和查找相關(guān)網(wǎng)絡(luò)問題的出色工具。它會在數(shù)據(jù)包經(jīng)過時捕獲數(shù)據(jù)包,并向您顯示網(wǎng)絡(luò)上正在發(fā)生的事情和傳入情況。該命令的輸出顯示在 STDOUT
上,也可以存儲在文件中。
感謝開發(fā)人員,他們將Tcpdump
保留為開源項目。它可以在Unix和Linux系統(tǒng)上免費獲得。視窗有一個“微海外杠TCPDUMP
用于視窗”變體,并帶有相關(guān)的價格標簽。
tcpdump
有一長串可用的選項。在本文中,我將重點介紹經(jīng)常使用的核心選項。
檢查可用接口
要檢查要捕獲的所有可用接口,請使用-D
標志作為:
sudo tcpdump -D
這將列出系統(tǒng)上的所有接口,包括無線和有線接口等。該標志也可以獲得相同的功能:--list-interfaces
sudo tcpdump --list-interfaces
在這里插入圖片描述
捕獲特定接口的數(shù)據(jù)包
在不使用任何選項的情況下,Tcpdump
將掃描所有接口。該標志捕獲來自特定接口的流量:-i
tcpdump -i <target-interface>
將 替換為要掃描的接口的名稱。例如,在 接口 的情況下,此命令將作為:target-interfaceeth0
sudo tcpdump -i eth0
注意:從現(xiàn)在開始,我將使用 or 作為目標接口。因此,無論您在何處看到 -i 標志,它都將伴隨界面或 eth0
eth1
eth0
eth1
預設(shè)捕獲計數(shù)
該標志可用于預設(shè)要捕獲的數(shù)據(jù)包數(shù)-c
例如,我們將此值設(shè)置為 4
以捕獲四個數(shù)據(jù)包。在本例中,該命令將為:
sudo tcpdump -c 4 -i eth0
如果未指定計數(shù),則將使用組合鍵或 手動中斷捕獲操作。
ctrl+cctrl+z
在下面的文章中,我將根據(jù)需要將標志與其他標志一起添加。這將有助于我們清晰,輕松地理解命令的輸出。-c
獲取詳細輸出
要獲取命令的詳細輸出,可以使用標志:tcpdump-v
sudo tcpdump -c 6 -v -i eth0
您可以使用更多標志 as 或 進一步提高詳細程度。這將在終端上產(chǎn)生更詳細的輸出:-v
-vv
-vvv
sudo tcpdump -vv -i eth0
以 ASCII 格式打印捕獲的數(shù)據(jù)
有時,我們可能要求 Tcp
轉(zhuǎn)儲輸出采用十六進制或 ASCII 格式。我們可以使用 ASCII 格式以及 ASCII 和十六進制格式的選項來解決這個問題:-A-
XX
sudo tcpdump -XX -i eth0
在這里插入圖片描述
捕獲從特定源 IP 發(fā)送的數(shù)據(jù)包
如果要檢查來自特定源 IP 地址的流量,請使用以下命令:
sudo tcpdump -i eth0 src address>
讓我們將源 IP 作為并查看流量的詳細信息:192.168.56.11
sudo tcpdump -i eth1 -c 5 src 192.168.56.11
此處的計數(shù) 5 將僅捕獲前五個數(shù)據(jù)包。
捕獲發(fā)送到特定目標 IP 的數(shù)據(jù)包
如果要檢查發(fā)送到特定目標 IP 地址的流量,請使用以下命令:
sudo tcpdump -i eth0 dst address>
讓我們將目標 IP 作為并查看流量的詳細信息:192.168.56.11
sudo tcpdump -i eth1 -c 5 dst 192.168.56.11
在這里插入圖片描述
將過濾選項與 Tcp 轉(zhuǎn)儲結(jié)合使用
這是縮小捕獲數(shù)據(jù)范圍以進行檢查的好方法。這將消除不必要的流量并簡化您的工作。為此,您可以根據(jù)主機、端口、協(xié)議和其他條件篩選流量。
讓我們看看其中的一些:
端口號
如果要根據(jù)端口號過濾流量,例如端口 22
,則按如下方式執(zhí)行命令:tcpdump
sudo tcpdump -i eth0 port 22
此命令將捕獲 TCP 和 UDP 流量。
協(xié)議
與端口指令類似,該指令根據(jù)特定流量過濾數(shù)據(jù)包捕獲。在這里,您可以使用協(xié)議名稱或協(xié)議編號作為參數(shù)值:proto
sudo tcpdump -i eth0 proto tcp
sudo tcpdump -i eth0 proto 6
令您驚訝的是,上面的兩個命令是等效的。這是因為 是 TCP 的協(xié)議編號。6
主機過濾器
host
參數(shù)只是使用其 IP 過濾來自特定主機的流量:
sudo tcpdump -i eth0 host 192.168.56.10
這將捕獲所有流量并從此主機流出。有趣的是,您可以將多個過濾器應(yīng)用于主機,以針對特定類型的數(shù)據(jù)包流量。
例如:
sudo tcpdump -i eth1 -c 50 “(host 192.168.56.11) and (port 443 or port 80)"
在這里,我將不同的過濾規(guī)則合并到一個規(guī)則中。您可以看到此規(guī)則是過濾和流量。這是因為該規(guī)則包含端口
80
和 443
(公共網(wǎng)絡(luò)端口)的篩選器。http
https
保存捕獲的數(shù)據(jù)
如果要將捕獲的數(shù)據(jù)存儲在文件中,可以這樣操作。
sudo tcpdump -i eth0 -c 10 -w my_capture.pcap
將數(shù)據(jù)包計數(shù)保持在較小的值;否則,您可能需要手動停止該過程。
讀取捕獲的數(shù)據(jù)
您可以使用存儲在文件中的數(shù)據(jù)與Wireshark
或任何其他圖形網(wǎng)絡(luò)協(xié)議分析器進行分析。.pcap
您可以使用 tcp
轉(zhuǎn)儲本身來讀取它。
tcpdump -r my_capture.pcap
上面的屏幕截圖顯示了上述文件的數(shù)據(jù)。
my_capture.pcap
結(jié)語
希望您對如何使用不同的方式使用tcpdump命令有一個很好的想法。當您從遠程無外設(shè)計算機捕獲數(shù)據(jù)包時,這是最佳選擇。
如果您想要一種更直觀的方式來理解數(shù)據(jù)包捕獲,請嘗試使用Wireshark。
-
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7811瀏覽量
90830 -
文件
+關(guān)注
關(guān)注
1文章
579瀏覽量
25342 -
數(shù)據(jù)包
+關(guān)注
關(guān)注
0文章
269瀏覽量
24974
發(fā)布評論請先 登錄
Linux系統(tǒng)中unlink命令的使用
在Linux中使用tcp轉(zhuǎn)儲命令來分析網(wǎng)絡(luò)
用于分析可執(zhí)行程序和內(nèi)存轉(zhuǎn)儲的命令行工具介紹

Linux的常用網(wǎng)絡(luò)命令
基于TCP/IP協(xié)議的網(wǎng)絡(luò)連接網(wǎng)絡(luò)管理命令

評論