溫馨提示×

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

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

tcpdump命令怎么在Linux系統(tǒng)中使用

發(fā)布時(shí)間:2021-03-02 16:06:11 來(lái)源:億速云 閱讀:155 作者:戴恩恩 欄目:服務(wù)器

本文章向大家介紹tcpdump命令怎么在Linux系統(tǒng)中使用,主要包括tcpdump命令怎么在Linux系統(tǒng)中使用的使用實(shí)例、應(yīng)用技巧、基本知識(shí)點(diǎn)總結(jié)和需要注意事項(xiàng),具有一定的參考價(jià)值,需要的朋友可以參考一下。

什么是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é)議。

命令簡(jiǎn)介

tcpdump是一款強(qiáng)大的網(wǎng)絡(luò)抓包工具,運(yùn)行在Linux平臺(tái)上。熟悉tcpdump的使用能夠幫助我們分析、調(diào)試網(wǎng)絡(luò)數(shù)據(jù)。但是要想很好地掌握tcpdump, 就必須對(duì)網(wǎng)絡(luò)報(bào)文(TCP/IP協(xié)議)有一定的了解。不過(guò)對(duì)于簡(jiǎn)單的使用來(lái)說(shuō),只要有網(wǎng)絡(luò)基礎(chǔ)概念就行了。

作為互聯(lián)網(wǎng)上經(jīng)典的的系統(tǒng)管理員必備工具,tcpdump以其強(qiáng)大的功能,靈活的截取策略,成為每個(gè)高級(jí)的系統(tǒng)管理員分析網(wǎng)絡(luò),排查問(wèn)題等所必備的工具之一。在實(shí)際工作中,需要以root權(quán)限去執(zhí)行該命令。

tcpdump是一個(gè)很復(fù)雜的命令,想了解它的方方面面非常不易,也不值得推薦,能夠使用它解決日常工作中的問(wèn)題才是關(guān)鍵,所以,以下的總結(jié)我將更側(cè)重于從實(shí)際工作出發(fā),整理一些實(shí)際工作中經(jīng)常用到的用法,對(duì)于一些冷門用法,我這里基本不會(huì)涉及,如果日后在工作中用到了,我這里也會(huì)更新進(jìn)來(lái)。

命令詳解
下面就先對(duì)tcpdump一些常用的選項(xiàng)進(jìn)行總結(jié)。

  • -s number:tcpdump默認(rèn)只會(huì)截取前96字節(jié)的內(nèi)容,要想截取所有的報(bào)文內(nèi)容,就需要使用這個(gè)選項(xiàng),其中number是需要截取的報(bào)文字節(jié)數(shù),如果是0的話,表示截取報(bào)文全部?jī)?nèi)容;

  • -nn:表示不解析域名,直接顯示IP,在netstat命令中,也有這個(gè)選項(xiàng);

  • -X:同時(shí)使用hex和ascii顯示報(bào)文內(nèi)容;

  • -S:顯示絕對(duì)的序列號(hào)(sequence number),而不是相對(duì)編號(hào);

  • -i:指定監(jiān)聽(tīng)的網(wǎng)卡,如果為-i any則表示監(jiān)聽(tīng)所有的網(wǎng)卡;

  • -v,-vv,-vvv:顯示更多的詳細(xì)信息;

  • -c number:表示截取number個(gè)報(bào)文,然后結(jié)束;

  • -w:將監(jiān)聽(tīng)到的數(shù)據(jù)包寫入文件中保存,而并不分析和打印出來(lái);

  • -A:只使用ascii打印報(bào)文的全部數(shù)據(jù),不要和-X選項(xiàng)一起使用。截取HTTP請(qǐng)求的時(shí)候可以用sudo tcpdump -nSA port 80

雖然tcpdump命令的選項(xiàng)特別多,但是常用的選項(xiàng)也就上面那幾個(gè),我這里將更多的把注意力放在使用實(shí)例上,通過(guò)使用實(shí)例來(lái)學(xué)習(xí)tcpdump這個(gè)命令。

過(guò)濾器

先進(jìn)行使用實(shí)例詳解時(shí),有必要先掌握tcpdump一些基本的使用理論知識(shí),先來(lái)說(shuō)說(shuō)過(guò)濾器。

服務(wù)器上的網(wǎng)絡(luò)報(bào)文是異常的多,很多時(shí)候我們只關(guān)注和具體問(wèn)題有關(guān)的數(shù)據(jù)報(bào)文,而這些有用的報(bào)文只占到很小的一部分,為了不讓我們?cè)趫?bào)文的海洋里迷失自己,我們就非常有必要學(xué)習(xí)一下tcpdump提供的靈活而且功能強(qiáng)大的過(guò)濾器。

過(guò)濾器也可以簡(jiǎn)單地分為三類:type,dir和proto。

type:主要用來(lái)區(qū)分過(guò)濾報(bào)文源類型,主要由host主機(jī)報(bào)文,net網(wǎng)段報(bào)文和port指定端口的報(bào)文組成;

dir:只過(guò)濾報(bào)文的源地址和目的地址,主要包括src源地址和dst目的地址;

proto:只過(guò)濾報(bào)文的協(xié)議類型,支持tcp,udp和icmp等;使用的時(shí)候可以省略proto關(guān)鍵字:

  • tcpdump -i eth2 arp

  • tcpdump -i eth2 ip

  • tcpdump -i eth2 tcp

  • tcpdump -i eth2 udp

  • tcpdump -i eth2 icmp

在我們使用tcpdump命令時(shí)是離不開(kāi)這些過(guò)濾器的。

條件組合

在茫茫網(wǎng)絡(luò)中,想要找到那個(gè)你想要的網(wǎng)絡(luò)包,還是有一定難度的。為了抓住那個(gè)我們想要的網(wǎng)絡(luò)包,在我們抓包命令中,包含越多的限制條件,抓的無(wú)關(guān)包就會(huì)越少,所以在進(jìn)行抓包時(shí),我們可以使用“與”(and、&&)、“或”(or、||)和“非”(not、!)來(lái)將多個(gè)條件組合起來(lái)。這對(duì)我們需要基于某些條件來(lái)分析網(wǎng)絡(luò)包是非常有用的。

使用實(shí)例

命令:tcpdump -i eth2

說(shuō)明:監(jiān)視指定網(wǎng)絡(luò)接口的數(shù)據(jù)包

命令:tcpdump host 210.27.48.3

說(shuō)明:截獲210.27.48.3主機(jī)收到的和發(fā)出的所有數(shù)據(jù)包

命令:tcpdump host 210.27.48.4 and (210.27.48.5 or 210.27.48.6)

說(shuō)明:截獲210.27.48.3主機(jī)和210.27.48.5或者210.27.48.6主機(jī)進(jìn)行通信的所有數(shù)據(jù)包

命令:tcpdump net 192.168.1.0/24

說(shuō)明:截獲192.168.1.0/24整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)包

命令:tcpdump -i eth0 src host 210.27.48.3

說(shuō)明:監(jiān)視eth0網(wǎng)卡上源地址是210.27.48.3的所有網(wǎng)絡(luò)包

命令:tcpdump -i eth0 dst host 210.27.48.3

說(shuō)明:監(jiān)視eth0網(wǎng)卡上目的地址是210.27.48.3的所有網(wǎng)絡(luò)包

命令:tcpdump tcp port 23 and host 210.27.48.3

說(shuō)明:獲取主機(jī)210.27.48.3上端口為23的應(yīng)用發(fā)出和接收的所有TCP協(xié)議包

命令:tcpdump udp port 123

說(shuō)明:獲取本機(jī)123端口發(fā)出和接收的所有UDP協(xié)議包

命令:tcpdump src host 10.126.1.222 and dst net 10.126.1.0/24

說(shuō)明:截獲源主地址為10.126.1.222,目的地址是10.126.1.0/24整個(gè)網(wǎng)絡(luò)

命令:tcpdump -i eth0 -s0 -G 60 -Z root -w %Y_%m%d_%H%M_%S.pcap

說(shuō)明:抓取報(bào)文后按照指定時(shí)間間隔保存;-G選項(xiàng)后面接時(shí)間,單位為秒;上述命令就是每隔60秒生存一個(gè)文件

命令:tcpdump -i eth0 -s0 -C 1 -Z root -w eth0Packet.pcap

說(shuō)明:抓取報(bào)文后按照指定報(bào)文大小保存;-C選項(xiàng)后接文件大小,單位為MB;上述命令就是每抓包文件達(dá)到1MB時(shí)就使用一個(gè)新的文件保存新抓的報(bào)文

到此這篇關(guān)于tcpdump命令怎么在Linux系統(tǒng)中使用的文章就介紹到這了,更多相關(guān)的內(nèi)容請(qǐng)搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!

向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