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

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

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

tcpdump常見的高級用法

麥辣雞腿堡 ? 來源:編程修養(yǎng) ? 作者:程序員肖邦 ? 2023-09-28 15:47 ? 次閱讀

tcpdump 強大的功能和靈活的策略,主要體現(xiàn)在過濾器(BPF)強大的表達式組合能力。

本節(jié)主要分享一些常見的所謂高級用法,希望讀者能夠舉一反三,根據(jù)自己實際需求,來靈活使用它。

1. 抓取指定客戶端訪問 ssh 的數(shù)據(jù)包

$tcpdump-nieth0src192.168.1.100anddstport22

2. 抓取從某個網(wǎng)段來,到某個網(wǎng)段去的流量

$tcpdump-nieth0srcnet192.168.1.0/16anddstnet10.0.0.0/8or172.16.0.0/16

3. 抓取來自某個主機,發(fā)往非 ssh 端口的流量

$tcpdump-nieth0src10.0.2.4andnotdstport22

4. 當構(gòu)建復雜查詢的時候,你可能需要使用引號,單引號告訴 tcpdump 忽略特定的特殊字符,這里的 () 就是特殊符號,如果不用引號的話,就需要使用轉(zhuǎn)義字符

$tcpdump-nieth0

'src10.0.2.4and(dstport3389or22)'

5. 基于包大小進行篩選,如果你正在查看特定的包大小,可以使用這個參數(shù)

小于等于 64 字節(jié):

$tcpdump-niless64

大于等于 64 字節(jié):

$tcpdump-nieth0greater64

等于 64 字節(jié):

$tcpdump-nieth0length==64

6. 過濾 TCP 特殊標記的數(shù)據(jù)包

抓取某主機發(fā)送的 RST 數(shù)據(jù)包:

$tcpdump-nieth0srchost192.168.1.100and

'tcp[tcpflags]&(tcp-rst)!=0'

抓取某主機發(fā)送的 SYN 數(shù)據(jù)包:

$tcpdump-nieth0srchost192.168.1.100and

'tcp[tcpflags]&(tcp-syn)!=0'

抓取某主機發(fā)送的 FIN 數(shù)據(jù)包:

$tcpdump-nieth0srchost192.168.1.100and

'tcp[tcpflags]&(tcp-fin)!=0'

抓取 TCP 連接中的 SYNFIN

$tcpdump

'tcp[tcpflags]&(tcp-syn|tcp-fin)!=0'

7. 抓取所有非 ping 類型的 ICMP

$tcpdump

'icmp[icmptype]!=icmp-echoandicmp[icmptype]!=icmp-echoreply'

8. 抓取端口是 80,網(wǎng)絡(luò)層協(xié)議為 IPv4, 并且含有數(shù)據(jù),而不是 SYN、FIN 以及 ACK 等不含數(shù)據(jù)的數(shù)據(jù)包

$tcpdump

'tcpport80and(((ip[2:2]-((ip[0]&0xf)<<2))?-?((tcp[12]&0xf0)>>2))!=0)'

解釋一下這個復雜的表達式,具體含義就是,整個 IP 數(shù)據(jù)包長度減去 IP 頭長度,再減去 TCP 頭的長度,結(jié)果不為 0,就表示數(shù)據(jù)包有 data,如果還不是很理解,需要自行補一下 tcp/ip 協(xié)議

9. 抓取 HTTP 報文,0x4754GET 前兩字符的值,0x4854HTTP 前兩個字符的值

$tcpdump-nieth0

'tcp[20:2]=0x4745ortcp[20:2]=0x4854'

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

    關(guān)注

    5046

    文章

    18817

    瀏覽量

    298568
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207916
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7389

    瀏覽量

    88213
  • 數(shù)據(jù)包
    +關(guān)注

    關(guān)注

    0

    文章

    238

    瀏覽量

    24250
收藏 人收藏

    評論

    相關(guān)推薦

    Arduino串口高級用法,你都掌握了嗎?

    本文為Arduino串口的一些高級用法,希望能幫助創(chuàng)客及相關(guān)工程師云梯優(yōu)化設(shè)計。
    發(fā)表于 07-16 11:05 ?1.2w次閱讀

    C語言中位運算符的高級用法(1)

    在上一篇文章中,我們介紹了&運算符的基礎(chǔ)用法,本篇文章,我們將介紹& 運算符的一些高級用法
    發(fā)表于 08-22 10:44 ?256次閱讀
    C語言中位運算符的<b class='flag-5'>高級</b><b class='flag-5'>用法</b>(1)

    C語言中位運算符的高級用法(2)

    在上一篇文章中,我們介紹了&運算符的高級用法,本篇文章,我們將介紹| 運算符的一些高級用法
    發(fā)表于 08-22 10:45 ?268次閱讀
    C語言中位運算符的<b class='flag-5'>高級</b><b class='flag-5'>用法</b>(2)

    C語言中位運算符的高級用法(3)

    在上一篇文章中,我們介紹了|運算符的高級用法,本篇文章,我們將介紹^ 運算符的一些高級用法。
    發(fā)表于 08-22 10:47 ?215次閱讀
    C語言中位運算符的<b class='flag-5'>高級</b><b class='flag-5'>用法</b>(3)

    C語言中位運算符的高級用法(4)

    在上一篇文章中,我們介紹了^運算符的高級用法,本篇文章,我們將介紹~ 運算符的一些高級用法。
    發(fā)表于 08-22 10:48 ?186次閱讀
    C語言中位運算符的<b class='flag-5'>高級</b><b class='flag-5'>用法</b>(4)

    C語言中位運算符的高級用法(5)

    在上一篇文章中,我們介紹了~運算符的高級用法,本篇文章,我們將介紹
    發(fā)表于 08-22 10:49 ?263次閱讀
    C語言中位運算符的<b class='flag-5'>高級</b><b class='flag-5'>用法</b>(5)

    tcpdump命令介紹

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

    tcpdump能抓指定域名嗎

    tcpdump 能抓指定域名的嗎?
    發(fā)表于 05-21 04:08

    狀態(tài)位在軟件設(shè)計中的常見用法是什么?

    外設(shè)常具備的幾類寄存器?控制外設(shè)的常見操作?狀態(tài)位在軟件設(shè)計中的常見用法是什么?外設(shè)函數(shù)有哪些類型?
    發(fā)表于 11-18 07:32

    STM32延時函數(shù)的高級用法是什么

    STM32延時函數(shù)的高級用法是什么
    發(fā)表于 12-01 06:32

    ActiveMQ高級用法

    ActiveMQ 高級用法一、嵌入式MQ在實際開發(fā)中,如果項目沒能給太多資源,而現(xiàn)在業(yè)務(wù)中又需要用到MQ,可以考慮嵌入式MQ,嵌入式MQ不需要安裝ActiveMQ,只需要導入相關(guān)依賴就可以1、pom文件需導入依賴:(在前兩篇關(guān)于MQ的依賴的基礎(chǔ)上導入這個依賴)org...
    發(fā)表于 12-17 07:49

    tcpdump的安裝以及通過實例來演示如何使用 tcpdump 命令

    在本文中,我們將會通過一些實例來演示如何使用 tcpdump 命令,但首先讓我們來看看在各種 Linux 操作系統(tǒng)中是如何安裝 tcpdump 的。
    的頭像 發(fā)表于 01-11 08:49 ?6167次閱讀
    <b class='flag-5'>tcpdump</b>的安裝以及通過實例來演示如何使用 <b class='flag-5'>tcpdump</b> 命令

    #define的高級用法簡介

    #define的高級用法
    的頭像 發(fā)表于 02-05 11:50 ?3718次閱讀

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

    概述 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者的定義對網(wǎng)絡(luò)上的數(shù)據(jù)包進行截獲的包分析工具。 tcpdump可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包
    的頭像 發(fā)表于 08-18 10:05 ?8535次閱讀
    網(wǎng)絡(luò)行抓包分析工具<b class='flag-5'>tcpdump</b>安裝介紹

    Linux網(wǎng)絡(luò)分析tcpdump的基本用法

    我們先通過幾個簡單的示例來介紹 tcpdump 基本用法。 1. 不加任何參數(shù),默認情況下將抓取第一個非 lo 網(wǎng)卡上所有的數(shù)據(jù)包 $?tcpdump? 2. ?抓取 eth0 網(wǎng)卡上的所有
    的頭像 發(fā)表于 09-28 15:42 ?432次閱讀