tcpdump 日常使用

2021-06-16 07:27:14 字數 2503 閱讀 5094

使用-i引數指定tcpdump監聽的網路介面,這在計算機具有多個網路介面時非常有用,

使用-c引數指定要監聽的資料報數量,

使用-w引數指定將監聽到的資料報寫入檔案中儲存

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 對本機的udp 123 埠進行監視 123 為ntp的服務埠

# tcpdump udp port 123 

f 系統將只對名為hostname的主機的通訊資料報進行監視。主機名可以是本地主機,也可以是網路上的任何一台計算機。下面的命令可以讀取主機hostname傳送的所有資料: 

#tcpdump -i eth0 src host hostname

g 下面的命令可以監視所有送到主機hostname的資料報: 

#tcpdump -i eth0 dst host hostname

h  我們還可以監視通過指定閘道器的資料報: 

#tcpdump -i eth0 gateway gatewayname

i 如果你還想監視編址到指定埠的tcp或udp資料報,那麼執行以下命令: 

#tcpdump -i eth0 host hostname and port 80

j 如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通訊的ip包

,使用命令:

#tcpdump ip host 210.27.48.1 and ! 210.27.48.2

k 想要截獲主機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 \)

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

#tcpdump ip host 210.27.48.1 and ! 210.27.48.2

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

#tcpdump tcp port 23 host 210.27.48.1

第三種是協議的關鍵字,主要包括fddi,ip ,arp,rarp,tcp,udp等型別

除了這三種型別的關鍵字之外,其他重要的關鍵字如下:gateway, broadcast,less,

greater,還有三種邏輯運算,取非運算是 'not ' '! ', 與運算是'and','&&';或運算 是'o

r' ,'||';

第二種是確定傳輸方向的關鍵字,主要包括src , dst ,dst or src, dst and src ,

如果我們只需要列出送到80埠的資料報,用dst port;如果我們只希望看到返回80埠的資料報,用src port。 

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

或者#tcpdump –i eth0 host hostname and src port 80  源埠是80  一般是提供http的服務的主機

如果條件很多的話  要在條件之前加and 或 or 或 not

#tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80

如果在ethernet 使用混雜模式 系統的日誌將會記錄

may  7 20:03:46 localhost kernel: eth0: promiscuous mode enabled.

may  7 20:03:46 localhost kernel: device eth0 entered promiscuous mode

may  7 20:03:57 localhost kernel: device eth0 left promiscuous mode

tcpdump對截獲的資料並沒有進行徹底解碼,資料報內的大部分內容是使用十六進製制的形式直接列印輸出的。顯然這不利於分析網路故障,通常的解決辦法是先使用帶-w引數的tcpdump 截獲資料並儲存到檔案中,然後再使用其他程式進行解碼分析。當然也應該定義過濾規則,以避免捕獲的資料報填滿整個硬碟。

tcpdump使用詳解

tcpdump採用命令列方式,它的命令格式為 tcpdump adeflnnopqstvx c 數量 f 檔名 i 網路介面 r 檔名 s snaplen t 型別 w 檔名 表示式 1.tcpdump的選項介紹 a 將網路位址和廣播位址轉變成名字 d 將匹配資訊包的 以人們能夠理解的彙編格式給出 ...

tcpdump 使用介紹

tcpdump 工具簡介 tcpdump 工具簡介1 定義 用簡單的話來定義 tcpdump 就是 dump the traffic on a network 根據使用者的定義對網路上的資料報進行截獲的包分析工具 2 功能 它支援針對網路層 協議 主機 網路或埠的過濾,並提供 and or not等...

tcpdump使用總結

原文 tcpdump是linux下自帶的網路分析工具。可以將網路中傳送的資料報完全截獲下來提供分析。它支援針對網路層 協議 主機 網路或埠的過濾,並提供and or not等邏輯語句來幫助你去掉無用的資訊。tcpdump 主要選項 型別host,net,port 方向src,dst,src or d...