Como o FID é gerado para uma SMB "Create AndX Request?"

0

Vejo nos rastreamentos ao acessar um compartilhamento de rede, há várias CreateAndXsolicitações (que abrem as pastas) com um FID associado a elas. No entanto, alguns deles não têm e 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

As únicas diferenças entre os dois pedidos são que o primeiro não possui um FID e o campo CreateOptions está definido como 0x00000040(o campo Não Diretório 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 CreateAndXsolicitações consecutivas diferentes e por que está recebendo uma resposta diferente?

xerocool
fonte

Respostas:

0

obteve a resposta do fórum do wireshark: No SMB, o FID é enviado de volta ao cliente na resposta. O Wireshark mostrará o FID também na solicitação, pois ele 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 a solicitação no quadro 320, não há FID válido, pois há um erro e a resposta não tem um FID válido (FID = 0x0000).

Em resumo, nenhuma solicitação possui um FID, o wireshark pode adicionar um FID à solicitação quando a resposta tiver uma (válida).

xerocool
fonte