Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico fornece um exemplo de uma troca de pacotes do Microsoft SMB Protocol entre um cliente e um servidor. As etapas a seguir são uma visão geral do processo:
- O cliente e o servidor estabelecem uma sessão NetBIOS.
- O cliente e o servidor negociam o dialeto do protocolo SMB da Microsoft.
- O cliente faz logon no servidor.
- O cliente se conecta a um compartilhamento no servidor.
- O cliente abre um arquivo no compartilhamento.
- O cliente lê a partir do arquivo.
Primeiro, uma conexão TCP full-duplex é estabelecida pelo cliente com o servidor. Em seguida, o cliente cria e envia um pacote de solicitação de sessão NetBIOS através da conexão TCP. Se o pacote foi formatado corretamente, o servidor retorna um pacote que contém uma mensagem confirmando que a sessão foi estabelecida. Depois disso, o cliente envia os primeiros pacotes do Microsoft SMB Protocol para o servidor.
|
Pacote 1: SMB_COM_NEGOTIATE Direção: cliente para servidor Descrição: O cliente solicita que o servidor negocie o dialeto do protocolo SMB da Microsoft. Uma lista de cadeias de caracteres que identificam os dialetos com os quais o cliente pode trabalhar está incluída no pacote. |
|
Pacote 2: SMB_COM_NEGOTIATE Direção: servidor para cliente Descrição: O servidor responde à solicitação do cliente para identificar o dialeto do Microsoft SMB Protocol que será usado na sessão. O pacote retornado também inclui uma cadeia de caracteres aleatória de 8 bytes que será usada na próxima etapa para autenticar o cliente durante o processo de logon. |
|
Pacote 3: SMB_COM_SESSION_SETUP_ANDX Direção: cliente para servidor Descrição: Este pacote inclui informações sobre os recursos do cliente, portanto, esse pacote deve ser enviado mesmo que o servidor tenha implementado apenas segurança em nível de compartilhamento. Pacote 3: SMB_COM_SESSION_SETUP_ANDX Direção: servidor para cliente Descrição: Se o desafio/resposta for aceito pelo servidor, um UID válido será incluído no pacote que é retornado ao cliente. Se não for aceite, o servidor irá devolver um código de erro neste pacote e negar o acesso. |
|
Pacote 4: SMB_COM_TREE_CONNECT_ANDX Direção: cliente para servidor Descrição: O cliente solicita acesso ao compartilhamento. O pacote contém o caminho totalmente especificado do compartilhamento no formato UNC. |
|
Pacote 5: SMB_COM_TREE_CONNECT_ANDX Direção: servidor para cliente Descrição: Se o acesso ao compartilhamento for concedido, o servidor retornará o ID de árvore de 16 bits (TID) que corresponde ao compartilhamento neste pacote. Se o compartilhamento não existir ou se o usuário tiver credenciais insuficientes para acessar o compartilhamento, o servidor retornará um código de erro nesse pacote e negará o acesso ao compartilhamento. |
|
Pacote 6: SMB_COM_OPEN_ANDX Direção: cliente para servidor Descrição: O cliente solicita que o servidor abra um arquivo no compartilhamento acessado em nome do cliente. Este pacote contém o nome do arquivo a ser aberto. |
|
Pacote 7: SMB_COM_OPEN_ANDX Direção: servidor para cliente Descrição: Se o acesso ao arquivo for concedido, o servidor retornará a ID do arquivo solicitado. Se o arquivo não existir ou o usuário não tiver credenciais suficientes para acessar o arquivo, o servidor retornará um código de erro neste pacote e negará o acesso ao arquivo. |
|
Pacote 8: SMB_COM_READ_ANDX Direção: cliente para servidor Descrição: O cliente solicita ao servidor para ler dados do arquivo aberto em nome do cliente e retornar esses dados para o cliente. O ID do arquivo que é obtido pelo cliente quando o arquivo foi aberto é incluído neste pacote, a fim de identificar qual arquivo aberto o servidor deve ler dados. |
|
Pacote 9: SMB_COM_READ_ANDX Direção: servidor para cliente Descrição: O servidor retorna os dados de arquivo solicitados neste pacote. Um erro aqui é improvável, dado que o acesso ao servidor, compartilhamento e arquivo foi concedido. No entanto, isso pode acontecer em algumas situações: por exemplo, se o acesso a um compartilhamento for alterado entre o momento em que o arquivo é aberto e o momento em que é lido. |
Observação
Se implementar um CIFS que não suporte notificações de alteração, o Windows não pode manter um identificador pendente para o sistema de ficheiros e a ligação SMB pode desaparecer sem aviso prévio.