linux下實現tcpdump

技術小阿哥發表於2017-11-27

網路資料採集分析工具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

本文轉自 mailfile 51CTO部落格,原文連結:http://blog.51cto.com/mailfile/1272489,如需轉載請自行聯絡原作者


相關文章