1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-09 20:23:51 +03:00
Files
samba-mirror/source/scripting/swig/torture/samr.py
Andrew Tridgell e94bec1079 r2339: my first python commit!
added command line options for binding string, domain, username and password
2007-10-10 12:58:44 -05:00

90 lines
2.1 KiB
Python
Executable File

#!/usr/bin/python
import dcerpc
from optparse import OptionParser
def test_Connect(handle):
print 'testing samr_Connect'
r = {}
r['system_name'] = '\0\0'
r['access_mask'] = 0x02000000
result = dcerpc.samr_Connect(pipe, r)
dcerpc.samr_Close(pipe, result)
print 'testing samr_Connect2'
r = {}
r['system_name'] = None
r['access_mask'] = 0x02000000
result = dcerpc.samr_Connect2(pipe, r)
dcerpc.samr_Close(pipe, result)
print 'testing samr_Connect3'
r = {}
r['system_name'] = None
r['unknown'] = 0
r['access_mask'] = 0x02000000
result = dcerpc.samr_Connect3(pipe, r)
dcerpc.samr_Close(pipe, result)
print 'testing samr_Connect4'
r = {}
r['system_name'] = None
r['unknown'] = 0
r['access_mask'] = 0x02000000
result = dcerpc.samr_Connect4(pipe, r)
dcerpc.samr_Close(pipe, result)
print 'testing samr_Connect5'
r = {}
r['system_name'] = None
r['access_mask'] = 0x02000000
r['level'] = 1
r['info'] = {}
r['info']['info1'] = {}
r['info']['info1']['unknown1'] = 0
r['info']['info1']['unknown2'] = 0
result = dcerpc.samr_Connect5(pipe, r)
print result
# parse command line
parser = OptionParser()
parser.add_option("-b", "--binding", action="store", type="string", dest="binding")
parser.add_option("-d", "--domain", action="store", type="string", dest="domain")
parser.add_option("-u", "--username", action="store", type="string", dest="username")
parser.add_option("-p", "--password", action="store", type="string", dest="password")
(options, args) = parser.parse_args()
if not options.binding:
parser.error('You must supply a binding string')
if not options.username or not options.password or not options.domain:
parser.error('You must supply a domain, username and password')
binding=options.binding
domain=options.domain
username=options.username
password=options.password
# Connect to server
pipe = dcerpc.pipe_connect(binding,
dcerpc.DCERPC_SAMR_UUID, dcerpc.DCERPC_SAMR_VERSION,
domain, username, password)
test_Connect(pipe)