SMBTORTURE(1) Test Suite SMBTORTURE(1)

smbtorture - 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] [-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

print

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.

-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 Samba[1] suite, which is developed by the global Samba Team[2].

smbtorture was written by Andrew Tridgell.

This manpage was written by Jelmer Vernooij.

1.
Samba
2.
Samba Team
04/01/2024 Samba 4.0