tcpdump常用引數說明

2021-09-08 15:00:35 字數 2689 閱讀 4619

(一)、學習tcpdump的5個引數 初次使用tcpdump時,使用tcpdump -h命令可以看到它有數十個引數。

根據我們在運維工作中的經驗,掌握tcpdump以下5個引數即可滿足大部分的工作需要了。

❶-i引數。使用-i引數指定需要抓包的網絡卡。如果未指定的話,tcpdump會根據搜尋到的系統中狀態為up的最小數字的網絡卡確定,一般情況下是eth0。使用-i引數通過指定需要抓包的網絡卡,可以有效的減少抓取到的資料報的數量,增加抓包的針對性,便於後續的分析工作。

❷-nnn引數。使用-nnn引數禁用tcpdump展示時把ip、埠等轉換為網域名稱、埠對應的知名服務名稱。這樣看起來更加清晰。

❸-s引數。使用-s引數,指定抓包的包大小。使用-s 0指定資料報大小為262144位元組,可以使得抓到的資料報不被截斷,完整反映資料報的內容。

❹-c引數。使用-c引數,指定抓包的數量。

❺-w引數。使用-w引數指定抓包檔案儲存到檔案,以便後續使用wireshark等工具進行分析。

(二)、學習tcpdump的過濾器 tcpdump提供了豐富的過濾器,以支援抓包時的精細化控制,達到減少無效資訊干擾的效果。我們常用的過濾器規則有下面幾個: ❶host a.b.c.d:指定僅抓取本機和某主機a.b.c.d的資料通訊。

❷tcp port x:指定僅抓取tcp協議目的埠或者源埠為x的資料通訊。

❸icmp:指定僅抓取icmp協議的資料通訊。

❹!:反向匹配,例如port ! 22,抓取非22埠的資料通訊。 以上幾種過濾器規則,可以使用and或者or進行組合,例如: host a.b.c.d and tcp port x:則只抓取本機和某主機a.b.c.d之間基於tcp的目的埠或者源埠為x的資料通訊。 tcp port x or icmp:則抓取tcp協議目的埠或者源埠為x的資料通訊或者icmp協議的資料通訊。

(三)、例項:

下面的例子全是以抓取eth0介面為例,如果不加」-i eth0」是表示抓取所有的介面包括lo。

1、抓取包含10.10.10.122的資料報 

# tcpdump -i eth0 -vnn host 10.10.10.122

2、抓取包含10.10.10.0/24網段的資料報

# tcpdump -i eth0 -vnn net 10.10.10.0/24

3、抓取包含埠22的資料報

# tcpdump -i eth0 -vnn port 22 

4、抓取udp協議的資料報

# tcpdump -i eth0 -vnn  udp

5、抓取icmp協議的資料報

# tcpdump -i eth0 -vnn icmp

6、抓取arp協議的資料報

# tcpdump -i eth0 -vnn arp

7、抓取ip協議的資料報

# tcpdump -i eth0 -vnn ip

8、抓取源ip是10.10.10.122資料報。

# tcpdump -i eth0 -vnn src host 10.10.10.122

9、抓取目的ip是10.10.10.122資料報

# tcpdump -i eth0 -vnn dst host 10.10.10.122

10、抓取源埠是22的資料報

# tcpdump -i eth0 -vnn src port 22

11、抓取源ip是10.10.10.253且目的ip是22的資料報

# tcpdump -i eth0 -vnn src host 10.10.10.253 and dst port 22

12、抓取源ip是10.10.10.122或者包含埠是22的資料報

# tcpdump -i eth0 -vnn src host 10.10.10.122 or port 22

13、抓取源ip是10.10.10.122且埠不是22的資料報

[root@ ftp]# tcpdump -i eth0 -vnn src host 10.10.10.122 and not port 22

14、抓取源ip是10.10.10.2且目的埠是22,或源ip是10.10.10.65且目的埠是80的資料報。

# tcpdump -i eth0 -vnn \( src host 10.10.10.2 and dst port 22 \) or   \( src host 10.10.10.65 and dst port 80 \)

15、抓取源ip是10.10.10.59且目的埠是22,或源ip是10.10.10.68且目的埠是80的資料報。

[root@localhost ~]# tcpdump -i  eth0 -vnn 'src host 10.10.10.59 and dst port 22' or  ' src host 10.10.10.68 and dst port 80 '

16、把抓取的資料報記錄存到/tmp/fill檔案中,當抓取100個資料報後就退出程式。

# tcpdump –i eth0 -vnn -w  /tmp/fil1 -c 100

17、從/tmp/fill記錄中讀取tcp協議的資料報

# tcpdump –i eth0 -vnn -r  /tmp/fil1 tcp

18、從/tmp/fill記錄中讀取包含10.10.10.58的資料報

# tcpdump –i eth0 -vnn -r  /tmp/fil1 host  10.10.10.58

tcpdump抓包分析詳解

linux tcpdump命令詳解

tcpdump常用引數說明及常見操作

過濾協議 tcp udp ipv4 ipv6 arp icmp 1 抓取包含10.10.10.122的資料報 tcpdump i eth0 vnn host 10.10.10.122 2 抓取包含10.10.10.0 24網段的資料報 tcpdump i eth0 vnn net 10.10.10....

uwsgi常用引數說明

demo.socket 4 root workspace djangodemo root workspace djangodemo djangodemo.wsgi var run django demo.pid var log django demo.log processes 同時啟動uwsgi程...

configure常用引數說明

在交叉編譯中比較常見的引數是build host和target了,正確的理解這三者的含義對於交叉編譯是非常重要的,下面就此進行解釋 build 編譯該軟體所使用的平台 在什麼平台上進行編譯 host 該軟體將執行的平台 生成的程式在什麼平台上執行 target 該軟體所處理的目標平台 我們以 編譯 ...