[Archiv bulletinů ^] [< Svazek 2, číslo 3] [Svazek 2, číslo 5 >]
The Systems Internals Newsletter volume 2, Number 4
www.sysinternals.com
Copyright © 2000 Mark Russinovich
30. srpna 2000 – V tomto problému:
ÚVODNÍK
CO JE NOVÉHO VE SPOLEČNOSTI SYSINTERNALS
- ListDlls v2.23
- HandleEx v2.26
- ElogList v2.02
- LoggedOn v1.1
- Modrá obrazovka v2.21
- PageDefrag v2.01
- LoadOrder v1.1
- ClockRes v1.0
- BgInfo v1.0
- Uvnitř Windows 2000, 3. Ed.
- Sysinternals ve společnosti Microsoft
INTERNÍ INFORMACE
- Výkon oprávnění LADĚNÍ
- Nová rozhraní API ve Win2K SP1?
- WinDev 2000 West
CO SE CHYSTÁ
- Tokenmon
SPOLU SPONZOR: WINTERNALS SOFTWARE
Bulletin Sysinternals je sponzorován společností Winternals Software na webu na www.winternals.com. Winternals Software je přední vývojář a poskytovatel pokročilých systémů nástrojů pro systém Windows NT/2K. Produkty Winternals Software zahrnují FAT32 pro systém Windows NT 4.0, NTFSDOS Professional Edition (ovladač NTFS pro čtení a zápis pro SYSTÉM DOS) a vzdálené obnovení.
Winternals Software's ERD Commander 2000 je nejnovější vydaná verze produktové řady ERD Commander. Nové funkce ERD Commander 2000, včetně integrovaných editorů registru a souborů, z něj činí nejpokročilejší nástroj pro obnovení systém Windows NT a Windows 2000. Nástroj ERD Commander 2000 můžete nainstalovat na diskety, disk CD-ROM a dokonce i pevný disk systému pro rychlý přístup a jeho průvodce instalací usnadňuje přidávání ovladačů SCSI třetích stran a dalších ovladačů velkokapacitní úložiště. ERD Commander 2000 je $ 349, nebo pouze 49 USD pro stávající vlastníky ERD Commander Professional. Přečtěte si další informace a stáhněte si zkušební verzi na www.winternals.com/products/erdcommander2000.shtml.
SPOLU SPONZOR: WINDOWS 2000 MAGAZINE
Windows 2000 Magazine obsahuje praktická řešení pro lidi, kteří pracují s systém Windows NT/2000 každý den. Objednejte si bezplatný ukázkový problém hned a bez rizika. Pokud se rozhodnete pokračovat ve svém předplatném, dostanete 13 dalších problémů na 40 % z ceny informačního stánku. Přihlásit se k odběru dnes v: http://www.win2000mag.com/sub.cfm?code=fs00inhs13
Dobrý den,
Vítejte v bulletinu Sysinternals. Bulletin má aktuálně 25 000 odběratelů.
Trávím spoustu času v Regmon, Filemon a DebugView, nástroje, které Bryce a já jsem vyvinuli v Sysinternals. Regmon je monitorování přístupu k registru (www.sysinternals.com/regmon.htm), Filemon je monitorování přístupu k souborům (www.sysinternals.com/filemon.htm) a DebugView je monitorování výstupu ladění (www.sysinternals.com/dbgview.htm). Občas se setkám s aplikací nebo ovladačem zařízení nainstalovaným v některém ze svých několika systémů, které generují nepřetržitou aktivitu, která je viditelná v některém z těchto nástrojů. Nemluvím o nezbytné aktivitě, ale akce, které software provádí, jsou obvykle opakující se povahy a zkoumání výstupních trasování ukazuje, že software používá metodu dotazování, kde je možné použít některé jiné méně rušivé mechanismus.
Například různé komerční antivirové skenery dotazují svůj soubor s podpisem viru několikrát za sekundu, abyste zjistili, jestli byl aktualizován. Jeden z mých systémů má ovladač tiskárny od hlavního výrobce tiskárny, který nepřetržitě vypíše ladicí příkazy, které prostřednictvím jejich zahrnutí slova "polling" inzerují, že se dotazují. V jednom z mých oblíbených příkladů, nástroj inzerovaný jako zlepšení výkonu systému od hlavního dodavatele utility dotazuje několik klíčů registru dodavatele několikrát za sekundu. Příkladem jiného typu kódování sloppy je síťový adaptér od hlavního dodavatele sítě, který obsahuje softwarovou komponentu v uživatelském režimu obsahující vložené zarážky ladění, které nepřetržitě cestují při provádění softwaru. Pokud aplikace potřebuje zjistit změnu souboru, může požádat o oznámení o změně adresáře. Podobně pokud potřebujete zjistit změny klíče registru, může požádat o oznámení o změně klíče a komerční software by nikdy neměl obsahovat výstup ladění nebo zarážky ladění, které jsou ve výchozím nastavení povolené.
Nejpozoruhodnější příklad je však služba programu Microsoft Windows Media, která je součástí systému Windows 2000 Server (): čte prvních 2 kB \Winnt\System32\Windows Media\Server\ASDB\mdsas.mdb rychlostí přibližně 60krát za sekundu v systému, kde není žádná aktivita (\Winnt\System32\Windows Media\Server\Npsm.exevčetně žádné obsluhy médií). Pro to není žádná omluva, zejména proto, že to může nepříznivě ovlivnit celkový výkon serveru.
Jsem si jistý, že pokud jste použili Regmon, Filemon nebo DebugView po určitou dobu, kterou jste pravděpodobně narazili na podobné příklady. Když se zobrazí, nenastavujte filtr a nezapomeňte na něj, odešlete dodavateli e-mail, který si stěžuje na programování sloppy.
Předejte prosím bulletin přátelům, o které si myslíte, že by vás mohl zajímat jeho obsah.
Díky!
-Známka
CO JE NOVÉHO VE SPOLEČNOSTI SYSINTERNALS
LISTDLLS V2.23
ListDLLs je nástroj příkazového řádku, který zobrazuje podrobné informace o knihovnách DLL, které byly načteny procesy. Například seznamy ListDLLs zobrazí základní adresu paměti, velikost, verzi a úplnou cestu ke každé knihovně DLL. Tato nová verze ukazuje příkazový řádek, který se použil ke spuštění procesu, včetně všech parametrů, které byly předány na příkazovém řádku. To vám může pomoct rozlišovat mezi několika procesy a řešit problémy související s konkrétními možnostmi příkazového řádku.
Stáhněte si SeznamyDLLs v2.23 na www.sysinternals.com/listdlls.htm.
HANDLEEX V2.26
HandleEx je aplikace, která prezentuje informace o tom, které popisovače a knihovny DLL procesy mají otevřené nebo načtené. Jeho zobrazení se skládá ze dvou dílčích oken. V horní části se vždy zobrazuje seznam aktuálně aktivních procesů, včetně názvů vlastních účtů, zatímco informace zobrazené v dolním okně závisí na režimu, ve které je HandleEx: pokud je HandleEx v režimu popisovače, zobrazí se popisovače, které proces vybraný v horním okně otevřel. Pokud je v režimu knihovny DLL, uvidíte knihovny DLL a soubory mapované do paměti, které proces načetl.
Nejnovější verze HandleEx obsahuje několik nových funkcí. Za prvé, podobně jako ListDLLs, teď zobrazuje příkazový řádek, který byl použit ke spuštění procesu při zobrazení vlastností procesu.
Jednou z nedostatků HandleEx před touto verzí bylo, že i když zobrazoval název účtu, ve kterém se spouštěly systémové procesy a procesy relace přihlášení, nemohlo obejít model zabezpečení systém Windows NT/2000 a zobrazit vlastníka procesů spuštěných z jiných uživatelských účtů (program Pview z systém Windows NT/2000 sady Resource Kit také trpí tímto omezením). To bylo bolestně zřejmé v prostředí terminálového serveru NT 4 a terminálové služby systému Windows 2000, kde HandleEx uvedl, že procesy spuštěné z jiných uživatelských relací měly neznámé vlastníky. HandleEx v2.26 implementuje trik, aby mohl určit vlastní účet pro všechny procesy, bez výjimky, což z něj dělá ideální nástroj pro prostředí Terminálové služby.
Poslední nová funkce HandleEx v2.26 umožňuje vynutit zavření libovolného otevřeného úchytu. Tuto funkci jsem přidal(a) po přijetí mnoha žádostí. Doporučuji, abyste ji používali s extrémní opatrností, nicméně, protože aplikace obecně nejsou napsány, aby očekávaly, že úchyty se náhle stanou neplatnými a aplikace s popisovači vynucené zavření se mohou chovat erraticky nebo chybové ukončení v důsledku.
Stáhněte handleEx v2.26 na www.sysinternals.com/handleex.htm.
ELOGLIST V2.02
Sada Windows 2000 Resource Kit obsahuje nástroj s názvem ELogDmp, který umožňuje výpis záznamů z protokolu událostí v místním nebo vzdáleném počítači. ELogList je výkonnější než ElogDmp, protože umožňuje také zadat volitelný název účtu a heslo, abyste měli přístup k protokolům událostí počítače z jiného účtu než z jiného účtu, ze kterého nástroj spouštíte. Kromě toho nástroj ElogDmp zobrazuje položky protokolu událostí v nezpracované podobě, což ztěžuje interpretaci výstupu, tato aktualizace ElogList formátuje položky protokolu událostí tak, aby zobrazovaly text, jak se zobrazuje v systém Windows NT/2000 Prohlížeč událostí. I když zobrazíte protokoly událostí ze vzdálených systémů, ElogList používá správné soubory zpráv ve vzdáleném systému pro formátovací řetězcová data.
Stáhněte si ElogList v2.02 na www.sysinternals.com/eloglist.htm.
LOGGEDON V1.1
LoggedOn je aplet příkazového řádku sděluje, kdo je přihlášený k určitému počítači, a to buď místně, nebo prostřednictvím sdílených složek prostředků. Aktualizace verze 1.1 umožňuje vyhledat v síti přihlašovací relace přidružené k určitému uživateli. Tato funkce je užitečná v situacích, kdy chcete provádět aktualizace uživatelského účtu a potřebujete ověřit, že uživatel není aktuálně přihlášený.
Stáhněte loggedOn v1.1 s úplným zdrojem na www.sysinternals.com/misc.htm.
MODRÁ OBRAZOVKA V2.21
Většina z vás teď není pochyb o známém spořič obrazovky Blue Screen Sysinternals, který přesně znázorňuje systém Windows NT nebo Windows 2000 chybové ukončení a restartování systému Windows 2000. Od jeho počáteční verze jsem nepřetržitě obdržel požadavky od windows 9x uživatelů, kteří chtějí spustit spořič obrazovky na svých počítačích, takže jsem konečně portoval do Windows 9x. Ve Windows 9x simuluje chybové ukončení a restartování systému Windows 2000.
Jediným požadavkem pro použití spořič obrazovky Blue Screen Sysintenals ve Windows 9x je, že získáte kopii souboru Windows 2000 Ntoskrnl.exe umístit do \Windows\System adresáře - Modrá obrazovka vyžaduje soubor pro úvodní obrazovku Systému Windows 2000.
Nyní můžete opravdu zmást nespektivé uživatele systému Windows 9x, kteří se vrátí do svého počítače pouze zjistit, že je zablokovaný v chybovém a restartování systému Windows 2000 cyklus!
Stáhněte si bluescreen Screen Saver v2.21 v www.sysinternals.com/bluescreen.htm.
PAGEDEFRAG V2.01
PageDefrag je nástroj defrag, který se spouští při spuštění, aby defragmentace stránkovací soubory systému a podregistry registru. PageDefrag byl první nástroj schopen defragmentovat registry podregistry, ale od jeho vydání, že funkce byla přidána do několika komerčních defraggerů. PageDefrag je však stále zdarma a verze 2.01 funguje ve Windows 2000 i systém Windows NT 4.
Pokud vás zajímá defrag rozhraní poskytované systém Windows NT 4 a Windows 2000, můžete se o něm dozvědět a stáhnout zdrojový kód do interaktivního defragmentátoru souborů v www.sysinternals.com/defrag.htm. Sysinternals zdokumentovali defrag rozhraní roky před tím, než ho Microsoft zahrnul do sady SDK platformy, a několik komerčních defragmentátorů využilo naši dokumentaci a vzorový kód.
Stáhněte si PageDefrag v2.01 na www.sysinternals.com/pagedfrg.htm. Prohlédněte si dokumentaci k rozhraní defrag na www.sysinternals.com/defrag.htm.
LOADORDER V1.1
Zajímalo vás někdy, v jakém pořadí se ovladače zařízení a služby načítají a inicializují? Teď můžete snadno zjistit. LoadOrder je nástroj, který zpracovává informace v rámci HKLM\System\CurrentControlSet\Services sestavení obrázku ovladače a servisního pořadí načítání.
Stáhněte loadOrder v1.1 v www.sysinternals.com/misc.htm.
CLOCKRES V1.0
V mých článcích o plánovači jsem mluvil o skutečnosti, že systém Windows NT/2000 vlákno quanta (délka zapnutí vlákna na procesoru) je založen na rozlišení systémové hodiny. Rozlišení hodin má vliv také na latenci událostí založených na časovači Windows. Článek v www.sysinternals.com/timer.htm dokonce popisuje způsob, jakým mohou aplikace manipulovat s rozlišením hodin. U většiny SMPs je rozlišení 15 ms a u jednoprocesorů má 10 ms hodnoty, které jsou nastavené standardními hodnotami SMP a jednoprocesorovými vysokou dostupností (vrstva abstrakce hardwaru).
Zatímco většina systémů používá běžné hodnoty uvedené výše, jak můžete určit skutečné rozlišení hodin v počítačích? Odpověď spočívá v rozhraní API Win32 GetSystemTimeAdjustment, které vám říká, jestli systém používá pravidelnou úpravu denních hodin. Právě tak se stane, že toto rozhraní API vrátí také interval hodin. Applet ClockRes používá rozhraní API k tomu, aby vám řeklo rozlišení systémových hodin.
Stáhněte si ClockRes plus zdroj na www.sysinternals.com/misc.htm.
BGINFO V1.0
Pokud máte na starosti správce více serverů, pravděpodobně strávíte značné množství času otevřením různých informačních dialogů, které vám připomenou hodnoty různých systémových vlastností, jako je nainstalovaná verze aktualizace Service Pack, IP adresy, název počítače, velikost paměti a rychlost procesoru. Nyní můžete mít všechny tyto informace v prostém zobrazení na ploše každého serveru pomocí nástroje BgInfo, který Bryce vyvinul.
Když ji spustíte, BgInfo vytvoří pozadí plochy, které automaticky hlásí řadu užitečných vlastností systému. BgInfo můžete vložit do složky Start, aby vám informace byly k dispozici při každém přihlášení, a můžete upravit data, která BgInfo zobrazuje, a to i přidáním vlastního. Díky nástroji BgInfo nainstalovaným na vašich serverech ušetříte čas, který jste strávili opakovaným vyhledáváním snadno zapomenutých informací.
Stáhněte si BgInfo v1.0 na www.sysinternals.com/misc.htm.
INSIDE WINDOWS 2000, 3RD EDITION
Oficiální kniha o vnitřních stránkách systému Windows 2000 je nyní k dispozici! Tato edice, kterou spoluvytváří David Solomon (www.solsem.com) a Mark Russinovich, je více než 40 % vyšší než předchozí, s novým pokrytím sítí, modulů plug-and-play, řízení spotřeby, služeb, registru, rozhraní WMI, spouštění a vypnutí a úložiště. Obsahuje také CD s několika výkonnými nástroji, které nejsou k dispozici nikde jinde, pro zkoumání interních systémů Windows 2000.
Prohlédněte si obsah a objednávku knihy teď prostřednictvím www.sysinternals.com/insidew2k.htm.
SYSINTERNALS AT WWW.MICROSOFT.COM
Nemám žádné nové články KB, které odkazují na Sysinternals na sestavu, ale Microsoft přidal některé poměrně vysoce profilové odkazy na Sysinternals v části TechNet části svého webu. První je v tématu "Zeptejte se nás... Sloupec Zabezpečení v www.microsoft.com/TechNet/security/au022800.asp, kde columnist Joel Scambray varuje čtenáře, že NTFSDOS (www.sysinternals.com/ntfspro.htm) může zneužít škodlivý uživatel ke změně obsahu služby Active Directory řadiče domény systému Windows 2000.
Druhý odkaz je ve sloupci "Uvnitř Microsoftu" na www.microsoft.com/technet/inside/default.asp. Sloupec je ve stylu Q&A a začíná dvěma otázkami souvisejícími s určením, která aplikace má otevřený konkrétní soubor. V průběhu odpovědi, kde čtenáři jsou zaměřeni na HandleEx (www.sysinternals.com/handleex.htm) a NtHandle (www.sysinternals.com/nthandle.htm), autor článku ("Mole") uvádí to o Sysinternals: "Tam je jen TON skvělých nástrojů tammany, které nebudou stát dime. Dokonce i Krtek odkazuje na Sysinternals od času (Co? Myslela jsi, že Krtek všechny tyto informace uchovává v hlavě?). Ještě jednou, tohle je místo, kde vás pošle." Jedná se o co nejblíže oficiálnímu doporučení webu společností Microsoft, jak můžeme očekávat.
INTERNÍ INFORMACE
VÝKON OPRÁVNĚNÍ LADĚNÍ
Na rozdíl od jiných monitorů výstupu ladění, včetně dbmonu, vyžaduje monitorování ladění DebugView (www.sysinternals.com/dbgview.htm) oprávnění místního správce ke spuštění, protože nainstaluje ovladač zařízení, který zachycuje výstup ladění v režimu jádra. V důsledku toho jsem obdržel desítky e-mailů od vývojářů, kteří si stěžují, že jejich správa jim neudělí oprávnění místního správce, pouze oprávnění ladění. Argument spočívá v tom, že oprávnění ladění existuje z nějakého důvodu a všichni vývojáři aplikací potřebují vyvíjet. Tito vývojáři mě požádali o změnu DebugView tak, aby nainstaloval ovladač pouze v případě, že má uživatel oprávnění správce, a jinak pouze shromažďuje výstup ladění Win32.
Tyto žádosti mi vždy dávají chuckle, protože to, co správa, která způsobí, že argument oprávnění ladění se nepodaří zjistit, je, že tato oprávnění otevírá dveře oprávnění místního správce. Pomocí oprávnění ladění může vývojář připojit ladicí program k procesu místní autority zabezpečení (LSASS) a manipulovat s ním tak, aby mu dal oprávnění místního správce při dalším přihlášení. Nebo může vložit kód do jakéhokoli procesu spuštěného v systémovém účtu, který by přidal svůj účet do místní skupiny administrators. Když to vysvětlím vývojářům, kteří si stěžují, někdy reagují, že jejich správa nekupuje argument. Zatím jsem neměl nic, aby se vrátili ke své správě, aby udělali svůj případ, ale nedávná vyrážka takových e-mailů mě vyzvala k provedení akce.
LogonEx, nástroj, který si můžete stáhnout na www.sysinternals.com/logonex.zip, graficky vykazuje privilegium ladění. LogonEx funguje na systém Windows NT a Windows 2000. Abyste to mohli nejlépe ukázat, vytvořte účet, který je normálním uživatelským účtem s výjimkou přidání oprávnění Ladicí programy. Odhlaste se a přihlaste se pod tímto účtem a spusťte LogonEx. Pro konkrétní instalaci budete potřebovat soubory symbolů pro msv1_0.dll (vývojáři mají obvykle nainstalované systémové symboly), které LogonEx používá k vyhledání vstupního MsvpPasswordValidate bodu funkce a jeho opravě. Jakmile LogonEx provede opravu, budete se moci přihlásit k systému pomocí libovolného účtu bez zadání hesla. Dokončete ukázku tak, že se přihlásíte jako správce a přidáte účet, který jste vytvořili do místní skupiny administrators.
LogonEx je jen jedním z příkladů toho, jak oprávnění ladění umožňuje vývojáři převzít kontrolu nad systémem, ale existuje spousta dalších. Doufám, že LogonEx přesvědčuje správu, že nemá smysl dát vývojářům oprávnění místního správce (poznámka, ale, že nemluvím o oprávněních správce domény, což je další příběh, který místní správce vládne pouze nad jejich vlastním počítačem, ne nad ostatními, zatímco správce domény pravidla sítě).
NOVÝ ROZHRANÍ API VE WIN2K SP1?
Po mnoha uživatelích došlo k problémům s aktualizacemi SERVICE Pack 4 (SP) způsobujícími nové chyby, společnost Microsoft přijala zásadu, která nezahrnuje žádné nové funkce v sp, aby minimalizovala pravděpodobnost, že by při opravě starých problémů zavedly nové problémy. Nebo tak jsme si mysleli. Windows 2000 SP 1 byl nedávno vydán a zdá se, že nemá žádné nové funkce. Podrobná kontrola Ntoskrnl.exe, soubor obsahující komponenty výkonného vedení a jádra systému Windows 2000 a Ntdll.dll knihovny, která obsahuje nativní rozhraní API a zavaděč, však odhalí, že nové rozhraní API vytvořilo svůj debut v SP 1.
Nové rozhraní API se skládá z následujících funkcí:
RtlTraceDatabaseAdd
RtlTraceDatabaseCreate
RtlTraceDatabaseDestroy
RtlTraceDatabaseEnumerate
RtlTraceDatabaseFind
RtlTraceDatabaseLock
RtlTraceDatabaseUnlock
RtlTraceDatabaseValidate
Názvy funkcí jsou poměrně popisné, takže se jedná o rozhraní API pro protokolování událostí. Zajímavým aspektem rozhraní API je, že jeho implementace je duplikována v Ntdll a Ntoskrnl to se liší od jiných rozhraní NTdll API, která volají služby implementace v Ntoskrnl.
Kontrola implementace rozhraní API ukazuje, že se používá takto: aplikace vytvoří trasovací databázi, která je uložená ve virtuální paměti aplikace a přidává položky do databáze. V určitém okamžiku může aplikace vytvořit výčet obsahu databáze a jakmile ji odstraní. Liché, zdá se, že neexistuje způsob, jak odstranit položky databáze.
Co využívá toto nové rozhraní API? Nic, co je nainstalováno na mé poměrně plné-funkce Windows 2000 Advanced Server instalace, takže jeho není jasné, že nic dělá. Možná to byl ladicí rozhraní API, které bylo omylem zahrnuto v kódu verze SP 1.
Publikováno 30. srpna 2000 19:07 od ottoh
[Archiv bulletinů ^] [< Svazek 2, číslo 3] [Svazek 2, číslo 5 >]