tcpdump基本知識

2021-08-18 20:44:41 字數 2018 閱讀 6530

tcpdump可以將網路中傳送的資料報的「頭」完全截獲下來提供分析。它支援針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的資訊。

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

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

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

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

第一種是關於型別的關鍵字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主機,net 202.0.0.0 指明 202.0.0.0是乙個網路位址,port 23 指明埠號是23。如果沒有指定型別,預設的型別是host.

第二種是確定傳輸方向的關鍵字,主要包括src , dst ,dst or src, dst and src ,這些關鍵字指明了傳輸的方向。舉例說明,src 210.27.48.2 ,指明ip包中源位址是210.27.48.2 , dst net 202.0.0.0 指明目的網路位址是202.0.0.0 。如果沒有指明方向關鍵字,則預設是src or dst關鍵字。

第三種是協議的關鍵字,主要包括fddi,ip,arp,rarp,tcp,udp等型別。fddi指明是在fddi(分布式光纖資料介面網路)上的特定 的網路協議,實際上它是"ether"的別名,fddi和ether具有類似的源位址和目的位址,所以可以將fddi協議包當作ether的包進行處理和 分析。其他的幾個關鍵字就是指明了監聽的包的協議內容。如果沒有指定任何協議,則tcpdump將會監聽所有協議的資訊包。

1. tcpdump的選項介紹

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

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

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

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

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

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

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

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

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

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

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

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

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

-t:將監聽到的包直接解釋為指定的型別的報文,常見的型別有rpc(遠端過程呼叫)和snmp(簡單網路管理協議;)

例子:a想要截獲所有210.27.48.1 的主機收到的和發出的所有的資料報:

#tcpdump host 210.27.48.1

b想要截獲主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通訊,使用命令:(在命令列中適用 括號時,一定要加斜槓 /)

#tcpdump host 210.27.48.1 and /(210.27.48.2 or 210.27.48.3 /)

c如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通訊的ip包,使用命令:

#tcpdump ip host 210.27.48.1 and ! 210.27.48.2

d如果想要獲取主機210.27.48.1接收或發出的telnet包,使用如下命令:

#tcpdump tcp port 23 host 210.27.48.1

e如果想要獲取某個網路介面接收或發出的所有資料報,使用如下命令:

#tcpdump -i eth0

f如果我們只需要例如送到80埠的資料報,用dst poet,如果只希望看到返回80埠的資料報,用src port:

#tcpdump –i eth0 host hostname and dst port 80  目的埠是80

#tcpdump –i eth0 host hostname and src port 80  源埠是80

Oracle 基本知識

乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應存放資料字典 每個資料庫最少有兩個聯機日誌組,每組最少乙個聯機日誌檔案 乙個資料...

Oracle 基本知識

乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表空間 乙個資料檔案一旦被...

Oracle 基本知識

oracle 文章摘要 oracle 基本知識。正文 oracle 基本知識 乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資...