Skip to content

Instantly share code, notes, and snippets.

@n40lab
Created December 22, 2016 18:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save n40lab/7e767fbc9c14ab419840ac6a384ee61a to your computer and use it in GitHub Desktop.
Save n40lab/7e767fbc9c14ab419840ac6a384ee61a to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
#
## -------------------------------------------------------------------------- #
## Copyright 2002-2016, OpenNebula Project, OpenNebula Systems #
## #
## Licensed under the Apache License, Version 2.0 (the "License"); you may #
## not use this file except in compliance with the License. You may obtain #
## a copy of the License at #
## #
## http://www.apache.org/licenses/LICENSE-2.0 #
## #
## Unless required by applicable law or agreed to in writing, software #
## distributed under the License is distributed on an "AS IS" BASIS, #
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
## See the License for the specific language governing permissions and #
## limitations under the License. #
##--------------------------------------------------------------------------- #
require 'bitset'
require 'base64'
require 'zlib'
txt = 'eJztziEBAAAIA8FK0L8cC4AGcydeTK0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6HWM5PoLAAAAAAB8GbhQAtg='
#Decode base64
decoded = Base64.strict_decode64(txt)
#Inflate string
zstream = Zlib::Inflate.new
buf = zstream.inflate(decoded)
zstream.finish
zstream.close
#Create bitset
bs = Bitset.from_s(buf)
(0..65534).each{ |index|
puts "VNC port set in bitmap: #{65535-index}" if bs[index]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment