Run a series of tests against a smb server
smbtorture {//server/share} [-d debuglevel] [-U user%pass] [-k] [-N numprocs] [-n netbios_name] [-W workgroup] [-o num_operations] [-e num files(entries)] [-O socket_options] [-m maximum_protocol] [-L] [-c CLIENT.TXT] [-t timelimit] [-C filename] [-A] [-p port] [-s seed] [-f max_failures] [-X] {BINDING-STRING|UNC} {TEST1} [TEST2] [...]
smbtorture is a testsuite that runs several tests against a SMB server. All tests are known to succeed against a Windows 2003 server (?). Smbtorture's primary goal is finding differences in implementations of the SMB protocol and testing SMB servers.
Any number of tests can be specified on the command-line. If no tests are specified, all tests are run.
If no arguments are specified at all, all available options and tests are listed.
The binding string format is:
TRANSPORT:host[flags]
Where TRANSPORT is either ncacn_np for SMB, ncacn_ip_tcp for RPC/TCP or ncalrpc for local connections.
'host' is an IP or hostname or netbios name. If the binding string identifies the server side of an endpoint, 'host' may be an empty string.
'flags' can include a SMB pipe name if using the ncacn_np transport or a TCP port number if using the ncacn_ip_tcp transport, otherwise they will be auto-determined.
other recognised flags are:
sign
enable ntlmssp signing
seal
enable ntlmssp sealing
connect
enable rpc connect level auth (auth, but no sign or seal)
validate
enable the NDR validator
enable debugging of the packets
bigendian
use bigendian RPC
padcheck
check reply data for non-zero pad bytes
For example, these all connect to the samr pipe:
ncacn_np:myserver
ncacn_np:myserver[samr]
ncacn_np:myserver[\\pipe\\samr]
ncacn_np:myserver[/pipe/samr]
ncacn_np:myserver[samr,sign,print]
ncacn_np:myserver[\\pipe\\samr,sign,seal,bigendian]
ncacn_np:myserver[/pipe/samr,seal,validate]
ncacn_np:
ncacn_np:[/pipe/samr]
ncacn_ip_tcp:myserver
ncacn_ip_tcp:myserver[1024]
ncacn_ip_tcp:myserver[1024,sign,seal]
ncalrpc:
The UNC format is:
//server/share
-d debuglevel
Use the specified Samba debug level. A higher debug level means more output.
-U user%pass
Use the specified username/password combination when logging in to a remote server.
-k
Use kerberos when authenticating.
-W workgroup
Use specified name as our workgroup name.
-n netbios_name
Use specified name as our NetBIOS name.
-O socket_options
Use specified socket options, equivalent of the smb.conf option “socket options”. See the smb.conf(5) manpage for details.
-m max_protocol
Specify the maximum SMB dialect that should be used. Possible values are: CORE, COREPLUS, LANMAN1, LANMAN2, NT1
-s seed
Initialize the randomizer using seed as seed.
-L
Use oplocks.
-X
Enable dangerous tests. Use with care! This might crash your server...
-t timelimit
Specify the NBENCH time limit in seconds. Defaults to 600.
-p ports
Specify ports to connect to.
-c file
Read NBENCH commands from file instead of from CLIENT.TXT.
-A
Show not just OK or FAILED but more detailed output. Used only by DENY test at the moment.
-C filename
Load a list of UNC names from the specified filename. Smbtorture instances will connect to a random host from this list.
-N numprocs
Specify number of smbtorture processes to launch.
-o num_operations
Number of times some operations should be tried before assuming they're output is consistent (default:100).
-e num_files
Number of entries to use in certain tests (such as creating X files) (default: 1000).
-f max_failures
Number of failures before aborting a test (default: 1).
This man page is correct for version 4.0 of the Samba suite.
Samba
This utility is part of the \m[blue]Samba\m[]\s-2\u[1]\d\s+2 suite, which is developed by the global \m[blue]Samba Team\m[]\s-2\u[2]\d\s+2.
smbtorture was written by Andrew Tridgell.
This manpage was written by Jelmer Vernooij.
Samba
http://www.samba.org/
Samba Team
http://www.samba.org/samba/team/