溫馨提示×

溫馨提示×

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

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

Linux中tcpdump命令怎么用

發(fā)布時間:2022-02-16 10:55:52 來源:億速云 閱讀:131 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Linux中tcpdump命令怎么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Linux常用命令tcpdump命令 是一款抓包,嗅探器工具,它可以打印所有經(jīng)過網(wǎng)絡(luò)接口的數(shù)據(jù)包的頭信息,也可以使用-w選項將數(shù)據(jù)包保存到文件中,方便以后分析。

Linux中tcpdump命令怎么用

tcpdump

一款sniffer工具,是Linux上的抓包工具,嗅探器

語法

 tcpdump(選項)

選項

 -a:嘗試將網(wǎng)絡(luò)和廣播地址轉(zhuǎn)換成名稱;
 -c:收到指定的數(shù)據(jù)包數(shù)目后,就停止進行傾倒操作;
 -d:把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成可閱讀的格式,并傾倒到標(biāo)準(zhǔn)輸出;
 -dd:把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成C語言的格式,并傾倒到標(biāo)準(zhǔn)輸出;
 -ddd:把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成十進制數(shù)字的格式,并傾倒到標(biāo)準(zhǔn)輸出;
 -e:在每列傾倒資料上顯示連接層級的文件頭;
 -f:用數(shù)字顯示網(wǎng)際網(wǎng)絡(luò)地址;
 -F:指定內(nèi)含表達方式的文件;
 -i:使用指定的網(wǎng)絡(luò)截面送出數(shù)據(jù)包;
 -l:使用標(biāo)準(zhǔn)輸出列的緩沖區(qū);
 -n:不把主機的網(wǎng)絡(luò)地址轉(zhuǎn)換成名字;
 -N:不列出域名;
 -O:不將數(shù)據(jù)包編碼最佳化;
 -p:不讓網(wǎng)絡(luò)界面進入混雜模式;
 -q :快速輸出,僅列出少數(shù)的傳輸協(xié)議信息;
 -r:從指定的文件讀取數(shù)據(jù)包數(shù)據(jù);
 -s:設(shè)置每個數(shù)據(jù)包的大?。?
 -S:用絕對而非相對數(shù)值列出TCP關(guān)聯(lián)數(shù);
 -t:在每列傾倒資料上不顯示時間戳記;
 -tt: 在每列傾倒資料上顯示未經(jīng)格式化的時間戳記;
 -T:強制將表達方式所指定的數(shù)據(jù)包轉(zhuǎn)譯成設(shè)置的數(shù)據(jù)包類型;
 -v:詳細顯示指令執(zhí)行過程;
 -vv:更詳細顯示指令執(zhí)行過程;
 -x:用十六進制字碼列出數(shù)據(jù)包資料;
 -w:把數(shù)據(jù)包數(shù)據(jù)寫入指定的文件。

實例

直接啟動tcpdump將監(jiān)視第一個網(wǎng)絡(luò)接口上所有流過的數(shù)據(jù)包

 tcpdump

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

 tcpdump -i eth2

如果不指定網(wǎng)卡,默認tcpdump只會監(jiān)視第一個網(wǎng)絡(luò)接口,一般是eth0,下面的例子都沒有指定網(wǎng)絡(luò)接口。

監(jiān)視指定主機的數(shù)據(jù)包

打印所有進入或離開sundown的數(shù)據(jù)包。

 tcpdump host sundown

也可以指定ip,例如截獲所有210.27.48.1 的主機收到的和發(fā)出的所有的數(shù)據(jù)包

 tcpdump host 210.27.48.1

打印helios 與 hot 或者與 ace 之間通信的數(shù)據(jù)包

 tcpdump host helios and \( hot or ace \)

截獲主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通信

 tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)

打印ace與任何其他主機之間通信的IP 數(shù)據(jù)包, 但不包括與helios之間的數(shù)據(jù)包.

 tcpdump ip host ace and not helios

如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令:

 tcpdump ip host 210.27.48.1 and ! 210.27.48.2

抓取eth0網(wǎng)卡上的包,使用:

 sudo tcpdump -i eth0

截獲主機hostname發(fā)送的所有數(shù)據(jù)

 tcpdump -i eth0 src host hostname

監(jiān)視所有送到主機hostname的數(shù)據(jù)包

 tcpdump -i eth0 dst host hostname

監(jiān)視指定主機和端口的數(shù)據(jù)包

如果想要獲取主機210.27.48.1接收或發(fā)出的telnet包,使用如下命令

 tcpdump tcp port 23 and host 210.27.48.1

對本機的udp 123 端口進行監(jiān)視 123 為ntp的服務(wù)端口

 tcpdump udp port 123

監(jiān)視指定網(wǎng)絡(luò)的數(shù)據(jù)包

打印本地主機與Berkeley網(wǎng)絡(luò)上的主機之間的所有通信數(shù)據(jù)包

 tcpdump net ucb-ether

ucb-ether此處可理解為“Berkeley網(wǎng)絡(luò)”的網(wǎng)絡(luò)地址,此表達式最原始的含義可表達為:打印網(wǎng)絡(luò)地址為ucb-ether的所有數(shù)據(jù)包

打印所有通過網(wǎng)關(guān)snup的ftp數(shù)據(jù)包

 tcpdump 'gateway snup and (port ftp or ftp-data)'

注意:表達式被單引號括起來了,這可以防止shell對其中的括號進行錯誤解析

打印所有源地址或目標(biāo)地址是本地主機的IP數(shù)據(jù)包

 tcpdump ip and not net localnet

如果本地網(wǎng)絡(luò)通過網(wǎng)關(guān)連到了另一網(wǎng)絡(luò),則另一網(wǎng)絡(luò)并不能算作本地網(wǎng)絡(luò)。

抓取80端口的HTTP報文,以文本形式展示:

 sudo tcpdump -i any port 80 -A

感謝各位的閱讀!關(guān)于“Linux中tcpdump命令怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

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

AI