歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下實現 TcpDump

Linux下實現 TcpDump

日期:2017/2/28 14:44:35   编辑:Linux教程

網絡數據采集分析工具TcpDump的簡介

顧名思義,TcpDump可以將網絡中傳送的數據包的“頭”完全截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。tcpdump就是一種免費的網絡分析工具,尤其其提供了源代碼,公開了接口,因此具備很強的可擴展性,對於網絡維護和入侵者都是非常有用的工具。tcpdump存在於基本的FreeBSD系統中,由於它需要將網絡界面設置為混雜模式,普通用戶不能正常執行,但具備root權限的用戶可以直接執行它來獲取網絡上的信息。因此系統中存在網絡分析工具主要不是對本機安全的威脅,而是對網絡上的其他計算機的安全存在威脅。

我們用盡量簡單的話來定義tcpdump,就是:dump the traffice on a network.,根據使用者的定義對網絡上的數據包進行截獲的包分析工具。作為互聯網上經典的的系統管理員必備工具,tcpdump以其強大的功能,靈活的截取策略,成為每個高級的系統管理員分析網絡,排查問題等所必備的東西之一。tcpdump提供了源代碼,公開了接口,因此具備很強的可擴展性,對於網絡維護和入侵者都是非常有用的工具。tcpdump存在於基本的FreeBSD系統中,由於它需要將網絡界面設置為混雜模式,普通用戶不能正常執行,但具備root權限的用戶可以直接執行它來獲取網絡上的信息。因此系統中存在網絡分析工具主要不是對本機安全的威脅,而是對網絡上的其他計算機的安全存在威脅。

網絡數據采集分析工具TcpDump的安裝

系統環境 CentOS 5.5
軟件 tcpdump-3_4a5.rpm
安裝軟件 rpm -ivh tcpdump-3_4a5.rpm

使用方法

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(簡單網絡管理協議;)

范例說明:

1 想要截獲所有192.168.0.102 的主機收到的和發出的所有的數據包
tcpdump host 192.168.0.102
2 實現獲取主機192.168.0.102除了和主機210.27.48.2之外所有主機通信的ip包
tcpdump ip host 192.168.0.102 and ! 119.75.217.56
3 獲取主機210.27.48.1接收或發出的telnet包
tcpdump tcp port 23 host 210.27.48.1

Copyright © Linux教程網 All Rights Reserved