阿里巴巴 Arthas 3.5.0 版本发布,支持反编译打印行号和统一鉴权

来源: 投稿
作者: 横云断岭
2021-03-17

Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。

•Github:https://github.com/alibaba/arthas

•文档:https://arthas.aliyun.com/doc/

Arthas 最新发布了 3.5.0 版本,最近几个release 版本带来下面两个主要特性:

•反编译支持行号

•Telnet/Websocket/HTTP API统一支持全面的鉴权

反编译支持行号

Arthas开源之后的第一个 issue 就是jad命令能否支持显示行号:

jad命令多年以后终于支持行号了,“不忘初心”😂,效果如下:

如果想不显示行号,使用--lineNumber false参数即可。

鉴权支持

鉴权主要通过两方面来支持:

as.sh/arthas-boot命令行参数支持配置用户名和密码•增加auth命令

配置用户名和密码

在Arthas attach时,可以在命令行指定密码。比如:

java -jar arthas-boot.jar --password ppp

     •可以通过 --username 选项来指定用户,默认值是arthas

    •也可以在 arthas.properties 里中配置 username/password。命令行的优先级大于配置文件。

    •如果只配置username,没有配置password,则会生成随机密码,打印在~/logs/arthas/arthas.log

Using generated security password: 0vUBJpRIppkKuZ7dYzYqOKtranj4unGh

在telnet console里鉴权

连接到arthas后,直接执行命令会提示需要鉴权:

[arthas@37430]$ help
Error! command not permitted, try to use 'auth' command to authenticates.

使用auth命令来鉴权,成功之后可以执行其它命令。

[arthas@37430]$ auth ppp
Authentication result: true

•可以通过 --username 选项来指定用户,默认值是arthas

Web console密码验证

打开浏览器,会有弹窗提示需要输入 用户名 和 密码。

成功之后,则可以直接连接上 web console。

HTTP API 验证

Arthas 采用的是 HTTP 标准的 Basic Authorization,客户端请求时增加对应的 Authorization header即可。

•参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication

例如,用户名是:admin,密码是 admin

则组合为字符串: admin:admin

base64结果是: YWRtaW46YWRtaW4=

则HTTP 请求增加Authorization header:

curl 'http://localhost:8563/api' \
  -H 'Authorization: Basic YWRtaW46YWRtaW4=' \
  --data-raw '{"action":"exec","command":"version"}' 

总结

•Jad wiki: https://arthas.aliyun.com/doc/jad.html

•Auth wiki: https://arthas.aliyun.com/doc/auth.html

•Release 日志: https://github.com/alibaba/arthas/releases/tag/arthas-all-3.5.0

展开阅读全文
24 收藏
分享
加载中
精彩评论
因为大家也都是明眼人,不是乱说的,从侧面也反映了被喷的那些项目是真的该。
2021-03-17 12:04
3
举报
这个下面怎么没人喷KPI,哈哈哈。
2021-03-17 10:53
1
举报
最新评论 (4)
这个下面怎么没人喷KPI,哈哈哈。
2021-03-17 10:53
1
回复
举报
一直更新的东西那目前还不用喷
2021-03-17 11:37
0
回复
举报
因为真的好用
2021-03-17 11:44
0
回复
举报
因为大家也都是明眼人,不是乱说的,从侧面也反映了被喷的那些项目是真的该。
2021-03-17 12:04
3
回复
举报
更多评论
4 评论
24 收藏
分享
返回顶部
顶部