衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

網絡行抓包分析工具tcpdump安裝介紹

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

概述

用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者的定義對網絡上的數據包進行截獲的包分析工具。

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

tcpdump基于底層libpcap庫開發,運行需要root權限。

一、tcpdump安裝

環境虛擬機: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參數

常用參數選項說明:

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

三、命令選項使用舉例

1. 截獲主機收到和發出的所有數據包。

命令:

tcpdump

說明:

tcpdump截取包默認顯示數據包的頭部。

普通情況下,直接啟動tcpdump將監視第一個網絡接口上所有流過的數據包。

基礎格式:時間 數據包類型 源IP 端口/協議 > 目標IP 端口/協議 協議詳細信息

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

按下Ctrl+C會終止tcpdump命令。且會在結尾處生成統計信息。

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

終止tcpdump

2. 指定抓包數量 -c

指定抓取2個數據包。

命令:

tcpdump-c2

說明:

最后會自動生成統計信息。

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

【注意,已經切換到管理員了,虛擬機中要產生數據包,可以另外開一個窗口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

其中網卡為eth0。

6. 指定監控的網卡 -i

命令:

tcpdump-ieth0

如果不指定網卡,默認tcpdump只會監視第一個網絡接口,一般是eth0。

7. 顯示更詳細的數據包信息 -v -vv

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

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的所有輸出打印行中都會默認包含時間戳信息;時間戳信息的顯示格式如下

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

此時間戳的精度與內核時間精度一致,反映的是內核第一次看到對應數據包的時間;

而數據包從物理線路傳遞到內核的時間, 以及內核花費在此包上的中斷處理時間都沒有算進來;

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

命令:

tcpdump-tttt

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

增加抓包時間戳

四、條件過濾

1. 過濾:指定需要抓取的協議

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

命令:

tcpdumpudp tcpdumpicmp tcpdumptcp tcpdumparp

2. 過濾:指定協議的端口號

使用port參數,用于指定端口號。

命令:tcpdump tcp port 80

使用portrange參數,用于指定端口范圍。

命令:tcpdump tcp portrange 1-1024

3. 過濾:指定源與目標

src 表示源。

dst 表示目標。

命令:

tcpdump src port 8080

tcpdump dst port 80

4. 過濾:指定特定主機的消息包

使用host指定需要監聽的主機。

命令:

tcpdumphost192.168.1.113

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

5. 過濾:指定數據包大小

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

「例:只抓取大于1000字節的數據包?!?/p>

命令:

tcpdumpgreater1000

「例:只抓取小于10字節的數據包。」

命令:

tcpdumpless10

五、 邏輯表達式

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

1. 邏輯與

邏輯與關系,使用and。

命令:

tcpdumptcpandhost192.168.1.112 tcpdumptcpandsrc192.168.1.112andport8080

2. 邏輯或

邏輯或關系,使用or。

命令:

tcpdumphost192.168.1.112or192.168.1.113

3. 邏輯非

邏輯非關系,使用not,也可以使用 ! 。

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

例:當通過ssh協議遠程使用tcpdump時,為了避免ssh的數據包的輸出,所以一般需要禁止ssh數據包的輸出。

命令:

tcpdumpnottcpport22 tcpdump!tcpport22

4. 括號

括號需要使用在引號內,或轉意使用。否則會報錯。

例:抓取非22端口,且主機為192.168.1.112 和 192.168.1.113的TCP數據包。

命令:

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. 打印所有進入或離開sundown的數據包.

tcpdumphostsundown

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

tcpdumphost210.27.48.1and(210.27.48.2or210.27.48.3)

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

tcpdumpiphost210.27.48.1and!210.27.48.2

4. 監視所有送到主機hostname的數據包

tcpdump-ieth0dsthosthostname

5. 獲取主機210.27.48.1接收或發出的telnet包

23為telnet的端口

tcpdumptcpport23andhost210.27.48.1

6. 監視本機的udp 123 端口

123 為ntp的服務端口

tcpdumpudpport123

7. 使用tcpdump抓取HTTP包

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

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

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

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

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

六、查看數據包完整內容

tcpdump默認不顯示數據包的詳細內容。

方法一:

使用-A參數能以ASCII碼顯示數據包。

例:只抓取1個數據包,并顯示其內容。

命令:

tcpdump-c1-A

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

方法二:

使用-X參數能16進制數與ASCII碼共同顯示數據包。

例:只抓取1個數據包,并顯示其內容。

命令:

tcpdump-c1-X

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

七、tcpdump 與wireshark

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

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

保存數據包為wireshark能識別的文件:

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

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

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 網絡
    +關注

    關注

    14

    文章

    7599

    瀏覽量

    89250

原文標題:網絡/命令行抓包工具tcpdump詳解

文章出處:【微信號:A1411464185,微信公眾號:multisim】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    調試TCP協議連接的常用工具

    Wireshark 是一個開源的網絡協議分析器,它可以捕獲和分析網絡上的數據。Wireshark 支持多種協議,包括TCP/IP、HTT
    的頭像 發表于 01-22 09:59 ?170次閱讀

    tcpdump使用示例

    tcpdump -i eth0 -nn -s0 -v port 80 -i :進行的接口,通常是以太網卡或無線適配器,
    的頭像 發表于 01-06 09:33 ?153次閱讀

    Linux運維必備技能:手把手教你用tcpdump精準

    簡介 網絡數據截獲分析工具。支持針對網絡層、協議、主機、網絡或端口的過濾。并提供and、or、
    的頭像 發表于 12-24 11:20 ?570次閱讀

    【藍橋杯單片機】第二章 開發環境與工具安裝

    本章介紹單片機設計與開發項目的開發環境與工具。以下是所需要安裝的軟件以及附加的強力卸載軟件:下面跟著教程來進行開發環境的配置與安裝:第一節keil5
    的頭像 發表于 10-30 08:00 ?570次閱讀
    【藍橋杯單片機】第二章 開發環境與<b class='flag-5'>工具</b>的<b class='flag-5'>安裝</b>

    CentOS中使用tcpdump

    CentOS中使用tcpdump
    的頭像 發表于 10-28 14:48 ?323次閱讀

    六種網絡安裝工具的用途

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

    艾體寶干貨 OIDA之四:掌握數據分析-分析的藝術

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

    一種利用wireshark對遠程服務器/路由器網絡方法

    一種利用wireshark對遠程服務器/路由器網絡方法
    的頭像 發表于 09-21 08:03 ?3546次閱讀
    一種利用wireshark對遠程服務器/路由器<b class='flag-5'>網絡</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>方法

    經典藍牙解析說明

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

    網絡模塊的安裝方法

    說明書和安裝手冊。 準備必要的安裝工具,如剝線器、打線工具、螺絲刀等。 關閉電源: 在安裝網絡模塊之前,關閉計算機和其他相關設備的電源,以確
    的頭像 發表于 07-12 09:58 ?863次閱讀

    matlab神經網絡工具箱結果分析

    神經網絡是一種強大的機器學習技術,廣泛應用于各種領域,如圖像識別、語音識別、自然語言處理等。MATLAB提供了一個功能強大的神經網絡工具箱,可以幫助用戶快速構建和訓練神經網絡模型。本文將介紹
    的頭像 發表于 07-03 10:32 ?706次閱讀

    淺談Pango_Design_Suite工具安裝

    聯系了小眼睛FPGA官方客服,獲取了基于PGX-Mini 4K開發板的SDK,這里有包含了兩個版本的Pango_Design_Suite安裝文件,筆者
    發表于 05-30 00:43

    TSN工具解密:數據捕獲,為什么選Profishark?

    網絡管理中,網絡流量分析和故障排查是重要環節,如何高效精準地進行網絡流量分析和故障排查?來看看利用ProfiShark數據捕獲,讓我們一起探索其中的優勢和特點。一、捕獲
    的頭像 發表于 04-29 08:04 ?702次閱讀
    TSN<b class='flag-5'>抓</b>包<b class='flag-5'>工具</b>解密:數據<b class='flag-5'>包</b>捕獲,為什么選Profishark?

    艾體寶干貨 | TSN工具解密:為什么選擇使用 ProfiShark 進行數據捕獲?

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

    tcpdump命令介紹

    1.命令簡介tcpdump 是一款類 Unix/Linux 環境下的工具,允許用戶截獲和顯示發送或收到的網絡數據。
    發表于 04-08 06:02
    百家乐官网技巧-澳门百家乐官网官方网址| 大发888赌场 游戏平台| 澳门百家乐官网加盟| 百家乐正网包杀| 威尼斯人娱乐场钓鱼网站 | 大发888娱乐城 真钱下载| 百家乐官网事电影| 百家乐看图赢| 百家乐官网娱乐注册就送| 百家乐大路图| 澳门百家乐官网门路| 百家乐下路教学| 百家乐官网投注方向| 捷豹百家乐娱乐城| 澳门百家乐官网牌规| 威尼斯人娱乐城信誉lm0| 网上百家乐官网网| 大发888注册送28| 利来百家乐官网的玩法技巧和规则 | 安乡县| 至尊百家乐qvod| 百家乐官网有作弊的吗| 百家乐博娱乐平台赌百家乐| 百家乐官网投注心态| 大发888我发财官网| 九州百家乐官网的玩法技巧和规则 | 皇冠足球投注图| 百家乐天天乐娱乐场| 太阳城百家乐官网手机投注 | 百家乐官网庄闲赢负表| 大发888官方 截图| 百家乐视频游戏网站| 百家乐官网赢钱密籍| 风水24山代表什么| 百家乐官网网站开户| 免费玩百家乐的玩法技巧和规则| 百家乐官网软件辅助器| 皇冠网怎么注册| 百家乐博彩平| 百家乐官网百博亚洲| 大发888游戏怎么玩|