分析一个开放端口是否为hbase服务

193 阅读9分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第34天,点击查看活动详情

[toc]

简介

之前介绍了hbase的端口尝试,一直再尝试是否能发送一个报文给hbase,让hbase产生回复,不论是什么回复,能有效区分出来就可以,直到。。。直到今天看了一篇文章

参考 使用Docker学习Hbase

看这篇文章之前,是想着搭建个hbase shell的,在本机搭建会造成一堆垃圾,浪费空间,就搭建个docker吧,搜到了这篇文章,搭建着,,,搭建着,,,,发现,habse竟然是有网页的。whar///

分析hbase的交互

  • hbase 的主页 主页

  • 也就是说,我们直接造一个http的请求报文就可以让hbase进行回复,根据这个回复,我们就可以再分析,这是不是一个hbase的页面

  • 联想,也许,有些数据库、大数据,采用的http协议交互,这类的sql和大数据组件,说不定都是有网页的,下次再碰到这种,可千万别找客户端找半年了,先尝试下有没有网页吧。。。

抓包分析报文

  • http请求报文

    0000   47 45 54 20 2f 6d 61 73 74 65 72 2d 73 74 61 74   GET /master-stat
    0010   75 73 20 48 54 54 50 2f 31 2e 31 0d 0a 48 6f 73   us HTTP/1.1..Hos
    0020   74 3a 20 31 39 32 2e 31 36 38 2e 32 2e 34 35 3a   t: 192.168.2.45:
    0030   31 36 30 31 30 0d 0a 43 6f 6e 6e 65 63 74 69 6f   16010..Connectio
    0040   6e 3a 20 6b 65 65 70 2d 61 6c 69 76 65 0d 0a 43   n: keep-alive..C
    0050   61 63 68 65 2d 43 6f 6e 74 72 6f 6c 3a 20 6d 61   ache-Control: ma
    0060   78 2d 61 67 65 3d 30 0d 0a 44 4e 54 3a 20 31 0d   x-age=0..DNT: 1.
    0070   0a 55 70 67 72 61 64 65 2d 49 6e 73 65 63 75 72   .Upgrade-Insecur
    0080   65 2d 52 65 71 75 65 73 74 73 3a 20 31 0d 0a 55   e-Requests: 1..U
    0090   73 65 72 2d 41 67 65 6e 74 3a 20 4d 6f 7a 69 6c   ser-Agent: Mozil
    00a0   6c 61 2f 35 2e 30 20 28 57 69 6e 64 6f 77 73 20   la/5.0 (Windows 
    00b0   4e 54 20 31 30 2e 30 3b 20 57 69 6e 36 34 3b 20   NT 10.0; Win64; 
    00c0   78 36 34 29 20 41 70 70 6c 65 57 65 62 4b 69 74   x64) AppleWebKit
    00d0   2f 35 33 37 2e 33 36 20 28 4b 48 54 4d 4c 2c 20   /537.36 (KHTML, 
    00e0   6c 69 6b 65 20 47 65 63 6b 6f 29 20 43 68 72 6f   like Gecko) Chro
    00f0   6d 65 2f 31 30 33 2e 30 2e 30 2e 30 20 53 61 66   me/103.0.0.0 Saf
    0100   61 72 69 2f 35 33 37 2e 33 36 0d 0a 41 63 63 65   ari/537.36..Acce
    0110   70 74 3a 20 74 65 78 74 2f 68 74 6d 6c 2c 61 70   pt: text/html,ap
    0120   70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b   plication/xhtml+
    0130   78 6d 6c 2c 61 70 70 6c 69 63 61 74 69 6f 6e 2f   xml,application/
    0140   78 6d 6c 3b 71 3d 30 2e 39 2c 69 6d 61 67 65 2f   xml;q=0.9,image/
    0150   61 76 69 66 2c 69 6d 61 67 65 2f 77 65 62 70 2c   avif,image/webp,
    0160   69 6d 61 67 65 2f 61 70 6e 67 2c 2a 2f 2a 3b 71   image/apng,*/*;q
    0170   3d 30 2e 38 2c 61 70 70 6c 69 63 61 74 69 6f 6e   =0.8,application
    0180   2f 73 69 67 6e 65 64 2d 65 78 63 68 61 6e 67 65   /signed-exchange
    0190   3b 76 3d 62 33 3b 71 3d 30 2e 39 0d 0a 41 63 63   ;v=b3;q=0.9..Acc
    01a0   65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a   ept-Encoding: gz
    01b0   69 70 2c 20 64 65 66 6c 61 74 65 0d 0a 41 63 63   ip, deflate..Acc
    01c0   65 70 74 2d 4c 61 6e 67 75 61 67 65 3a 20 7a 68   ept-Language: zh
    01d0   2d 43 4e 2c 7a 68 3b 71 3d 30 2e 39 0d 0a 0d 0a   -CN,zh;q=0.9....
    
  • 这是回复的报文

    0000   c0 25 a5 bc cd 7a 28 df eb 39 ff f3 08 00 45 00   .%...z(..9....E.
    0010   05 dc 92 16 40 00 3f 06 1e 7e c0 a8 02 2d c0 a8   ....@.?..~...-..
    0020   02 0a 3e 8a fa 31 c5 6c 13 f5 75 58 26 11 50 10   ..>..1.l..uX&.P.
    0030   01 f5 69 e6 00 00 48 54 54 50 2f 31 2e 31 20 32   ..i...HTTP/1.1 2
    0040   30 30 20 4f 4b 0d 0a 43 61 63 68 65 2d 43 6f 6e   00 OK..Cache-Con
    0050   74 72 6f 6c 3a 20 6e 6f 2d 63 61 63 68 65 0d 0a   trol: no-cache..
    0060   45 78 70 69 72 65 73 3a 20 54 68 75 2c 20 33 30   Expires: Thu, 30
    0070   20 4a 75 6e 20 32 30 32 32 20 30 32 3a 35 35 3a    Jun 2022 02:55:
    0080   30 35 20 47 4d 54 0d 0a 44 61 74 65 3a 20 54 68   05 GMT..Date: Th
    0090   75 2c 20 33 30 20 4a 75 6e 20 32 30 32 32 20 30   u, 30 Jun 2022 0
    00a0   32 3a 35 35 3a 30 35 20 47 4d 54 0d 0a 50 72 61   2:55:05 GMT..Pra
    00b0   67 6d 61 3a 20 6e 6f 2d 63 61 63 68 65 0d 0a 45   gma: no-cache..E
    00c0   78 70 69 72 65 73 3a 20 54 68 75 2c 20 33 30 20   xpires: Thu, 30 
    00d0   4a 75 6e 20 32 30 32 32 20 30 32 3a 35 35 3a 30   Jun 2022 02:55:0
    00e0   35 20 47 4d 54 0d 0a 44 61 74 65 3a 20 54 68 75   5 GMT..Date: Thu
    00f0   2c 20 33 30 20 4a 75 6e 20 32 30 32 32 20 30 32   , 30 Jun 2022 02
    0100   3a 35 35 3a 30 35 20 47 4d 54 0d 0a 50 72 61 67   :55:05 GMT..Prag
    0110   6d 61 3a 20 6e 6f 2d 63 61 63 68 65 0d 0a 43 6f   ma: no-cache..Co
    0120   6e 74 65 6e 74 2d 54 79 70 65 3a 20 74 65 78 74   ntent-Type: text
    0130   2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 75   /html; charset=u
    0140   74 66 2d 38 0d 0a 58 2d 46 72 61 6d 65 2d 4f 70   tf-8..X-Frame-Op
    0150   74 69 6f 6e 73 3a 20 44 45 4e 59 0d 0a 54 72 61   tions: DENY..Tra
    0160   6e 73 66 65 72 2d 45 6e 63 6f 64 69 6e 67 3a 20   nsfer-Encoding: 
    0170   63 68 75 6e 6b 65 64 0d 0a 53 65 72 76 65 72 3a   chunked..Server:
    0180   20 4a 65 74 74 79 28 36 2e 31 2e 32 36 29 0d 0a    Jetty(6.1.26)..
    0190   0d 0a 32 46 41 37 0d 0a 0a 3c 21 2d 2d 5b 69 66   ..2FA7...<!--[if
    01a0   20 49 45 5d 3e 0a 3c 21 44 4f 43 54 59 50 45 20    IE]>.<!DOCTYPE 
    01b0   68 74 6d 6c 3e 0a 3c 21 5b 65 6e 64 69 66 5d 2d   html>.<![endif]-
    01c0   2d 3e 0a 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e   ->.<?xml version
    01d0   3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d   ="1.0" encoding=
    01e0   22 55 54 46 2d 38 22 20 3f 3e 0a 3c 68 74 6d 6c   "UTF-8" ?>.<html
    01f0   20 6c 61 6e 67 3d 22 65 6e 22 3e 0a 20 20 3c 68    lang="en">.  <h
    0200   65 61 64 3e 0a 20 20 20 20 3c 6d 65 74 61 20 63   ead>.    <meta c
    0210   68 61 72 73 65 74 3d 22 75 74 66 2d 38 22 3e 0a   harset="utf-8">.
    0220   20 20 20 20 3c 74 69 74 6c 65 3e 4d 61 73 74 65       <title>Maste
    0230   72 3a 20 0a 20 20 20 20 34 39 34 37 37 31 65 65   r: .    494771ee
    0240   38 62 61 33 3c 2f 74 69 74 6c 65 3e 0a 20 20 20   8ba3</title>.   
    0250   20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 76 69 65    <meta name="vie
    0260   77 70 6f 72 74 22 20 63 6f 6e 74 65 6e 74 3d 22   wport" content="
    0270   77 69 64 74 68 3d 64 65 76 69 63 65 2d 77 69 64   width=device-wid
    0280   74 68 2c 20 69 6e 69 74 69 61 6c 2d 73 63 61 6c   th, initial-scal
    0290   65 3d 31 2e 30 22 3e 0a 20 20 20 20 3c 6d 65 74   e=1.0">.    <met
    02a0   61 20 6e 61 6d 65 3d 22 64 65 73 63 72 69 70 74   a name="descript
    02b0   69 6f 6e 22 20 63 6f 6e 74 65 6e 74 3d 22 22 3e   ion" content="">
    02c0   0a 20 20 20 20 3c 6c 69 6e 6b 20 68 72 65 66 3d   .    <link href=
    02d0   22 2f 73 74 61 74 69 63 2f 63 73 73 2f 62 6f 6f   "/static/css/boo
    02e0   74 73 74 72 61 70 2e 6d 69 6e 2e 63 73 73 22 20   tstrap.min.css" 
    02f0   72 65 6c 3d 22 73 74 79 6c 65 73 68 65 65 74 22   rel="stylesheet"
    0300   3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 68 72 65 66   >.    <link href
    0310   3d 22 2f 73 74 61 74 69 63 2f 63 73 73 2f 62 6f   ="/static/css/bo
    0320   6f 74 73 74 72 61 70 2d 74 68 65 6d 65 2e 6d 69   otstrap-theme.mi
    0330   6e 2e 63 73 73 22 20 72 65 6c 3d 22 73 74 79 6c   n.css" rel="styl
    0340   65 73 68 65 65 74 22 3e 0a 20 20 20 20 3c 6c 69   esheet">.    <li
    0350   6e 6b 20 68 72 65 66 3d 22 2f 73 74 61 74 69 63   nk href="/static
    0360   2f 63 73 73 2f 68 62 61 73 65 2e 63 73 73 22 20   /css/hbase.css" 
    0370   72 65 6c 3d 22 73 74 79 6c 65 73 68 65 65 74 22   rel="stylesheet"
    0380   3e 0a 20 20 3c 2f 68 65 61 64 3e 0a 0a 20 20 3c   >.  </head>..  <
    0390   62 6f 64 79 3e 0a 0a 20 20 20 20 3c 64 69 76 20   body>..    <div 
    03a0   63 6c 61 73 73 3d 22 6e 61 76 62 61 72 20 20 6e   class="navbar  n
    03b0   61 76 62 61 72 2d 66 69 78 65 64 2d 74 6f 70 20   avbar-fixed-top 
    03c0   6e 61 76 62 61 72 2d 64 65 66 61 75 6c 74 22 3e   navbar-default">
    03d0   0a 20 20 20 20 20 20 20 20 3c 64 69 76 20 63 6c   .        <div cl
    03e0   61 73 73 3d 22 63 6f 6e 74 61 69 6e 65 72 2d 66   ass="container-f
    03f0   6c 75 69 64 22 3e 0a 20 20 20 20 20 20 20 20 20   luid">.         
    0400   20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 6e      <div class="n
    0410   61 76 62 61 72 2d 68 65 61 64 65 72 22 3e 0a 20   avbar-header">. 
    0420   20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c                  <
    0430   62 75 74 74 6f 6e 20 74 79 70 65 3d 22 62 75 74   button type="but
    0440   74 6f 6e 22 20 63 6c 61 73 73 3d 22 6e 61 76 62   ton" class="navb
    0450   61 72 2d 74 6f 67 67 6c 65 22 20 64 61 74 61 2d   ar-toggle" data-
    0460   74 6f 67 67 6c 65 3d 22 63 6f 6c 6c 61 70 73 65   toggle="collapse
    0470   22 20 64 61 74 61 2d 74 61 72 67 65 74 3d 22 2e   " data-target=".
    0480   6e 61 76 62 61 72 2d 63 6f 6c 6c 61 70 73 65 22   navbar-collapse"
    0490   3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   >.              
    04a0   20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73         <span clas
    04b0   73 3d 22 69 63 6f 6e 2d 62 61 72 22 3e 3c 2f 73   s="icon-bar"></s
    04c0   70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20   pan>.           
    04d0   20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63            <span c
    04e0   6c 61 73 73 3d 22 69 63 6f 6e 2d 62 61 72 22 3e   lass="icon-bar">
    04f0   3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20   </span>.        
    0500   20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61               <spa
    0510   6e 20 63 6c 61 73 73 3d 22 69 63 6f 6e 2d 62 61   n class="icon-ba
    0520   72 22 3e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20   r"></span>.     
    0530   20 20 20 20 20 20 20 20 20 20 20 3c 2f 62 75 74              </but
    0540   74 6f 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20   ton>.           
    0550   20 20 20 20 20 3c 61 20 63 6c 61 73 73 3d 22 6e        <a class="n
    0560   61 76 62 61 72 2d 62 72 61 6e 64 22 20 68 72 65   avbar-brand" hre
    0570   66 3d 22 2f 6d 61 73 74 65 72 2d 73 74 61 74 75   f="/master-statu
    0580   73 22 3e 3c 69 6d 67 20 73 72 63 3d 22 2f 73 74   s"><img src="/st
    0590   61 74 69 63 2f 68 62 61 73 65 5f 6c 6f 67 6f 5f   atic/hbase_logo_
    05a0   73 6d 61 6c 6c 2e 70 6e 67 22 20 61 6c 74 3d 22   small.png" alt="
    05b0   48 42 61 73 65 20 4c 6f 67 6f 22 2f 3e 3c 2f 61   HBase Logo"/></a
    05c0   3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f   >.            </
    05d0   64 69 76 3e 0a 20 20 20 20 20 20 20 20 20 20 20   div>.           
    05e0   20 3c 64 69 76 20 63 6c 61 73                      <div clas
    
  • 其实回复的报文更长,不过tcp这里进行了分段,一个报文的长度是1460,在这一段中,就可以找到一些hbase的服务器特征

  • 网页的标题

    <title>Maste
    0230   72 3a 20 0a 20 20 20 20 34 39 34 37 37 31 65 65   r: .    494771ee
    0240   38 62 61 33 3c 2f 74 69 74 6c 65 3e 0a 20 20 20   8ba3</title>
    
  • 引用的css

    <link href
    0310   3d 22 2f 73 74 61 74 69 63 2f 63 73 73 2f 62 6f   ="/static/css/bo
    0320   6f 74 73 74 72 61 70 2d 74 68 65 6d 65 2e 6d 69   otstrap-theme.mi
    0330   6e 2e 63 73 73 22 20 72 65 6c 3d 22 73 74 79 6c   n.css" rel="styl
    0340   65 73 68 65 65 74 22 3e 0a 20 20 20 20 3c 6c 69   esheet">
    
  • hbase的logo

    <img src="/st
    0590   61 74 69 63 2f 68 62 61 73 65 5f 6c 6f 67 6f 5f   atic/hbase_logo_
    05a0   73 6d 61 6c 6c 2e 70 6e 67 22 20 61 6c 74 3d 22   small.png" alt="
    05b0   48 42 61 73 65 20 4c 6f 67 6f 22 2f 3e 3c 2f 61   HBase Logo"/>
    
  • 通过这些特征,就可以很好的判断这个网页是一个hbase的服务,当然,也可以完整的拉取整个网页,进行更细致的判断,也可以不从网页,从具体的交互来抓包,不过shell没搞定,就先用网页的特征吧。。。

完结、撒花