分析开放端口是否为hbase的各种尝试

387 阅读2分钟

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

[toc]

简介

想要扫描一下一个端口里面是什么服务,当遇到hbase的时候,就比较麻烦了,这个东东,,,它也没有什么像样的好安装的图形化客户端可以连接上,自己的客户端,安装时候还要配置java环境,这可以说是相当麻烦了

这篇文章是第一天的尝试,but、、、尝试到了最后,也没有个所以然,就当是一种思路分享把,用于分析端口协议的时候可以尝试

先随便丢上去一些常用报文

  • 先拿一些常用协议的一些报文丢上去,看看有什么反应没有

  • 准备好陈年的用来测试的包

  • 创建sock,连接,发送

  • wireshark分析报文,设置过滤条件,这里把没用的不回复的就直接过滤掉了

  • 过滤条件tcp.port == 50070 and ip.src == 192.168.2.45 and tcp.len != 0 jnNfoV.png

  • 可以看到,hbase的服务器有反应,但是这个反应不是我们想要的,因为这个回复的消息太普通了,太像一个普通的http服务器的回复了,我们不能根据这简短的报文去唯一判断这个端口是一个habase服务器

尝试各种客户端

尝试dataGrip

不用看了,不支持Appache hbase,为了确认这里面支持的一大堆数据库,别被我漏看了,我还专门查了hbasedelogo,用logo去和DataGrip里的图标仔细找一找,还是没找到,甚至于,还没找到hbase的logo。。。。。。

尝试python

  • 重要,需要先安装thrift,不过我没安装,当然,连接也失败了,返回的就是常规的http400
  • thrift的安装网上有方法,但是,极为繁琐,放弃
# coding=utf-8
"""
依赖:thrift,happybase
注意×××:启动hbase thrift start-port:9090
"""
import happybase

# 创建连接 默认端口9090  table_prefix命名空间,不同命名空间互不影响
connection = happybase.Connection("192.168.2.45", 16010)
connection.open()
# 获取存在的表
table_name_list = connection.tables()
print(table_name_list)

尝试java

jnU6fO.png

我不会java,同事给的截图,可以看到,好像做出了什么反应,待我准备抓包一探究竟的时候

[root@192 home]# tcpdump -w s
tcpdump: Couldn't change ownership of savefile
[root@192 home]# 

表情渐渐僵化。。。又引入了新的问题,百度了,没解决,摇人去了,今天先下班,明天再来解决

完结、撒花