tcpdump 基本概念

2021-10-02 05:11:28 字數 3287 閱讀 5809

3. tcpdump 輸出

4. 安全性考率

tcpdump用來截獲網路介面卡上的ip分組,主要用於分析網路層資料的傳送與應答過程!

t c p d u m p通過將網路介面卡設定為混雜模式( promiscuous mode)來截獲經過網路介面的每乙個分組。正常情況下,用於諸如乙太網**的介面卡只截獲送往特定介面位址或廣播位址的鏈路層的幀

底層的作業系統必須允許將乙個介面設定成混雜模式,並且允許乙個使用者程序截獲幀。下列的作業系統可以支援t c p d u m p,或者可以加入對t c p d u m p的支援: 4 . 4 b s d、b s d / 3 8 6、s u n o s、u l t r i x和h p - u x

當前由b s d演變而來的u n i x核心提供了bsd 分組過濾器bpf (bsd packet filter)

功能點

t c p d u m p用它來截獲和過濾來自乙個網路介面卡的分組。

b p f也可以工作在點對點的鏈路上,如s l i p,不需要什麼特別的處理就可以

截獲所有通過介面的分組。b p f還可以工作在環迴介面上

前置條件

b p f將乙太網裝置驅動程式設定為混雜模式,然後從驅動程式那裡接收每乙個收到的分組和傳輸的分組。

這些分組要通過乙個使用者指明的過濾器,使得只有那些使用者程序感興趣的分組才會傳遞給使用者程序

多個程序可以同時監視乙個介面,每個程序指明了乙個自己的過濾器。下圖顯示了t c p d u m p的兩個例項程序和乙個r a r p守護程序監視同樣的乙太網介面。。t c p d u m p的每個例項指明了乙個自己的過濾器。t c p d u m p的過濾器可以由使用者在命令列指明,而r a r p d總是使用只截獲r a r p請求的過濾器

除了指明乙個過濾器, b p f的每個使用者還指明了乙個超時定時器的值。因為網路的資料傳輸率可以很容易地超過c p u的處理能力,而且乙個使用者程序從核心中唯讀小塊資料的代價昂貴,因此, b p f試圖將多個幀裝載進乙個讀快取,只有快取滿了或者使用者指明的超時到期才將讀快取儲存的幀返回。t c p d u m p將超時定時器置為1秒,因為它一般從b p f收到很多資料。而r a r p守護程序收到的幀很少,所以r a r p d將超時置為0(收到乙個幀就返回)

使用方法

歷史

sunos 4.1.x提供了乙個s t r e a m s偽裝置驅動程式(pseudo-device driver),稱為網路介面分接頭(network inte***ce ta p )或者n i t([rago 1993] 包含了流裝置驅動程式的其他細節。我們把這種特徵叫作「流」)。n i t類似於b s d分組過濾器,但不如後者功能強大和效率高

限制

b p f可以截獲網路介面收到的和傳送的分組,而n i t只能截獲介面收到的分組。將t c p d u m p與n i t結合起來意味著我們只能看見由網路中其他主機傳送來的分組—即根本不可能看見我們自己主機傳送的

分組

用法

當裝置/ d e v / n i t被開啟時,流驅動程式n i t i f就會被開啟。既然n i t是使用流來構造的,處理模組可以放在n i t i f驅動程式之上。t c p d u m p將模組n i t b u f放在s t r e a m之上。這個模組將多個網路幀聚集在乙個讀快取中,允許使用者程序指明乙個超時的值。這種情況類似於我們在b p f中所描述的。r a r p守護程序沒有把這個模組放在它的流之上,因為它只處理了一小部分分組。

使用者指明的過濾由流模組n i t p f處理。我們注意到這個模組被r a r p守護程序所用,但沒有被t c p d u m p使用。在s u n o s作業系統中,t c p d u m p代之以在使用者程序中完成自己的過濾操作。這麼做的理由是n i t p f使用的假想機器的指令與b p f所支援的指令不同(不如b p f所支援的功能強大)。這就意味著當使用者對t c p d u m p指明了乙個過濾表示式時,與b p f相比較,使用n i t就會有更多的資料在核心與使用者程序之間交換。

首先,它總是輸出它正在監聽的網路介面的名字

t c p d u m p輸出的時間戳在乙個微秒精度的系統中採用如同0 9 : 11 : 2 2 . 6 4 2 0 0 8的格式,在乙個1 0 m s時鐘精度的系統中則如同0 9 : 11 : 2 2 . 6 4一樣

t c p d u m p總是列印傳送主機的名字,接著乙個大於號,然後是目的主機的名字。

安全問題

很明顯,截獲網路中傳輸的資料流使我們可以看到很多不應該看到的東西。例如,t e l n e t和f t p使用者輸入的口令在網路中傳輸的內容和使用者輸入的一樣(與口令的加密表示相比,這稱為口令的明文表示。在u n i x口令檔案中,一般是/ e t c / p a s s w d或/ e t c / s h a d o w,

儲存的是加密的表示)。

學習目的

很多時候乙個網路管理員需要使用乙個類似於t c p d u m p的工具來分析網路**現的問題。我們是把t c p d u m p作為乙個學習的工具,用來檢視網路中實際傳輸的東西。對t c p d u m p以及其他廠商提供的類似工具的訪問許可權依賴於具體系統。

保護措施

例如,在s u n o s,對n i t裝置的訪問只限於超級使用者。b s d的分組過濾器使用了一種不同的技術:通過對/ d e v / b p f x x裝置的授權來控制訪問。一般來說,只有屬主才能讀寫這些裝置(屬主應該是超級使用者),對於同組使用者是可讀的(經常是系統管理組)。這就是說如果系統管理員不對程式設定使用者的i d,一般的使用者是不能執行類似於t c p d u m p的程式的。

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...

XSLT基本概念

我們首先來澄清乙個概念,大家可能聽說過xsl extensible stylesheet language xsl和我們這裡說的xslt從狹義上理解是一樣的,而按照w3c的標準,xslt的說法更嚴格些,因此我們在文章中統一使用xslt的稱法。它們之間具體的關係我們會在下面講述。1.1 什麼是xslt...