内容简介:JMX监听端口的继续探索和分析
接上篇 zabbix监控tomcat出现"Connection refused to host: 127.0.0.1"的故障解决 继续了解相关的jmx的知识,上次故障解决后,又发现了新的情况。
新的现象
tomcat监听了5个端口
其中 51024 是http访问端口 52024 是jmx监听端口 53024 是shutdown端口 剩余两个端口不知用处,和开发沟通,开发也未在程序内监听,又观察其他主机上部署的该应用, 发现也有两个不知用途的端口在监听。
如下所示
..... ps -ef | grep tripWeb tomcat 20994 1 4 Jun05 ? 01:08:31 /usr/java/default/bin/java -Xms1024M -Xmx2048M -server -XX:PermSize=256M -XX:MaxPermSize=512M -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager ...... lsof -p 20994 |grep LISTEN java 20994 tomcat 16u IPv4 247485728 0t0 TCP *:52373 (LISTEN) java 20994 tomcat 17u IPv4 247485729 0t0 TCP *:52024 (LISTEN) java 20994 tomcat 18u IPv4 247485730 0t0 TCP *:57373 (LISTEN) java 20994 tomcat 37u IPv4 247478500 0t0 TCP *:51024 (LISTEN) java 20994 tomcat 68u IPv4 247485737 0t0 TCP localhost:53024 (LISTEN)
尝试分析
抓包看看两个端口通讯内容
发现52373端口通讯内容是jmx相关的数据,具体本例是zabbix的java-gateway和tomcat之间监控数据通讯。
- 如下示例
tcpdump -X -nnn port 52373 ...... 17:11:23.903009 IP 10.0.1.2.43200 > 10.0.1.22.52373: Flags [P.], seq 4074:4215, ack 10549, win 376, options [nop,nop,TS val 3942015991 ecr 4132106950], length 141 0x0000: 4500 00c1 04bb 4000 4006 1f65 0a00 0102 E.....@.@..e.... 0x0010: 0a00 0116 a8c0 cc95 0c50 7768 9869 36e9 .........Pwh.i6. 0x0020: 8018 0178 b3f4 0000 0101 080a eaf6 63f7 ...x..........c. 0x0030: f64a f2c6 50ac ed00 0577 2200 3f44 6763 .J..P....w".?Dgc 0x0040: 3853 7066 4c16 4400 0001 5c77 0823 cd57 8SpfL.D...\w.#.W 0x0050: 66ff ffff fff0 e050 0a39 4d72 1573 7200 f......P.9Mr.sr. 0x0060: 1b6a 6176 6178 2e6d 616e 6167 656d 656e .javax.managemen 0x0070: 742e 4f62 6a65 6374 4e61 6d65 0f03 a71b t.ObjectName.... 0x0080: eb6d 15cf 0300 0070 7870 7400 2a6a 6176 .m.....pxpt.*jav 0x0090: 612e 6c61 6e67 3a74 7970 653d 4d65 6d6f a.lang:type=Memo 0x00a0: 7279 506f 6f6c 2c6e 616d 653d 5053 2050 ryPool,name=PS.P 0x00b0: 6572 6d20 4765 6e78 7400 0555 7361 6765 erm.Genxt..Usage 0x00c0: 70 p ......
57373的抓包数据,持续抓包半小时一直无数据
tcpdump -X -nn dst host 10.0.1.22 and dst port 57373
既然发现和jmx的联系后,求助于google后总结如下
-
-Dcom.sun.management.jmxremote.port
该参数指定端口后 java 会开两个随机端口,一个作为jmx的数据通讯端口,另外一个作为jconsole的本地连接端口,如上面 52373为jmx通讯端口,57373为jconsole通讯端口
-
jmx的监听和数据通讯端口合并方法,下面两个参数设置相同端口即可(java7 update25起有效)
com.sun.management.jmxremote.port com.sun.management.jmxremote.rmi.port
-
jconsole 端口禁止监听方法
启动参数加上 -XX:+DisableAttachMechanism
致谢与参考
Why Java opens 3 ports when JMX is configured?
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 初始化监听端口
- Laravel 给生产环境添加监听事件 - SQL日志监听
- Nginx+Tomcat实现80端口转发8080端口
- 猎鹰网络安全工具新功能:主机端口扫描可以自定义端口范围
- nginx代理其他端口到80端口-低调小熊猫的技术小黑屋
- Flutter事件监听
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Everything Store
Brad Stone / Little, Brown and Company / 2013-10-22 / USD 28.00
The definitive story of Amazon.com, one of the most successful companies in the world, and of its driven, brilliant founder, Jeff Bezos. Amazon.com started off delivering books through the mail. Bu......一起来看看 《The Everything Store》 这本书的介绍吧!
随机密码生成器
多种字符组合密码
Base64 编码/解码
Base64 编码/解码