Я вижу в следах при доступе к общему сетевому ресурсу есть несколько запросов CreateAndX (которые открывают папки) с FID, связанным с ними. Однако некоторые из них этого не делают, и они получают другой ответ.

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

Единственное различие между этими двумя запросами состоит в том, что первый не имеет FID, а поле CreateOptions установлено в 0x00000040 (установлено поле, отличное от каталога). Во втором запросе это поле установлено в 0 . Оба имеют маску доступа как 0x00120080 .

Клиент Windows 7. Почему существуют два разных последовательных запроса CreateAndX и почему они получают разные ответы?

1 ответ1

0

получил ответ с форума wireshark: в SMB FID отправляется обратно клиенту в ответе. Wireshark покажет FID также по запросу, поскольку он узнал FID в ответе. Вы можете видеть, что FID не находится в пакете, но предоставляется wireshark квадратными скобками вокруг FID.

Таким образом, в кадре 292 FID известен, поскольку он предоставляется сервером в кадре 293. Но для запроса в кадре 320 нет действительного FID, поскольку существует ошибка, и ответ не имеет действительного FID (FID = 0x0000).

Короче говоря, ни один запрос не имеет FID, wireshark может добавить FID к запросу, когда ответ имеет (действительный).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .