<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      MySQL、Redis、MongoDB網絡抓包工具

      簡介

           go-sniffer 可以抓包截取項目(MySQL、Redis、MongoDB)中的請求并解析成相應的語句,并格式化輸出。類似于在之前的文章 MySQL抓包工具:MySQL Sniffer【轉】中介紹的mysql-sniffer。而 go-sniffer 可以對更多數據庫進行抓包分析,現在來介紹在什么情況下會使用該工具的。

      使用

      下載:

      github 地址:https://github.com/40t/go-sniffer

      安裝:

      1)安裝依賴包:

      Centos

      yum -y install libpcap-devel

      Ubuntu:

      apt-get install libpcap-dev

      另外還需要安裝golang,并且版本需要在1.10.3以上。

      wget https://golang.org/dl/go1.10.3.linux-amd64.tar.gz

      設置好相關的環境變量。如果不想要go環境 ,則可以直接在其他地方安裝好go-sniffer之后,復制到目標服務器上直接使用。 

      2)下載安裝

      -- 安裝好go環境的服務器上:
      go get -v -u github.com/40t/go-sniffer
      cp -rf $(go env GOPATH)/bin/go-sniffer /usr/local/bin   --安裝到設置好的go環境變量的目錄里
      go-sniffer

      參數說明: go-sniffer --help

      =======================================================================
      [使用說明]
      
          go-sniffer [設備名] [插件名] [插件參數(可選)]
      
          [例子]
                go-sniffer en0 redis          抓取redis數據包
                go-sniffer en0 mysql -p 3306  抓取mysql數據包,端口3306
      
          go-sniffer --[命令]
                     --help 幫助信息
                     --env  環境變量
                     --list 插件列表
                     --ver  版本信息
                     --dev  設備列表
          [例子]
                go-sniffer --list 查看可抓取的協議
      
      =======================================================================
      [設備名] : lo0 :   127.0.0.1
      [設備名] : en0 : x:x:x:x:x5:x  192.168.1.3
      [設備名] : utun2 :   1.1.11.1
      =======================================================================

      語法:

      $ go-sniffer lo0 mysql 
      $ go-sniffer en0 redis 
      $ go-sniffer eth0 http -p 8080
      $ go-sniffer eth1 mongodb

      使用場景

      一 Redis :審計、發現熱點key

            關于Redis的知識點就不說了,主要來說明如何使用go-sniffer來抓包分析。如果想發現哪個key的操作比較多或則是否存在熱點key,在Redis4.0之前沒有什么好辦法(4.0之后的LFU可以查看hotkey),只有通過統計各個客戶端發來的命令進行統計。雖然monitor可以看到某一刻的key操作,但是該命令消耗巨大,可能會造成客戶端緩沖區溢出。并且也沒有合適的插件來進行實現。即使有的話,對Redis的性能肯定有一定的損耗,所以只有監控其網絡來分析操作是對Redis服務的影響最小的。如對一個實例進行監控:

      go-sniffer eth0 redis -p 6379 >> out.log

      對通過eth0網卡的客戶端訪問端口為6379的Redis服務進行抓包,并把信息寫到文件中。該文件的日志格式:

      tcp and port 6379 get abc
       get abc
       get abc
       get abc
       get opq
       get opq
       get opq
       get opq
       get xyz
       get xyz
       get xyz

      可以看到,該文件的信息就是操作日志,最后可以通過使用awk來分析,也可以把該日志文件寫入到數據庫的表里進行統計分析:

      # grep -avEi "^#|^$|^tcp|^ INFO|^ AUTH|^ REPLCONF ACK|^ CONFIG GET" out.txt |awk '{print $1,$2}'|sort| uniq -c | sort -nr |head -n 10
            5 get abc
            4 get opq
            3 get xyz

      注意:go-sniffer也需要消耗一定的資源,大致的消耗可以看以下表格:

      OPS Redis CPU sniffer CPU
      1.2W 20% 30%
      5.5W 80% 140%
      7.5W 98% 180%

      從上面看到,go-sniffer所需要的CPU資源是Redis的2倍左右。所以,在使用該工具之前,先判斷本身服務器的資源是否夠用。

       

      二 MySQL:審計

      go-sniffer eth0 mysql -p 3306 >> out.log

       

      三 MongoDB:審計

      go-sniffer eth0 mongodb -p 27017 >> out.log

       

      posted @ 2021-09-27 17:37  jyzhou  閱讀(1556)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 全州县| 一本大道av人久久综合| 团风县| 国产精品不卡区一区二| 亚洲韩国精品无码一区二区三区| 成年女人片免费视频播放A| 久久久综合九色合综| 国产成人一区二区免av| 日韩精品一区二区三区蜜臀 | 亚洲精品美女久久久久99| 成人国产一区二区三区精品| 国产精品午夜福利小视频| 99久久er热在这里只有精品99| 色伦专区97中文字幕| 免费AV片在线观看网址| 久热色视频精品在线观看| 久久精品国产久精国产| 一区二区三区不卡国产| 国产95在线 | 欧美| 野外少妇被弄到喷水在线观看| 商都县| 久久夜色撩人精品国产av| 亚洲中文字幕国产精品| 丰原市| 激情综合五月网| 免费无码无遮挡裸体视频在线观看| 英吉沙县| 亚洲国产成人精品激情姿源| 四虎影视国产精品永久在线| 免费无码高潮流白浆视频| 九九热爱视频精品视频| 国产黑色丝袜在线播放| 老女老肥熟国产在线视频| 性欧美乱熟妇xxxx白浆| 国产91精选在线观看| 久久国产成人av蜜臀| 日韩av毛片福利国产福利| 丰满熟妇人妻中文字幕| 亚洲精品一区二区三区不| 干中文字幕| 在国产线视频A在线视频|