Smbclient

É um cliente do tipo ftp que permite acessar recursos de arquivos e impressão em servidores. Digitando smbclient diretamente você obtém na tela as opções do comando:

$ smbclient
Added interface ip=143.54.2.83 bcast=143.54.2.255 nmask=255.255.255.0
Usage: smbclient service <password> [options]
Version 2.0.3
  -s smb.conf           pathname to smb.conf file
  -B IP addr            broadcast IP address to use
  -O socket_options     socket options to use
  -R name resolve order use these name resolution services only
  -M host               send a winpopup message to the host
  -i scope              use this NetBIOS scope
  -N                    don't ask for a password
  -n netbios name.      Use this name as my netbios name
  -d debuglevel         set the debuglevel
  -P                    connect to service as a printer
  -p port               connect to the specified port
  -l log basename.      Basename for log/debug files
  -h                    Print this help message.
  -I dest IP            use this IP to connect to
  -E                    write messages to stderr instead of stdout
  -U username           set the network username
  -L host               get a list of shares available on a host
  -t terminal code      terminal i/o code {sjis|euc|jis7|jis8|junet|hex}
  -m max protocol       set the max protocol level
  -W workgroup          set the workgroup name
  -T<c|x>IXFqgbNan      command line tar
  -D directory          start from directory
  -c command string     execute semicolon separated commands

Se você quer saber que tipo de serviços o PC pcdpfis01 pode fornecer digite:

$ smbclient -L pcdpfis01
Added interface ip=143.54.2.83 bcast=143.54.2.255 nmask=255.255.255.0
Got a positive name query response from 143.54.2.68 ( 143.54.2.68 )
Password:

 Sharename      Type      Comment
 ---------      ----      -------
 ADMIN$         Disk
 WIN98          Disk
 PUB            Disk
 WWW            Disk
 PRINTER$       Disk
 HP5L           Printer
 WPS            Disk      HP LaserJet 5L (PCL)
 IPC$           IPC       Remote Inter Process Communication

A saída informa o nome de compartilhamento e o que está compartilhado na rede. Isto não significa que você tem acesso direto pois sempre há solicitação de senha. Tentemos o diretório WWW como usuário (-U) anônimo, aqui você deve incluir a opção do IP (-I).

$ smbclient //PCDPFIS01/WWW -U  -I 143.54.2.68 
Added interface ip=143.54.2.83 bcast=143.54.2.255 nmask=255.255.255.0
Got a positive name query response from 143.54.2.68 ( 143.54.2.68 )
Password:

Caso não existam restrições digite diretamente enter e veja os arquivos à disposição com ls ou dir:

smb: \> ls
  .             D       0  Wed Dec  9 13:22:54 1998
  ..            D       0  Wed Dec  9 13:22:54 1998
  Prof.html     A    3506  Wed Sep 23 07:11:14 1998
  Disc98_1.html A    2586  Wed Mar  4 12:57:50 1998

Para trazer ou levar arquivos use os mesmos comandos do ftp, por exemplo busquemos Prof.html e aproveitemos para aprender os comandos disponíveis:

smb: \> get Prof.html
getting file Prof.html of size 3506 as Prof.html (37.2155 kb/s) 
(average 37.2155 kb/s)
smb: \>help
ls             dir            du             lcd            cd
pwd            get            mget           put            mput
rename         more           mask           del            open
rm             mkdir          md             rmdir          rd
prompt         recurse        translate      lowercase      print
printmode      queue          cancel         quit           q
exit           newer          archive        tar            blocksize
tarmode        setmode        help           ?              !
smb: \> help ?
HELP ?:
        [command] give help on a command

smb: \> help !
          ![command] executes linux shell command
smb: \> !lpq
no entries
smb: \> quit



leon 2008-08-19