pangxia75 发表于 2019-1-16 13:18:00

nagios UDP监控

  呵呵,为了能把Nagios的check_udp搞清楚,刚刚又google并测试了一下,得到一下的结果:
  还是以DNS为例,这个大家都相对熟悉一点:
  1)检测www.nagios.com的A记录地址,得到其IP为 66.118.156.50。
  # host -t a www.nagios.com
  www.nagios.com has address 66.118.156.50
  2)我们假想我们send ‘www.nagios.com’,server会response ‘66.118.156.50’。结果如下:
  Unexpected response from host/socket。就是说,response并不符合我们期望值‘66.118.156.50’.
  # ./check_udp 211.94.69.34 -p 53 -s www.nagios.com -e66.118.156.50
  UDP WARNING - Unexpected response from host/socket: ww駖time=0.000656s;0.000000;0.000000;0.000000;10.000000
  3)我们用 -v参数,看看详细的输出。
  我们发现,其输出中有'ww'这两个字符。(在两个raw recv之间)。
  # ./check_udp 211.94.69.34 -p 53 -s www.nagios.com -e66.118.156.50 -v
  Using service UDP
  Port: 53
  flags: 0x2
  Send string: www.nagios.com
  server_expect_count: 1
  0: 66.118.156.50
  received 12 bytes from host
  #-raw-recv-------#
  ww?
  #-raw-recv-------#
  looking for anywhere in [ww馷
  UDP WARNING - Unexpected response from host/socket: ww駖time=0.000641s;0.000000;0.000000;0.000000;10.000000
  4)于是我们得知,我们发送'www.nagios.com‘,server一定会返回’ww‘这两个字符。如果我们把expect修改为'ww',则check_udp一定会返回OK。
  # ./check_udp 211.94.69.34 -p 53 -s www.nagios.com -eww
  UDP OK - 0.001 second response time on port 53 [ww馷|time=0.001009s;0.000000;0.000000;0.000000;10.000000
  #
  5)问题是,我们不知道这样的情况下,dns是否正确解析改域名的IP了。
  只能知道,DNS Server可以连接,并给我们回应了,如下:
  我们check不存在的wwwwwww.nagios.com ,系统也会返回OK。
  因此,系统最开始的ww,应该是我们发送请求的最前两个字符。
  # ./check_udp 211.94.69.34 -p 53 -s wwwwwww.nagios.com -eww
  UDP OK - 0.001 second response time on port 53 [ww馷|time=0.000664s;0.000000;0.000000;0.000000;10.000000
  6)结论:
  如果我们只是测试DNS是否可以正常连接并可以给请求回应。那么我们以上的参数就可以达到目的;
  如果我们要判断改域名是否可以正常解析,那就要进一步解析server response回来的内容。这一点通过tcpdump这类的抓包工具,应该可以做更进一步的研究。
  因此楼主所有的监控***的端口,可以从以下方面入手:
  1)用tcpdump抓一下open***客户端与server连接的session;
  2)分析一下,搞清楚client send和server response内容;
  3)并根据这些做进一步的监控。
  原文出自:http://www.itnms.net/discuz/viewthread.php?tid=369&extra=page%3D2&page=2

页: [1]
查看完整版本: nagios UDP监控