Sha256: a641856b9e0804133de9333b61ceae39048f9fd45ffeb354eb4713810368eea6

Contents?: true

Size: 1.08 KB

Versions: 14

Compression:

Stored size: 1.08 KB

Contents

#!/usr/bin/ruby

# This example script is used for testing TreeConnect functionality
# It will attempt to connect to a specific share and then disconnect.
# Example usage: ruby tree_connect.rb 192.168.172.138 msfadmin msfadmin TEST_SHARE
# This will try to connect to \\192.168.172.138\TEST_SHARE with the msfadmin:msfadmin credentials

require 'bundler/setup'
require 'ruby_smb'

address      = ARGV[0]
username     = ARGV[1]
password     = ARGV[2]
share        = ARGV[3]
smb_versions = ARGV[4]&.split(',') || ['1','2','3']

path     = "\\\\#{address}\\#{share}"

sock = TCPSocket.new address, 445
dispatcher = RubySMB::Dispatcher::Socket.new(sock)

client = RubySMB::Client.new(dispatcher, smb1: smb_versions.include?('1'), smb2: smb_versions.include?('2'), smb3: smb_versions.include?('3'), username: username, password: password)
protocol = client.negotiate
status = client.authenticate

puts "#{protocol} : #{status}"

begin
  tree = client.tree_connect(path)
  puts "Connected to #{path} successfully!"
  tree.disconnect!
rescue StandardError => e
  puts "Failed to connect to #{path}: #{e.message}"
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ruby_smb-3.0.2 examples/tree_connect.rb
ruby_smb-3.0.1 examples/tree_connect.rb
ruby_smb-3.0.0 examples/tree_connect.rb
ruby_smb-2.0.13 examples/tree_connect.rb
ruby_smb-2.0.12 examples/tree_connect.rb
ruby_smb-2.0.11 examples/tree_connect.rb
ruby_smb-2.0.10 examples/tree_connect.rb
ruby_smb-2.0.9 examples/tree_connect.rb
ruby_smb-2.0.8 examples/tree_connect.rb
ruby_smb-2.0.7 examples/tree_connect.rb
ruby_smb-2.0.6 examples/tree_connect.rb
ruby_smb-2.0.5 examples/tree_connect.rb
ruby_smb-2.0.4 examples/tree_connect.rb
ruby_smb-2.0.3 examples/tree_connect.rb