0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

網(wǎng)絡(luò)行抓包分析工具tcpdump安裝介紹

multisim ? 來源:一口Linux ? 作者:土豆居士 ? 2021-08-18 10:05 ? 次閱讀

概述

用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者的定義對網(wǎng)絡(luò)上的數(shù)據(jù)包進(jìn)行截獲的包分析工具。

tcpdump可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包的“頭”完全截獲下來提供分析。它支持針對網(wǎng)絡(luò)層、協(xié)議、主機(jī)、網(wǎng)絡(luò)或端口的過濾,并提供and、or、not等邏輯語句來幫助你去掉無用的信息。

tcpdump基于底層libpcap庫開發(fā),運(yùn)行需要root權(quán)限。

一、tcpdump安裝

環(huán)境虛擬機(jī):vmware 15.5.2os: ubuntu 12.04

安裝tcpdump

sudoapt-getinstalltcpdump

9f6ae03c-ff5a-11eb-9bcf-12bb97331649.png

3. 版本查看

tcpdump--h

9f86b26c-ff5a-11eb-9bcf-12bb97331649.png

tcpdump version 4.0。

libpcap version 1.1.1 表示libpcap的版本。

二、tcpdump參數(shù)

常用參數(shù)選項說明:

參數(shù) 含義
-a 將網(wǎng)絡(luò)地址和廣播地址轉(zhuǎn)變成名字
-c 在收到指定的包的數(shù)目后,tcpdump就會停止;
-d 將匹配信息包的代碼以人們能夠理解的匯編格式給出;以可閱讀的格式輸出。
-dd 將匹配信息包的代碼以c語言程序段的格式給出;
-ddd 將匹配信息包的代碼以十進(jìn)制的形式給出;
-e 在輸出行打印出數(shù)據(jù)鏈路層的頭部信息;
-f 將外部的Internet地址以數(shù)字的形式打印出來;
-l 使標(biāo)準(zhǔn)輸出變?yōu)榫彌_行形式;
-n 直接顯示IP地址,不顯示名稱;
-nn 端口名稱顯示為數(shù)字形式,不顯示名稱;
-t 在輸出的每一行不打印時間戳;
-v 輸出一個稍微詳細(xì)的信息,例如在ip包中可以包括ttl和服務(wù)類型的信息;
-vv 輸出詳細(xì)的報文信息;
-F 從指定的文件中讀取表達(dá)式,忽略其它的表達(dá)式;
-i 指定監(jiān)聽的網(wǎng)絡(luò)接口;
-r 從指定的文件中讀取包(這些包一般通過-w選項產(chǎn)生);
-w 直接將包寫入文件中,并不分析和打印出來;
-T 將監(jiān)聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠(yuǎn)程過程調(diào)用)和snmp(簡單 網(wǎng)絡(luò)管理協(xié)議;)

三、命令選項使用舉例

1. 截獲主機(jī)收到和發(fā)出的所有數(shù)據(jù)包。

命令:

tcpdump

說明:

tcpdump截取包默認(rèn)顯示數(shù)據(jù)包的頭部。

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

基礎(chǔ)格式:時間 數(shù)據(jù)包類型 源IP 端口/協(xié)議 > 目標(biāo)IP 端口/協(xié)議 協(xié)議詳細(xì)信息

9f9ba9b0-ff5a-11eb-9bcf-12bb97331649.png

按下Ctrl+C會終止tcpdump命令。且會在結(jié)尾處生成統(tǒng)計信息。

a011be16-ff5a-11eb-9bcf-12bb97331649.png

終止tcpdump

2. 指定抓包數(shù)量 -c

指定抓取2個數(shù)據(jù)包。

命令:

tcpdump-c2

說明:

最后會自動生成統(tǒng)計信息。

a051c2d6-ff5a-11eb-9bcf-12bb97331649.png

【注意,已經(jīng)切換到管理員了,虛擬機(jī)中要產(chǎn)生數(shù)據(jù)包,可以另外開一個窗口ping baidu.com后面不再提示】

a066be66-ff5a-11eb-9bcf-12bb97331649.png

ping baidu.com

3. 將抓包信息寫入文件 -w

使用-w選項指定記錄文件。

命令:

tcpdump-c10-wtcpdump_test.log

說明:

保存的文件不是文本格式,不能直接查看。tcpdump保存的文件的格式是幾乎所有主流的抓包工具軟件都可以讀取。所以可以使用更易讀的圖形界面工具來查看記錄文件。

a0a18cda-ff5a-11eb-9bcf-12bb97331649.png

4. 讀取記錄文件 -r

使用-r選項讀取文件。

命令:

tcpdump-rtcpdump_test.log

![讀取記錄文件

a0d37ede-ff5a-11eb-9bcf-12bb97331649.png

5. 打印出所有可工作的接口 -D

命令:

tcpdump-D

a120c7fc-ff5a-11eb-9bcf-12bb97331649.png

其中網(wǎng)卡為eth0。

6. 指定監(jiān)控的網(wǎng)卡 -i

命令:

tcpdump-ieth0

如果不指定網(wǎng)卡,默認(rèn)tcpdump只會監(jiān)視第一個網(wǎng)絡(luò)接口,一般是eth0。

7. 顯示更詳細(xì)的數(shù)據(jù)包信息 -v -vv

選項-v,-vv可以顯示更詳細(xì)的抓包信息。

a150e55e-ff5a-11eb-9bcf-12bb97331649.png

tcpdump -v

a181b3dc-ff5a-11eb-9bcf-12bb97331649.png

tcpdump -vv

8. 不使用域名反解 -n

使用-n后,tcpdump會直接顯示IP地址,不會顯示域名(與netstat命令相似)。

9. 增加抓包時間戳 -tttt選項

tcpdump的所有輸出打印行中都會默認(rèn)包含時間戳信息;時間戳信息的顯示格式如下

hhss.frac(nt:小時:分鐘:秒.)

此時間戳的精度與內(nèi)核時間精度一致,反映的是內(nèi)核第一次看到對應(yīng)數(shù)據(jù)包的時間;

而數(shù)據(jù)包從物理線路傳遞到內(nèi)核的時間, 以及內(nèi)核花費在此包上的中斷處理時間都沒有算進(jìn)來;

使用-tttt選項,抓包結(jié)果中將包含抓包日期:

命令:

tcpdump-tttt

a18e9f0c-ff5a-11eb-9bcf-12bb97331649.png

增加抓包時間戳

四、條件過濾

1. 過濾:指定需要抓取的協(xié)議

tcpdump可以只抓某種協(xié)議的包,支持指定以下協(xié)議:「ip,ip6,arp,tcp,udp,wlan」等。

命令:

tcpdumpudp tcpdumpicmp tcpdumptcp tcpdumparp

2. 過濾:指定協(xié)議的端口號

使用port參數(shù),用于指定端口號。

命令:tcpdump tcp port 80

使用portrange參數(shù),用于指定端口范圍。

命令:tcpdump tcp portrange 1-1024

3. 過濾:指定源與目標(biāo)

src 表示源。

dst 表示目標(biāo)。

命令:

tcpdump src port 8080

tcpdump dst port 80

4. 過濾:指定特定主機(jī)的消息包

使用host指定需要監(jiān)聽的主機(jī)。

命令:

tcpdumphost192.168.1.113

注意:若使用了host參數(shù)使用了計算機(jī)名或域名。例tcpdump host shi-pc ,則無法再使用-n選項。

5. 過濾:指定數(shù)據(jù)包大小

使用greater(大于)與less(小于)可以指定數(shù)據(jù)包大小的范圍。

「例:只抓取大于1000字節(jié)的數(shù)據(jù)包?!?/p>

命令:

tcpdumpgreater1000

「例:只抓取小于10字節(jié)的數(shù)據(jù)包?!?/p>

命令:

tcpdumpless10

五、 邏輯表達(dá)式

使用基本邏輯組合拼裝出更精細(xì)的過濾條件。

1. 邏輯與

邏輯與關(guān)系,使用and。

命令:

tcpdumptcpandhost192.168.1.112 tcpdumptcpandsrc192.168.1.112andport8080

2. 邏輯或

邏輯或關(guān)系,使用or。

命令:

tcpdumphost192.168.1.112or192.168.1.113

3. 邏輯非

邏輯非關(guān)系,使用not,也可以使用 ! 。

若使用 ! 必須與其后面的字符隔開一個空格。

例:當(dāng)通過ssh協(xié)議遠(yuǎn)程使用tcpdump時,為了避免ssh的數(shù)據(jù)包的輸出,所以一般需要禁止ssh數(shù)據(jù)包的輸出。

命令:

tcpdumpnottcpport22 tcpdump!tcpport22

4. 括號

括號需要使用在引號內(nèi),或轉(zhuǎn)意使用。否則會報錯。

例:抓取非22端口,且主機(jī)為192.168.1.112 和 192.168.1.113的TCP數(shù)據(jù)包。

命令:

tcpdumpnottcpport22andhost192.168.1.112or192.168.1.113 tcpdump"nottcpport22andhost(192.168.1.112or192.168.1.113)" tcpdumpnottcpport22andhost"(192.168.1.112or192.168.1.113)"

六、其他實例

1. 打印所有進(jìn)入或離開sundown的數(shù)據(jù)包.

tcpdumphostsundown

2. 截獲主機(jī)210.27.48.1 和主機(jī)210.27.48.2 或210.27.48.3的通信

tcpdumphost210.27.48.1and(210.27.48.2or210.27.48.3)

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

tcpdumpiphost210.27.48.1and!210.27.48.2

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

tcpdump-ieth0dsthosthostname

5. 獲取主機(jī)210.27.48.1接收或發(fā)出的telnet包

23為telnet的端口

tcpdumptcpport23andhost210.27.48.1

6. 監(jiān)視本機(jī)的udp 123 端口

123 為ntp的服務(wù)端口

tcpdumpudpport123

7. 使用tcpdump抓取HTTP包

tcpdump-XvvennSs0-ieth0tcp[20:2]=0x4745ortcp[20:2]=0x4854

0x4745 為"GET"前兩個字母"GE",

0x4854 為"HTTP"前兩個字母"HT"。

tcpdump 對截獲的數(shù)據(jù)并沒有進(jìn)行徹底解碼,數(shù)據(jù)包內(nèi)的大部分內(nèi)容是使用十六進(jìn)制的形式直接打印輸出的。

顯然這不利于分析網(wǎng)絡(luò)故障,通常的解決辦法是先使用帶**-w參數(shù)的tcpdump 截獲數(shù)據(jù)并保存到文件中**,然后再使用其他程序(如Wireshark)進(jìn)行解碼分析。當(dāng)然也應(yīng)該定義過濾規(guī)則,以避免捕獲的數(shù)據(jù)包填滿整個硬盤。

六、查看數(shù)據(jù)包完整內(nèi)容

tcpdump默認(rèn)不顯示數(shù)據(jù)包的詳細(xì)內(nèi)容。

方法一:

使用-A參數(shù)能以ASCII碼顯示數(shù)據(jù)包。

例:只抓取1個數(shù)據(jù)包,并顯示其內(nèi)容。

命令:

tcpdump-c1-A

a1af7ac4-ff5a-11eb-9bcf-12bb97331649.png

方法二:

使用-X參數(shù)能16進(jìn)制數(shù)與ASCII碼共同顯示數(shù)據(jù)包。

例:只抓取1個數(shù)據(jù)包,并顯示其內(nèi)容。

命令:

tcpdump-c1-X

a1b99c52-ff5a-11eb-9bcf-12bb97331649.png

七、tcpdump 與wireshark

Wireshark(以前是ethereal)是Windows下非常簡單易用的抓包工具,現(xiàn)在也有Linux版本。

通過Tcpdump抓取的數(shù)據(jù)包分析比較麻煩,要想很方便的分析數(shù)據(jù)包, 我們可以用Tcpdump + Wireshark 的完美組合實現(xiàn):在 Linux 里抓包,然后在Windows 里分析包。

保存數(shù)據(jù)包為wireshark能識別的文件:

tcpdumptcp-ieth1-t-s0-c100anddstport!22andsrcnet192.168.1.0/24-w./target.cap

參數(shù) 含義
tcp ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數(shù)的位置,用來過濾數(shù)據(jù)報的類型
-i eth1 只抓經(jīng)過接口eth1的包
-t 不顯示時間戳
-s 0 抓取數(shù)據(jù)包時默認(rèn)抓取長度為68字節(jié)。加上-S 0 后可以抓到完整的數(shù)據(jù)包
-c 100 只抓取100個數(shù)據(jù)包
dst port ! 22 不抓取目標(biāo)端口是22的數(shù)據(jù)包
src net 192.168.1.0/24 數(shù)據(jù)包的源網(wǎng)絡(luò)地址為192.168.1.0/24
-w ./target.cap 保存成cap文件,方便用ethereal(即wireshark)分析

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7486

    瀏覽量

    88544

原文標(biāo)題:網(wǎng)絡(luò)/命令行抓包工具tcpdump詳解

文章出處:【微信號:A1411464185,微信公眾號:multisim】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    CentOS中使用tcpdump

    CentOS中使用tcpdump
    的頭像 發(fā)表于 10-28 14:48 ?144次閱讀

    六種網(wǎng)絡(luò)安裝工具的用途

    網(wǎng)線和網(wǎng)絡(luò)連接器等,和光纖類產(chǎn)品一樣,同樣有許多工具配件。它們能夠幫助用戶快速完成網(wǎng)絡(luò)安裝。本期我們將重點挑選幾款網(wǎng)絡(luò)
    的頭像 發(fā)表于 10-25 15:43 ?136次閱讀

    艾體寶干貨 OIDA之四:掌握數(shù)據(jù)分析-分析的藝術(shù)

    本文是OIDA方法系列的最后一部分,重點介紹了數(shù)據(jù)分析的“分析”階段。這一最后階段將剖析階段的精煉數(shù)據(jù)轉(zhuǎn)化為可操作的見解,使網(wǎng)絡(luò)管理員和安
    的頭像 發(fā)表于 09-24 11:47 ?155次閱讀
    艾體寶干貨 OIDA之四:掌握數(shù)據(jù)<b class='flag-5'>包</b><b class='flag-5'>分析</b>-<b class='flag-5'>分析</b>的藝術(shù)

    一種利用wireshark對遠(yuǎn)程服務(wù)器/路由器網(wǎng)絡(luò)方法

    一種利用wireshark對遠(yuǎn)程服務(wù)器/路由器網(wǎng)絡(luò)方法
    的頭像 發(fā)表于 09-21 08:03 ?1677次閱讀
    一種利用wireshark對遠(yuǎn)程服務(wù)器/路由器<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>方法

    經(jīng)典藍(lán)牙解析說明

    在無線通信協(xié)議的開發(fā)過程中,器是工程師們不可或缺的工具。掌握器的使用,就如同擁有了能夠洞察無線電波的“火眼金睛”。這不僅使我們能夠驗
    的頭像 發(fā)表于 07-24 09:04 ?1669次閱讀
    經(jīng)典藍(lán)牙<b class='flag-5'>抓</b><b class='flag-5'>包</b>解析說明

    網(wǎng)絡(luò)模塊的安裝方法

    說明書和安裝手冊。 準(zhǔn)備必要的安裝工具,如剝線器、打線工具、螺絲刀等。 關(guān)閉電源: 在安裝網(wǎng)絡(luò)模塊之前,關(guān)閉計算機(jī)和其他相關(guān)設(shè)備的電源,以確
    的頭像 發(fā)表于 07-12 09:58 ?511次閱讀

    matlab神經(jīng)網(wǎng)絡(luò)工具箱結(jié)果分析

    神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的機(jī)器學(xué)習(xí)技術(shù),廣泛應(yīng)用于各種領(lǐng)域,如圖像識別、語音識別、自然語言處理等。MATLAB提供了一個功能強(qiáng)大的神經(jīng)網(wǎng)絡(luò)工具箱,可以幫助用戶快速構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。本文將介紹
    的頭像 發(fā)表于 07-03 10:32 ?506次閱讀

    TSN工具解密:數(shù)據(jù)捕獲,為什么選Profishark?

    網(wǎng)絡(luò)管理中,網(wǎng)絡(luò)流量分析和故障排查是重要環(huán)節(jié),如何高效精準(zhǔn)地進(jìn)行網(wǎng)絡(luò)流量分析和故障排查?來看看利用ProfiShark數(shù)據(jù)捕獲,讓我們一起探索其中的優(yōu)勢和特點。一、捕獲
    的頭像 發(fā)表于 04-29 08:04 ?506次閱讀
    TSN<b class='flag-5'>抓</b>包<b class='flag-5'>工具</b>解密:數(shù)據(jù)<b class='flag-5'>包</b>捕獲,為什么選Profishark?

    艾體寶干貨 | TSN工具解密:為什么選擇使用 ProfiShark 進(jìn)行數(shù)據(jù)捕獲?

    時間敏感網(wǎng)絡(luò)(TSN)技術(shù)正在成為工業(yè)控制和實時通信領(lǐng)域的關(guān)鍵技術(shù),而ProfiShark作為一款高性能的數(shù)據(jù)捕獲工具,提供了在TSN網(wǎng)絡(luò)環(huán)境中進(jìn)行
    的頭像 發(fā)表于 04-25 17:41 ?430次閱讀
    艾體寶干貨 | TSN<b class='flag-5'>抓</b>包<b class='flag-5'>工具</b>解密:為什么選擇使用 ProfiShark 進(jìn)行數(shù)據(jù)<b class='flag-5'>包</b>捕獲?

    tcpdump命令介紹

    1.命令簡介tcpdump 是一款類 Unix/Linux 環(huán)境下的工具,允許用戶截獲和顯示發(fā)送或收到的網(wǎng)絡(luò)數(shù)據(jù)。
    發(fā)表于 04-08 06:02

    網(wǎng)絡(luò)監(jiān)控工具有哪些 網(wǎng)絡(luò)監(jiān)控用幾芯網(wǎng)線

    情況,幫助管理員了解網(wǎng)絡(luò)的使用狀況和流量分布,以便進(jìn)行合理的網(wǎng)絡(luò)設(shè)計和帶寬管理。常見的網(wǎng)絡(luò)流量監(jiān)控工具有Wireshark、NetworkMiner和ntopng等。 Wireshar
    的頭像 發(fā)表于 01-24 10:00 ?980次閱讀

    利用ProfiShark 構(gòu)建便攜式網(wǎng)絡(luò)取證工具包

    網(wǎng)絡(luò)安全領(lǐng)域日益重視便攜式取證工具的靈活應(yīng)用。本文介紹了如何構(gòu)建一個以ProfiShark1G為核心的便攜式網(wǎng)絡(luò)取證工具包,以提高
    的頭像 發(fā)表于 01-13 08:04 ?1523次閱讀
    利用ProfiShark 構(gòu)建便攜式<b class='flag-5'>網(wǎng)絡(luò)</b>取證<b class='flag-5'>工具包</b>

    【虹科分享】利用ProfiShark 構(gòu)建便攜式網(wǎng)絡(luò)取證工具包

    本文詳細(xì)討論了構(gòu)建便攜式網(wǎng)絡(luò)取證工具包的必要性,并重點介紹了ProfiShark 1G — 一種高效、口袋大小的網(wǎng)絡(luò)TAP設(shè)備。ProfiShark 1G以其出色的數(shù)據(jù)捕獲能力、便攜性
    的頭像 發(fā)表于 12-29 17:06 ?345次閱讀

    eSPI協(xié)議分析

    eSPI 協(xié)議在物理層是遵循 SPI 通訊規(guī)范的,但是協(xié)議層有差異,因此不能使用 SPI 協(xié)議去解析(沒有 eSPI 協(xié)議分析儀的情況下,可以使用 SPI 協(xié)議分析儀去做單獨 Byte 的初步解析,接下來就人肉解析 eSPI)。
    的頭像 發(fā)表于 11-18 15:29 ?2981次閱讀
    eSPI協(xié)議<b class='flag-5'>抓</b><b class='flag-5'>包</b><b class='flag-5'>分析</b>

    網(wǎng)絡(luò)問題分析

    通常會帶來嚴(yán)重的性能下降,特別是對 TCP 來說,丟通常意味著網(wǎng)絡(luò)擁塞和重傳,進(jìn)而還會導(dǎo)致網(wǎng)絡(luò)延遲增大、吞吐降低。 一、 哪里可能丟 接下來,我就以最常用的反向代理服務(wù)器 Ngin
    的頭像 發(fā)表于 11-13 11:24 ?927次閱讀
    <b class='flag-5'>網(wǎng)絡(luò)</b>丟<b class='flag-5'>包</b>問題<b class='flag-5'>分析</b>