Como o FID é gerado para um SMB “Create AndX Request?”

0

Eu vejo nos rastreamentos enquanto acesso um compartilhamento de rede, existem várias solicitações CreateAndX (que abre as pastas) com um FID associado a elas. No entanto, alguns deles não recebem uma resposta diferente.

292 7.561217000 client_Ip cifs_Server_ip SMB 184 NT Create AndX Request, FID: 0x1781, Path: \share_folder\subfolder

293 7.565304000 cifs_Server_ip client_Ip SMB 193 NT Create AndX Response, FID: 0x1781

320 7.761995000 clientIp cifs_Server_ip SMB 184 NT Create AndX Request, Path: \share_folder\subfolder

323 7.764860000 cifs_Server_ip client_ip SMB 93 NT Create AndX Response, FID: 0x0000, Error: STATUS_FILE_IS_A_DIRECTORY

A única diferença entre as duas solicitações é que a primeira não possui um FID e o campo CreateOptions está definido como 0x00000040 (o campo Non-directory está definido). A segunda solicitação tem esse campo definido como 0 . Ambos têm máscara de acesso como 0x00120080 .

O cliente é o Windows 7. Por que existem duas solicitações CreateAndX consecutivas diferentes e por que a resposta é diferente?

    
por xerocool 26.03.2015 / 05:54

1 resposta

0

obtivemos a resposta do fórum wireshark:  Em SMB, o FID é enviado de volta ao cliente na resposta. O Wireshark mostrará o FID também sobre o pedido, uma vez que aprendeu o FID na resposta. Você pode ver que o FID não está no pacote, mas fornecido pelo wireshark pelos colchetes ao redor do FID.

Portanto, no quadro 292, o FID é conhecido, pois é fornecido pelo servidor no quadro 293. Mas para o pedido no quadro 320, não há um FID válido, pois há um erro e a resposta não tem um válido FID (FID = 0x0000).

Em suma, nenhum pedido tem um FID, o wireshark pode adicionar um FID ao pedido quando a resposta tiver (um válido).

    
por 08.05.2015 / 07:42