class SSHScan::KeyExchangeInit
SSHv2 KexInit
Public Class Methods
from_hash(opts)
click to toggle source
Generate a {SSHScan::KeyExchangeInit} object from given Ruby hash. @param opts [Hash] options @return [SSHScan::KeyExchangeInit] {SSHScan::KeyExchangeInit}
instance initialized using passed opts
# File lib/ssh_scan/protocol.rb, line 228 def self.from_hash(opts) kex_init = SSHScan::KeyExchangeInit.new() kex_init.cookie = opts[:cookie] kex_init.padding = opts[:padding] kex_init.key_algorithms = opts[:key_algorithms] kex_init.server_host_key_algorithms = opts[:server_host_key_algorithms] kex_init.encryption_algorithms_client_to_server = opts[:encryption_algorithms_client_to_server] kex_init.encryption_algorithms_server_to_client = opts[:encryption_algorithms_server_to_client] kex_init.mac_algorithms_client_to_server = opts[:mac_algorithms_client_to_server] kex_init.mac_algorithms_server_to_client = opts[:mac_algorithms_server_to_client] kex_init.compression_algorithms_client_to_server = opts[:compression_algorithms_client_to_server] kex_init.compression_algorithms_server_to_client = opts[:compression_algorithms_server_to_client] kex_init.languages_client_to_server = opts[:languages_client_to_server] kex_init.languages_server_to_client = opts[:languages_server_to_client] return kex_init end
Public Instance Methods
compression_algorithms_client_to_server()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 154 def compression_algorithms_client_to_server self.compression_algorithms_client_to_server_string.split(",") end
compression_algorithms_client_to_server=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 158 def compression_algorithms_client_to_server=(data) string = parse_string_or_array(data) self.compression_algorithms_client_to_server_string = string self.compression_algorithms_client_to_server_length = string.size recalc_packet_length end
compression_algorithms_server_to_client()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 165 def compression_algorithms_server_to_client self.compression_algorithms_server_to_client_string.split(",") end
compression_algorithms_server_to_client=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 169 def compression_algorithms_server_to_client=(data) string = parse_string_or_array(data) self.compression_algorithms_server_to_client_string = string self.compression_algorithms_server_to_client_length = string.size recalc_packet_length end
encryption_algorithms_client_to_server()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 110 def encryption_algorithms_client_to_server self.encryption_algorithms_client_to_server_string.split(",") end
encryption_algorithms_client_to_server=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 114 def encryption_algorithms_client_to_server=(data) string = parse_string_or_array(data) self.encryption_algorithms_client_to_server_string = string self.encryption_algorithms_client_to_server_length = string.size recalc_packet_length end
encryption_algorithms_server_to_client()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 121 def encryption_algorithms_server_to_client self.encryption_algorithms_server_to_client_string.split(",") end
encryption_algorithms_server_to_client=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 125 def encryption_algorithms_server_to_client=(data) string = parse_string_or_array(data) self.encryption_algorithms_server_to_client_string = string self.encryption_algorithms_server_to_client_length = string.size recalc_packet_length end
key_algorithms()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 75 def key_algorithms self.key_algorithms_string.split(",") end
key_algorithms=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 92 def key_algorithms=(data) string = parse_string_or_array(data) self.key_algorithms_string = string self.kex_algorithms_length = string.size recalc_packet_length end
languages_client_to_server()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 176 def languages_client_to_server self.languages_client_to_server_string.split(",") end
languages_client_to_server=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 180 def languages_client_to_server=(data) string = parse_string_or_array(data) self.languages_client_to_server_string = string self.languages_client_to_server_length = string.size recalc_packet_length end
languages_server_to_client()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 187 def languages_server_to_client self.languages_server_to_client_string.split(",") end
languages_server_to_client=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 191 def languages_server_to_client=(data) string = parse_string_or_array(data) self.languages_server_to_client_string = string self.languages_server_to_client_length = string.size recalc_packet_length end
mac_algorithms_client_to_server()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 132 def mac_algorithms_client_to_server self.mac_algorithms_client_to_server_string.split(",") end
mac_algorithms_client_to_server=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 136 def mac_algorithms_client_to_server=(data) string = parse_string_or_array(data) self.mac_algorithms_client_to_server_string = string self.mac_algorithms_client_to_server_length = string.size recalc_packet_length end
mac_algorithms_server_to_client()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 143 def mac_algorithms_server_to_client self.mac_algorithms_server_to_client_string.split(",") end
mac_algorithms_server_to_client=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 147 def mac_algorithms_server_to_client=(data) string = parse_string_or_array(data) self.mac_algorithms_server_to_client_string = string self.mac_algorithms_server_to_client_length = string.size recalc_packet_length end
padding()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 67 def padding self.padding_string end
padding=(string)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 71 def padding=(string) self.padding_string = string end
parse_string_or_array(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 79 def parse_string_or_array(data) case data when String string = data when Array string = data.join(",") else raise ArgumentError end return string end
recalc_packet_length()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 198 def recalc_packet_length self.packet_length = self.to_binary_s.size - self.padding_length end
server_host_key_algorithms()
click to toggle source
# File lib/ssh_scan/protocol.rb, line 99 def server_host_key_algorithms self.server_host_key_algorithms_string.split(",") end
server_host_key_algorithms=(data)
click to toggle source
# File lib/ssh_scan/protocol.rb, line 103 def server_host_key_algorithms=(data) string = parse_string_or_array(data) self.server_host_key_algorithms_string = string self.server_host_key_algorithms_length = string.size recalc_packet_length end
to_hash()
click to toggle source
Summarize as Hash @return [Hash] summary
# File lib/ssh_scan/protocol.rb, line 204 def to_hash { :cookie => self.cookie.hexify, :key_algorithms => key_algorithms, :server_host_key_algorithms => server_host_key_algorithms, :encryption_algorithms_client_to_server => encryption_algorithms_client_to_server, :encryption_algorithms_server_to_client => encryption_algorithms_server_to_client, :mac_algorithms_client_to_server => mac_algorithms_client_to_server, :mac_algorithms_server_to_client => mac_algorithms_server_to_client, :compression_algorithms_client_to_server => compression_algorithms_client_to_server, :compression_algorithms_server_to_client => compression_algorithms_server_to_client, :languages_client_to_server => languages_client_to_server, :languages_server_to_client => languages_server_to_client, } end
to_json()
click to toggle source
Summarize as JSON @return [String] JSON representation for summary hash
# File lib/ssh_scan/protocol.rb, line 253 def to_json self.to_hash.to_json end