持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第33天,点击查看活动详情
[toc]
简介
想要扫描一下一个端口里面是什么服务,当遇到hbase的时候,就比较麻烦了,这个东东,,,它也没有什么像样的好安装的图形化客户端可以连接上,自己的客户端,安装时候还要配置java环境,这可以说是相当麻烦了
这篇文章是第一天的尝试,but、、、尝试到了最后,也没有个所以然,就当是一种思路分享把,用于分析端口协议的时候可以尝试
先随便丢上去一些常用报文
-
先拿一些常用协议的一些报文丢上去,看看有什么反应没有
-
准备好陈年的用来测试的包
-
创建sock,连接,发送
-
wireshark分析报文,设置过滤条件,这里把没用的不回复的就直接过滤掉了
-
过滤条件
tcp.port == 50070 and ip.src == 192.168.2.45 and tcp.len != 0 -
可以看到,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
我不会java,同事给的截图,可以看到,好像做出了什么反应,待我准备抓包一探究竟的时候
[root@192 home]# tcpdump -w s
tcpdump: Couldn't change ownership of savefile
[root@192 home]#
表情渐渐僵化。。。又引入了新的问题,百度了,没解决,摇人去了,今天先下班,明天再来解决