溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)抓包工具tcpdump怎么用

發(fā)布時(shí)間:2022-01-26 10:43:10 來(lái)源:億速云 閱讀:194 作者:kk 欄目:開發(fā)技術(shù)

今天給大家介紹一下Linux系統(tǒng)抓包工具tcpdump怎么用。文章的內(nèi)容小編覺得不錯(cuò),現(xiàn)在給大家分享一下,覺得有需要的朋友可以了解一下,希望對(duì)大家有所幫助,下面跟著小編的思路一起來(lái)閱讀吧。

tcpdump是Linux系統(tǒng)中一個(gè)數(shù)據(jù)包解析工具,其主要用途就是為了監(jiān)聽服務(wù)器網(wǎng)卡來(lái)獲取數(shù)據(jù)。

參數(shù)介紹

tcpdump命令的參數(shù)很多,詳見如下

Linux系統(tǒng)抓包工具tcpdump怎么用

這里只介紹一些常用的參數(shù)

-c count

count表示數(shù)量。抓取數(shù)據(jù)包的數(shù)量達(dá)到count后結(jié)束命令,如果不使用-c 參數(shù),會(huì)不停的抓取數(shù)據(jù)包,直到手動(dòng)停止

-C file_size

抓取數(shù)據(jù)包保存到文件時(shí),通過(guò)該命令指定文件的大小。文件達(dá)到指定大小后,會(huì)創(chuàng)建一個(gè)在原文件名稱后面加上序號(hào)的新文件,如:dump.txt,dump.txt1。file_size的單位是b

-D

列出服務(wù)器所有網(wǎng)卡。tcpdump默認(rèn)監(jiān)聽的是編號(hào)最小的那個(gè)網(wǎng)卡,一般是eth0。在進(jìn)行抓包時(shí)可以通過(guò) -i 參數(shù)指定監(jiān)聽的網(wǎng)卡,any表示監(jiān)聽所有網(wǎng)卡

-i interface

指定監(jiān)聽的網(wǎng)卡名稱,any表示監(jiān)聽所有的網(wǎng)卡

-n

輸出結(jié)果中,不把ip轉(zhuǎn)換成主機(jī)名(默認(rèn)顯示的是主機(jī)名)

-q

快速輸出,只輸出簡(jiǎn)要的數(shù)據(jù)包信息

-r file

從文件中獲取數(shù)據(jù)包,不再?gòu)木W(wǎng)絡(luò)獲取數(shù)據(jù)包

-t

不輸出時(shí)間戳

-w file

將抓取的數(shù)據(jù)包保存到文件,-r 參數(shù)可以從文件中讀取數(shù)據(jù)包

-W filecount

指定文件的數(shù)量,當(dāng)文件滾動(dòng)到指定數(shù)量后會(huì)從第一個(gè)文件開始覆蓋

除了以上參數(shù),還有一些關(guān)鍵字可以用來(lái)進(jìn)行條件過(guò)濾,常用關(guān)鍵字如下

-host

過(guò)濾主機(jī),如 tcpdump host 192.168.1.110 只抓取經(jīng)過(guò)這個(gè)ip的數(shù)據(jù)包

-src

用來(lái)過(guò)濾請(qǐng)求來(lái)源方的參數(shù),如:tcpdump src host 192.168.1.110 只抓取從這個(gè)ip過(guò)來(lái)的數(shù)據(jù)包

-dst

用來(lái)過(guò)濾請(qǐng)求接收方的參數(shù),如:tcpdump dst host 192.168.1.110 只抓取發(fā)送到這個(gè)ip的數(shù)據(jù)包

-port

過(guò)濾端口,如:tcpdump port 8080 只抓取經(jīng)過(guò)8080端口的數(shù)據(jù)包

-net

過(guò)濾網(wǎng)絡(luò),如:tcpdump net 192.168 只抓取經(jīng)過(guò)這個(gè)網(wǎng)段的數(shù)據(jù)包

-and、not、or

條件過(guò)濾,和字面意思一樣。如:tcpdump net 192.168 and port 8080 抓取經(jīng)過(guò)192.168網(wǎng)段并經(jīng)過(guò)8080端口的數(shù)據(jù)包

數(shù)據(jù)包分析

抓取的數(shù)據(jù)包格式如下

Linux系統(tǒng)抓包工具tcpdump怎么用

20:17:43.496528

時(shí)間戳,時(shí):分:秒.微秒

IP

網(wǎng)際網(wǎng)絡(luò)協(xié)議的名稱

180.101.49.12.http > iZbp14w0b2rs7i1400bjjmZ.42468180.101.49.12.http

請(qǐng)求發(fā)送方的ip和端口 > 請(qǐng)求接收方的ip和端口。端口有時(shí)會(huì)顯示為某個(gè)網(wǎng)絡(luò)協(xié)議,如http、ssh、mysql

Flags [R]

flag標(biāo)識(shí)和狀態(tài),可選的狀態(tài)有: [S.] [.] [P.] F.

seq、ack、fin

表示tcp協(xié)議的3次握手和4次揮手的過(guò)程。seq表示請(qǐng)求的序列號(hào),ack是回答的序列號(hào),fin表示完成。這里顯示的序列號(hào)是相對(duì)值,-S參數(shù)可以顯示絕對(duì)值

win

表示當(dāng)前窗口的可用大小

length

表示報(bào)文體的長(zhǎng)度,從長(zhǎng)度可以簡(jiǎn)單分析是否正確接收了請(qǐng)求

通過(guò)以上結(jié)果只能做簡(jiǎn)單的分析,可以使用-w參數(shù)把數(shù)據(jù)包寫入文件,文件中記錄的數(shù)據(jù)包比命令行要詳細(xì)的多。借助分析工具可以對(duì)文件進(jìn)一步分析,這里推薦使用Wireshark,這個(gè)工具是開源的,開箱即用使用簡(jiǎn)單,這里不做詳細(xì)介紹了

常用的命令組合

抓取8080端口的數(shù)據(jù)包

 tcpdump -i any port 8080

抓取從192.168.1.110發(fā)送到192.168.1.111的數(shù)據(jù)包

 tcpdump -i any src host 192.168.1.110 and dst host 192.168.1.111

抓取192.168網(wǎng)段除了192.168.1.110的請(qǐng)求的數(shù)據(jù)包

 tcpdump -i any src net 192.168 and 'src host not 192.168.1.110'

抓取8080端口的數(shù)據(jù)包并寫入dump.log文件中

 tcpdump -i any port 8080 -w dump.log

注意事項(xiàng)

1.tcpdump需要用管理員權(quán)限運(yùn)行,可以用sudo命令或者root用戶

2.抓取的數(shù)據(jù)包通過(guò)length字段只能做一些簡(jiǎn)單的判斷,想要詳細(xì)分析,需要借助數(shù)據(jù)包分析工具,如:Wireshark

什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

以上就是Linux系統(tǒng)抓包工具tcpdump怎么用的全部?jī)?nèi)容了,更多與Linux系統(tǒng)抓包工具tcpdump怎么用相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進(jìn)行學(xué)習(xí)哈!相信小編會(huì)給大家增添更多知識(shí),希望大家能夠支持一下億速云!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI