Sha256: b508805297f4d2ab263fb22c034e2a12a7fe610ad59aefa23a5f734ae87a3664

Contents?: true

Size: 1.36 KB

Versions: 48

Compression:

Stored size: 1.36 KB

Contents

#!/usr/bin/ruby

# This example script is used for testing the appending to a file.
# It will attempt to connect to a specific share and then append to a specified file.
# Example usage: ruby append_file.rb 192.168.172.138 msfadmin msfadmin TEST_SHARE test.txt "data to write"
# This will try to connect to \\192.168.172.138\TEST_SHARE with the msfadmin:msfadmin credentials
# and write "data to write" the end of the file test.txt

require 'bundler/setup'
require 'ruby_smb'

address      = ARGV[0]
username     = ARGV[1]
password     = ARGV[2]
share        = ARGV[3]
file         = ARGV[4]
data         = ARGV[5]
smb_versions = ARGV[6]&.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!"
rescue StandardError => e
  puts "Failed to connect to #{path}: #{e.message}"
end

file = tree.open_file(filename: file, write: true, disposition: RubySMB::Dispositions::FILE_OPEN_IF)

result = file.append(data: data)
puts result.to_s
file.close

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
ruby_smb-3.3.13 examples/append_file.rb
ruby_smb-3.3.12 examples/append_file.rb
ruby_smb-3.3.11 examples/append_file.rb
ruby_smb-3.3.10 examples/append_file.rb
ruby_smb-3.3.9 examples/append_file.rb
ruby_smb-3.3.7 examples/append_file.rb
ruby_smb-3.3.6 examples/append_file.rb
ruby_smb-3.3.5 examples/append_file.rb
ruby_smb-3.3.4 examples/append_file.rb
ruby_smb-3.3.3 examples/append_file.rb
ruby_smb-3.3.2 examples/append_file.rb
ruby_smb-3.3.1 examples/append_file.rb
ruby_smb-3.3.0 examples/append_file.rb
ruby_smb-3.2.8 examples/append_file.rb
ruby_smb-3.2.7 examples/append_file.rb
ruby_smb-3.2.6 examples/append_file.rb
ruby_smb-3.2.5 examples/append_file.rb
ruby_smb-3.2.4 examples/append_file.rb
ruby_smb-3.2.3 examples/append_file.rb
ruby_smb-3.2.2 examples/append_file.rb