Windows - A FileSpy diagnosztikai eszköz

Ezen eszköz segítségével egyaránt megfigyelhetjük a saját vagy a hálózati meghajtókat, hogy lássuk milyen típusú I/O kérés-csomagok (IRP) és gyors I/O műveletek futnak a rendszerben. Ez egy általános célú diagnózist készítő eszköz bárkinek, aki meg szeretné érteni a fájlok működését a rendszerben.
FileSpy
A Windows 2000 Resource Kit-ben megtalálható FileSpy eszköz segít a telepíthető fájl rendszer (IFS) szűrőeszköz készítőknek megérteni az I/O műveleteket, amelyek a rendszerben előfordulnak. A FileSpy fejlesztése egy jó példa arra, hogy hogyan írjunk egy IFS szűrőeszközt. Ez a driver az I/O halom felett ül, és jegyzi az I/O műveletekhez tartozó lényeges információkat, amelyek előfordulnak, mint pl. a kezdeti idő, befejezési idő, visszatérési státusz.
A FileSpy használata
Telepítsük a FileSpy szolgáltatást az fspyinst.exe futtatásával.
A törléséhez futtassuk az fspyunist.exe-t és indítsuk újra a számítógépet.
Az alábbi állományokból áll az eszköz:
  • FileSpy.exe
  • FileSpy.sys
  • Fspyinst.exe
  • Fspyunin.exe
Szintaxis
  • /a meghajtó. A megfigyelendők listájához hozzáad egy meghajtót, ahol a meghajtó nevének egy valós rendszerben létező címnek kell lennie, mint pl. a C:
  • /d meghajtó. Lecsatlakoztat a megfigyeltek közül egy korábban megadott meghajtót.
A megfigyelő lehet, hogy valójában nem csatlakoztatja le a meghajtót, amikor a /d parancsot megkapja, ugyanis egy szűrő-driver csak akkor csatlakozhat le az eszközről, amikor garantált, hogy az I/O halom tetején van. Ez csak akkor fog megtörténni, amikor a szűrőeszköz megkapja a detach parancsot az I/O kezelőtől. Amikor a felhasználói alkalmazás közli a kernel eszközzel, hogy csatlakozzon le egy meghajtóról, akkor a kernel monitor leállítja a naplózást a megadott eszközre. A felhasználói alkalmazás leállítása nem okozza a kernel monitor leválasztását minden eszközről. A kernel meghajtó-program le fogja állítani az I/O műveletek naplózását, ami látható, de ha a felhasználó újraindítja az alkalmazást, a kernel monitor folytatni fogja a naplózást az utóbbi futtatás során csatlakoztatott eszközre. A kernel driver csak akkor törli ezeket a csatolásokat a rendszereszközökről, amikor a gép újraindul.
  • /h – megjeleníti a hash tábla statisztikát, amit a fájlnév tároláshoz használ.
  • /l – megjelenít minden meghajtót, amit a kernel meghajtó-program megfigyel.
  • /s – be- vagy kikapcsolja a naplózást a képernyőre. Amikor az alkalmazás elindul, a bekapcsolt állapot az alapértelmezett.
  • /f [fájlnév] – be- vagy kikapcsolja a napló-kimenet fájlba írását. Ha a /f kapcsoló eredményeképpen bekapcsolja a fájlba naplózást, akkor a fájlnév paraméter megadja a kimeneti állomány nevét. Alapértelmezésben kikapcsolt állapotban van.
  • go|g – kilépteti a felhasználót a parancs módból, és lehetővé teszi a felhasználói alkalmazásnak, hogy a napló-kimenetet a képernyőre vigye újra, ha a program megfelelően van beállítva.
  • Exit – leállítja a felhasználói alkalmazást.
FileSpy naplók
A naplózott információk, amelyek a beállítástól függően képernyőre vagy fájlba kerülnek, ugyanazok. Különböző információk kerülnek naplózásra az I/O műveleteknél az Irp út mentén a Fast I/O műveletek útjával szemben.
Kimeneti formátum az Irp műveletekhez
Ezek a mezők jelennek meg balról jobbra a képernyőn.
Művelet Leírás
I Jelöli, hogy ez egy I/O művelet az Irp út mentén
Sequence Number A művelet sorozatszáma
Originating Time Az I/O művelet kezdeti ideje
Completition Time Az I/O művelet befejezési ideje
Process ID és Thread ID processid.threadid formában jelenik meg a művelethez tartozó folyamat és szálazonosító
IRP Major Code Az IRP nagyobb kód a művelethez
IRP Minor Code Az IRP kisebb kód a művelethez, ha van
Interpretation of flags set Négy oszlop, ami lehet jelző vagy egy gondolatjel, ami azt jelzi, hogy különböző flag van beállítás alatt. 1. N – NoCache flag beállítva; 2. P – Paging IO flag beállítva; 3. S – Synchronous API flag beállítva; 4. Y – Synchronous Paging IO flag beállítva
FileObject Ha elérhető, akkor a mutató objektum, amely a fájl objektumot reprezentálja
Return Status Numerikus visszatérési érték
Name Ha elérhető, akkor a fájl neve
Kimeneti formátum a Fast I/O műveletekhez
Ezek a mezők jelennek meg balról jobbra a képernyőn.
Művelet Leírás
F Jelöli, hogy ez egy I/O művelet a Fast I/O út mentén
Sequence Number A művelet sorozatszáma
Originating Time Az I/O művelet kezdeti ideje
Completition Time Az I/O művelet befejezési ideje
Process ID és Thread ID processid.threadid formában jelenik meg a művelethez tartozó folyamat és szálazonosító
Fast I/O Type Code A gyors I/O művelet típuskódja
Wait Ha elérhető, akkor a művelet e paraméterének értékét T – true, vagy F – false jeleníti meg
Length Ha elérhető, akkor a művelethez tartozó bájtok száma
File Offset Ha elérhető, akkor a fájlon belüli eltolás mértéke
FileObject Ha elérhető, akkor a mutató objektum, amely a fájl objektumot reprezentálja
Return Status Numerikus visszatérési érték
Name Ha elérhető, akkor a fájl neve