tcpdump
![本頁使用了標題或全文手工轉換](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
此條目需要補充更多來源。 (2012年3月21日) |
![]() | |
![]() tcpdump 在終端里的輸出 | |
開發者 | The Tcpdump team |
---|---|
目前版本 |
|
原始碼庫 | |
作業系統 | Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, 其它類 *NIX 系統, Windows |
類型 | 封包式嗅探 |
授權條款 | BSD授權條款 |
網站 | https://www.tcpdump.org/ |
tcpdump是一個執行在命令列下的封包剖析器。它允許使用者攔截和顯示傳送或收到過網路連接到該電腦的TCP/IP和其他封包。tcpdump 是一個在BSD授權條款下釋出[2]的自由軟體。
tcpdump 適用於大多數的類Unix系統 作業系統:包括Linux、Solaris、BSD、Mac OS X、HP-UX和AIX 等等。在這些系統中,tcpdump 需要使用libpcap這個捕捉資料的庫。其在Windows下的版本稱為WinDump;它需要WinPcap驅動,相當於在Linux平台下的libpcap.
歷史
它最初由范·雅各布森,Craig Leres和Steven McCanne在1987年於勞倫斯伯克利國家實驗室擔任研究小組時寫成,當時,20世紀90年代末,有許多不同的作業系統,和無數的修補程式,沒有很好地協調分布的tcpdump版本。於是Michael Richardson (mcr)和Bill Fenner在1999年建立了www.tcpdump.org。
用途
tcpdump能夠分析網路行為,效能和應用產生或接收網路流量。它支援針對網路層、協定、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的資訊,從而使使用者能夠進一步找出問題的根源。
也可以使用 tcpdump 的實現特定目的,例如在路由器和閘道器之間攔截並顯示其他使用者或電腦通訊。通過 tcpdump 分析非加密的流量,如Telnet或HTTP的封包,檢視登入的使用者名稱、密碼、網址、正在瀏覽的網站內容,或任何其他資訊。因此系統中存在網路分析工具主要不是對本機安全的威脅,而是對網路上的其他電腦的安全存在威脅。[3]
有很多使用者喜歡使用柏克萊封包過濾器來限制 tcpdump 產生的封包數量,這樣BPF會只把「感興趣」的封包到上層軟體,可以避免從作業系統 核心向使用者態複製其他封包,降低抓包的CPU的負擔以及所需的緩衝區空間,從而減少丟包率。
權限要求
一些類Unix作業系統,使用者有必須擁有超級使用者權限方可使用 tcpdump,因為在這些系統需要使用超級使用者權限將網路介面設定為混雜模式。然而,可以通過使用 -Z 選項在完成嗅探之後站即下降到一個特定的非特權使用者的權限。在某一些類Unix作業系統,封包嗅探機制可以組態為允許非特權使用者可以使用它,如果做到這一點,就不需要超級使用者權限。
參考
- Packetsquare, 一個協定編輯器和回放工具
- Tcptrace, 網路通訊訊息截取工具
- EtherApe, 一個圖形化的網路流量嗅探器
- Ngrep, 一個在網路通訊的封包中匹配指定內容的工具
- netsniff-ng, 一個自由、高效能的Linux下基於命令列的網路包分析工具
- Wireshark, 跨平台的圖形抓包軟體
參照
- ^ tcpdump-4.99.5. 2024年8月30日 [2024年8月30日].
- ^ 在源代码里关于许可证的说明(GIT 软件仓库). [2012-03-20]. (原始內容存檔於2009-08-27).
- ^ 网络数据采集分析工具. [2012-03-22]. (原始內容存檔於2012-05-01).