常用選項通過上述的實戰案例,相信大家已經掌握的 tcpdump 基本用法,在這里來詳細總結一下常用的選項參數。
(一)基礎選項
-i:指定接口
-D:列出可用于抓包的接口
-s:指定數據包抓取的長度
-c:指定要抓取的數據包的數量
-w:將抓包數據保存在文件中
-r:從文件中讀取數據
-C:指定文件大小,與 -w 配合使用
-F:從文件中讀取抓包的表達式
-n:不解析主機和端口號,這個參數很重要,一般都需要加上
-P:指定要抓取的包是流入還是流出的包,可以指定的值 in、out、inout
(二)輸出選項
-e:輸出信息中包含數據鏈路層頭部信息
-t:顯示時間戳,tttt 顯示更詳細的時間
-X:顯示十六進制格式
-v:顯示詳細的報文信息,嘗試 -vvv,v 越多顯示越詳細
過濾表達式
tcpdump 強大的功能和靈活的策略,主要體現在過濾器(BPF)強大的表達式組合能力。
(一)操作對象
表達式中可以操作的對象有如下幾種:
type,表示對象的類型,比如:host、net、port、portrange,如果不指定 type 的話,默認是 host
dir:表示傳輸的方向,可取的方式為:src、dst。
proto:表示協議,可選的協議有:ether、ip、ip6、arp、icmp、tcp、udp。
(二)條件組合
表達對象之間還可以通過關鍵字 and、or、not 進行連接,組成功能更強大的表達式。
or:表示或操作
and:表示與操作
not:表示非操作
建議看到這里后,再回頭去看實戰篇章的示例,相信必定會有更深的理解。如果是這樣,那就達到了我預期的效果了!
到這里就不再加新知識點了,分享一些工作中總結的經驗:
1. 我們要知道 tcpdump 不是萬能藥,并不能解決所有的網絡問題。
2. 在高流量場景下,抓包可能會影響系統性能,如果是在生產環境,請謹慎使用!
3. 在高流量場景下,tcpdump 并不適合做流量統計,如果需要,可以使用交換機鏡像的方式去分析統計。
4. 在 Linux 上使用 tcpdump 抓包,結合 wireshark 工具進行數據分析,能事半功倍。
5. 抓包時,盡可能不要使用 any 接口來抓包。
6. 抓包時,盡可能指定詳細的數據包過濾表達式,減少無用數據包的拷貝。
7. 抓包時,盡量指定 -n 選項,減少解析主機和端口帶來的性能開銷。
-
嵌入式
+關注
關注
5068文章
19019瀏覽量
303292 -
Linux
+關注
關注
87文章
11229瀏覽量
208927 -
端口
+關注
關注
4文章
955瀏覽量
32014 -
數據包
+關注
關注
0文章
252瀏覽量
24363
發布評論請先 登錄
相關推薦
評論