tcpdumtcpdump常用命令

2021-08-20 06:00:05 字數 4938 閱讀 6881

下面的例子全是以抓取eth0介面為例,如果不加」-i eth0」是表示抓取第一塊網絡卡。

首先安裝tcpdump包:yum install -y tcpdump

1、抓取包含172.16.1.122的資料報

# tcpdump -i eth0 -vnn host 172.16.1.122

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

# tcpdump -i eth0 -vnn net 172.16.1.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是172.16.1.122資料報。

# tcpdump -i eth0 -vnn src host 172.16.1.122

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

# tcpdump -i eth0 -vnn dst host 172.16.1.122

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

# tcpdump -i eth0 -vnn src port 22

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

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

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

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

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

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

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

# tcpdump -i eth0 -vnn src

host

172.16.1.2an

ddst

port

22srchost172.16.1.2anddstport22

or   src

host

172.16.1.65an

ddst

port

80srchost172.16.1.65anddstport80

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

# tcpdump -i  eth0 -vnn 'src host 172.16.1.59 and dst port 22' or  ' src host 172.16.1.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記錄中讀取包含172.16.1.58的資料報

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

tcpdump抓包並儲存成cap檔案

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

首選介紹一下tcpdump的常用引數

tcpdump採用命令列方式,它的命令格式為:

tcpdump [ -adeflnnopqstvx ] [ -c 數量 ] [ -f 檔名 ]

[ -i 網路介面 ] [ -r 檔名] [ -s snaplen ]

[ -t 型別 ] [ -w 檔名 ] [表示式 ]

1. tcpdump的選項介紹

-a 將網路位址和廣播位址轉變成名字;

-d 將匹配資訊包的**以人們能夠理解的彙編格式給出;

-dd 將匹配資訊包的**以c語言程式段的格式給出;

-ddd 將匹配資訊包的**以十進位制的形式給出;

-e 在輸出行列印出資料鏈路層的頭部資訊;

-f 將外部的internet位址以數字的形式列印出來;

-l 使標準輸出變為緩衝行形式;

-n 不把網路位址轉換成名字;

-t 在輸出的每一行不列印時間戳;

-v 輸出乙個稍微詳細的資訊,例如在ip包中可以包括ttl和服務型別的資訊;

-vv 輸出詳細的報文資訊;

-c 在收到指定的包的數目後,tcpdump就會停止;

-f 從指定的檔案中讀取表示式,忽略其它的表示式;

-i 指定監聽的網路介面;

-r 從指定的檔案中讀取包(這些包一般通過-w選項產生);

-w 直接將包寫入檔案中,並不分析和列印出來;

-t 將監聽到的包直接解釋為指定的型別的報文,常見的型別有rpc(遠端過程

呼叫)和snmp(簡單網路管理協議;)

當網路出現故障時,由於直接用tcpdump抓包分析有點困難,而且當網路中資料比較多時更不容易分析,使用tcpdump的-w引數+ethereal分析會很好的解決這個問題,具體引數如下:

tcpdump -i eth1-c2000-w eth1.cap

-i eth1只抓eth1口的資料

-c2000代表資料報的個數,也就是只抓2000個資料報

-w eth1.cap 儲存成cap檔案,方便用ethereal分析

抓完資料報後ftp到你的ftp伺服器,put一下,然後用ethereal軟體開啟就可以很直觀的分析了

注:有時將.cap檔案上傳到ftp伺服器後,發現用ethreal開啟時提示資料報大於65535

另:有的**提示在tcpdump中用-s0命令,例如 tcpdump -i eth1-c2000-s0-w eth1.cap,可實際執行該命令時系統卻提示無效的引數,去掉-s0引數即可

例子:

[root@localhost cdr]#tcpdump -i eth0-t tcp -s60000-w diaoxian.cap

[root@localhost cdr]# tcpdump host58.240.72.195-s60000-w x.cap

easyui常用控制項常用方法

easyui常用控制項使用方法 1.文字框 取值 id textbox getvalue 或 id val 2.鏈結按鈕 register 3.日曆控制項 顯示年月日 取值 kssj datebox getvalue 顯示年月日時分秒 取值 regtime datetimebox getvalue ...

常用指令碼 常用指令碼整理

1 addloadevent 網頁載入完成後把多個自己編寫的函式繫結到window.onload事件中 把現有的window.onload事件處理函式的值存入便令oldonload。如果在這個處理函式上還沒有繫結任何函式,就像平時那樣把新函式新增給它。如果在這個處理函式上已經繫結了一些函式,就把新函...

Redis set集合常用常用指令

sadd scard srem smember 檢視指定集合的所有元素 srandmember 隨機抽取指定元素的乙個值 srandmember 隨機抽取指定元素的多個值 spop smove 127.0.0.1 6379 sadd set1 2 3 4 5 6 1 設定集合元素 integer 6...