1 | initial version |
Hello thetechfirm
Short answer
It looks like two different processes access the same file, or a single process opens the file multiple times. And not to forget the possibility of two threads in the same process.
The behavior documented by Wireshark may be caused by an anti virus program, or it could be the programmed behavior of the application.
Technical background
Before any application can access data on a file server, the client has to run through a number of steps. The major ones are:
Once all this has been sorted out the client has to tell the server name and directory of the desired file. This happens with the "Create Request". The Create Requests returns a GUID, which will be used by the client for later reference. The client will present the GUID in the read statement. As soon as the application closes the file we can see a Close Request on the wire. Please note that Wireshark replaces the GUID with the file name for your convenience.
Your screenshot shows two series of Create / Read / Close transactions.
Analysis tip: Create a coloring rule for each file GUID to highlight activities for a specific file.
Finding the root cause
Wireshark can only reveal what's transmitted. Assuming that all requests are made within the same SMB session we cannot identify the responsible application on the host.
If you expect that the virus scanner is causing the double reads, you could define an exclusion for that directory. Reboot if necessary, then run your application again. If your AV solution is responsible you should see only a single chain of Create / Read / Close events.
Security Advice: Since the AppData directory is often used to store malware I highly suggest to keep %AppData% in the list of protected directories. Never whitelist %AppData% and it's sub-directories.
If it's not your anti virus (or you cannot exclude AppData from virus scans) you need a different tool. My next step would be the Sysinternals Process Monitor. The Windows ressource monitor (command line perfmon /res
) or the process monitor (command line perfmon
) might help, if you are not allowed to install extra tools.
Less obvious possiblities
Just for the sake of completeness: Other options are
Given the file- and directory name from your screenshot this is less likely. Therefore I expect that the SMB2 Header for packets 685 and 696 show identical values for Tree ID and Session Id respectively.
Good luck
Eddi