JMX监听端口的继续探索和分析

栏目: 服务器 · 发布时间: 6年前

内容简介: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?

tomcat 7 jmx配置访问


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java常用算法手册

Java常用算法手册

2012-5 / 59.00元

《Java常用算法手册》分三篇,共13章,分别介绍了算法基础、算法应用和算法面试题。首先介绍了算法概述,然后重点分析了数据结构和基本算法思想;接着,详细讲解了算法在排序、查找、数学计算、数论、历史趣题、游戏、密码学等领域中的应用;最后,列举了算法的一些常见面试题。书中知识点覆盖全面,结构安排紧凑,讲解详细,实例丰富。全书对每一个知识点都给出了相应的算法及应用实例,虽然这些例子都是以Java语言来编......一起来看看 《Java常用算法手册》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具