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

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

内容简介: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配置访问


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

查看所有标签

猜你喜欢:

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

The Everything Store

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 编码/解码

Base64 编码/解码