您好,登錄后才能下訂單哦!
今天給大家介紹一下Linux系統抓包工具tcpdump怎么用。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。
tcpdump是Linux系統中一個數據包解析工具,其主要用途就是為了監聽服務器網卡來獲取數據。
參數介紹
tcpdump命令的參數很多,詳見如下
這里只介紹一些常用的參數
-c count
count表示數量。抓取數據包的數量達到count后結束命令,如果不使用-c 參數,會不停的抓取數據包,直到手動停止
-C file_size
抓取數據包保存到文件時,通過該命令指定文件的大小。文件達到指定大小后,會創建一個在原文件名稱后面加上序號的新文件,如:dump.txt,dump.txt1。file_size的單位是b
-D
列出服務器所有網卡。tcpdump默認監聽的是編號最小的那個網卡,一般是eth0。在進行抓包時可以通過 -i 參數指定監聽的網卡,any表示監聽所有網卡
-i interface
指定監聽的網卡名稱,any表示監聽所有的網卡
-n
輸出結果中,不把ip轉換成主機名(默認顯示的是主機名)
-q
快速輸出,只輸出簡要的數據包信息
-r file
從文件中獲取數據包,不再從網絡獲取數據包
-t
不輸出時間戳
-w file
將抓取的數據包保存到文件,-r 參數可以從文件中讀取數據包
-W filecount
指定文件的數量,當文件滾動到指定數量后會從第一個文件開始覆蓋
除了以上參數,還有一些關鍵字可以用來進行條件過濾,常用關鍵字如下
-host
過濾主機,如 tcpdump host 192.168.1.110 只抓取經過這個ip的數據包
-src
用來過濾請求來源方的參數,如:tcpdump src host 192.168.1.110 只抓取從這個ip過來的數據包
-dst
用來過濾請求接收方的參數,如:tcpdump dst host 192.168.1.110 只抓取發送到這個ip的數據包
-port
過濾端口,如:tcpdump port 8080 只抓取經過8080端口的數據包
-net
過濾網絡,如:tcpdump net 192.168 只抓取經過這個網段的數據包
-and、not、or
條件過濾,和字面意思一樣。如:tcpdump net 192.168 and port 8080 抓取經過192.168網段并經過8080端口的數據包
數據包分析
抓取的數據包格式如下
20:17:43.496528
時間戳,時:分:秒.微秒
IP
網際網絡協議的名稱
180.101.49.12.http > iZbp14w0b2rs7i1400bjjmZ.42468180.101.49.12.http
請求發送方的ip和端口 > 請求接收方的ip和端口。端口有時會顯示為某個網絡協議,如http、ssh、mysql等
Flags [R]
flag標識和狀態,可選的狀態有: [S.] [.] [P.]
seq、ack、fin
表示tcp協議的3次握手和4次揮手的過程。seq表示請求的序列號,ack是回答的序列號,fin表示完成。這里顯示的序列號是相對值,-S參數可以顯示絕對值
win
表示當前窗口的可用大小
length
表示報文體的長度,從長度可以簡單分析是否正確接收了請求
通過以上結果只能做簡單的分析,可以使用-w參數把數據包寫入文件,文件中記錄的數據包比命令行要詳細的多。借助分析工具可以對文件進一步分析,這里推薦使用Wireshark,這個工具是開源的,開箱即用使用簡單,這里不做詳細介紹了
常用的命令組合
抓取8080端口的數據包
tcpdump -i any port 8080
抓取從192.168.1.110發送到192.168.1.111的數據包
tcpdump -i any src host 192.168.1.110 and dst host 192.168.1.111
抓取192.168網段除了192.168.1.110的請求的數據包
tcpdump -i any src net 192.168 and 'src host not 192.168.1.110'
抓取8080端口的數據包并寫入dump.log文件中
tcpdump -i any port 8080 -w dump.log
注意事項
1.tcpdump需要用管理員權限運行,可以用sudo命令或者root用戶
2.抓取的數據包通過length字段只能做一些簡單的判斷,想要詳細分析,需要借助數據包分析工具,如:Wireshark
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
以上就是Linux系統抓包工具tcpdump怎么用的全部內容了,更多與Linux系統抓包工具tcpdump怎么用相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。