Poradce při potížích s ASP.NET

ASP .NET podpory Voice sloupec: Poradce při potížích s ASP.NET

Chcete-li upravit tento sloupec vašim potřebám, chceme pozvat sdělit své nápady o tématech, které zajímají je a problémy, které chcete zobrazit adresovány v budoucnu články znalostní báze a podpora hlasové sloupce. Můžete odeslat nápady a názor pomocí formuláře Požádat pro něj . Je také odkaz na formulář v dolní části tohoto sloupce.

ÚVOD

Znovu Hello a Vítá vás vydání listopad 04 sloupec Voice podpory. Chtěl bych Děkujeme Cheshiru Jan , pracovníka podpory společnosti Microsoft podporující ASP .NET pro své příspěvky zde. Jan má Skvělé nápady pro podporu hlasu sloupec a chtěli sdílet. Hledat příspěvky uživatele Jan během příštích několika měsíců a jako vždy zašlete nám své návrhy pro budoucí sloupce. Děkujeme Jim!

Jan pracuje s aplikací Microsoft šest let týmy FrontPage, VB a ASP .NET. Během této doby mu napsal pro Office Developer Center na webu MSDN a je autorem knihy na aplikaci FrontPage zvláštní vydání pomocí aplikace Microsoft Office FrontPage 2003. Jan má také webový server, kde mu poskytuje zdarma doplňky pro aplikaci FrontPage povolit webové vývojáře, aby nejvíce mimo produktů společnosti Microsoft. Zde je adresa tohoto webu:Tak prosím vyžádanou nahoru židle, můžeš boty a číst prostřednictvím našeho sloupec všechny o Poradce při potížích s ASP.NET a nezapomeňte, že můžete odeslat nápady nám použití propojení "Dotaz pro IT" zahrnuté v každém sloupci jsme publikovat.

Petra

Poradce při potížích s ASP.NET

Viděli jste film Shrek? Hvězda filmu, Shrek, je ogre, ugly zelené creature, s awful hygienické návyky. V rané fázi filmu Shrek proclaims složitost ogres vyslovením příkazu "ogres se jako cibule. Mají vrstvy."

Technologie ASP.NET podobá se ogre. Má mnoho vrstev--webový klient, zprostředkující zařízení jako webový server proxy servery a sítě, že je a další prostředky aplikace dotýká. Všechny tyto vrstvy obtížné ASP.NET řešit, pokud nevíte, který nástroj k použití a správné použití tohoto nástroje.

Případném provedení sám zastaralé, Tato řada bude vás naučí, jak používat některé nástroje používáme v PSS řešení problémů. Budete přejít prostřednictvím použití některé opravdu skvělé nástroje, jako jsou například:
  • Program Sledování sítě
  • Fiddler
  • FileMon / Regmon
  • Debugging Tools for Windows (Windbg)
  • Prodejní objednávky (příponou Windbg k ladění spravovaný kód)
  • DBGClr
Nezkoumá intimní podrobnosti o použití těchto nástrojů, ale I vám poskytne pevný základ v používání těchto nástrojů tak, aby do příčinou mnoha problémů, které může dojít k podrobnostem.

Senzorovými

V první části tohoto seriálu se bude zabývat rozluštitelná. Řekněme pusťte v.

Příklad problému:

Máte aplikace ASP.NET, která používá ověřování integrované v systému Windows a "anonymní" vypnul. Jeden z uživatelů hlásí, že nejsou schopni získat přístup k webu. Místo toho jsou opakovaně vyzváni pro uživatelské jméno a heslo. Jste přesvědčeni, správnost oprávnění pro tohoto uživatele.

Tento druh problému je perfektní kandidát pro řešení potíží pomocí sniffer sítě. Sniffer umožňují určit zda klient odesílá informace o ověřování serveru. Síťový sniffer, používané ve společnosti Microsoft je program Sledování sítě.

Program Sledování sítě

Čas bombed verze programu Sledování sítě můžete stáhnout z následujícího serveru FTP společnosti Microsoft:
Trasováníje heslo souboru s příponou Zip. Po instalaci programu Sledování sítě naleznete ji klepnutím na položku Nástroje pro správua potom klepnutím na
Nástroje analýzy sítě.
Výběr síťového rozhraní pro sběr
Při prvním spuštění programu Sledování sítě první věc, kterou musíte udělat je, vyberte síťovou kartu, kterou chcete použít v dialogovém okně zobrazena na obrázku 1.
Figure 1: Choosing a network in Network Monitor
Obrázek 1: Volba sítě v programu Sledování sítě

Všimněte si, že na obrázku 1 vybrané rozhraní telefonické připojení nebo VPN adaptér, jak je uvedeno v okně Vlastnosti pro dané rozhraní. Ve většině případů budete chtít vybrat jednu z rozhraní telefonického nebo připojení virtuální privátní sítě. Se rozhodli použít kopie obrazovky VPN adaptér, který nechcete zvolit, protože měla jasně uvidíte, jak bude identifikovat. Ještě jednou v téměř všech případech je adaptér, který chcete vybrat ten, který nevypadá jako jeden ikon v obrázku 1.


Pokud potřebujete změnit síťovou kartou, která je zachytávání, získat přístup k dialogovém okně provedete to klepnutím na možnost sítě v nabídce sběr .
Nastavení velikosti vyrovnávací paměti
Program Sledování sítě má výchozí sběrné vyrovnávací paměti 1 MB. To znamená, že po 1 MB dat v síti shromažďuje, začne přepsat trasování. V mnoha případech můžete zvýšit vyrovnávací paměti. To lze provést, klepněte na snímek a potom klepněte na tlačítko Nastavení vyrovnávací paměti. Tím zobrazíte dialogové okno Nastavení vyrovnávací paměti pro sběr , kde můžete zvýšit velikost vyrovnávací paměti. Velikost, kterou chcete zadat, závisí na kolik provoz v síti se zobrazuje v síti. Problému, pokud chcete generovat snímky, které vás zajímají ihned po spuštění sběru by měly být 2 nebo 3 MB vyrovnávací paměti více než dostatečné.


Můžete si všimnout, že v dialogovém okně Nastavení vyrovnávací paměti pro sběr můžete také změnit velikost rámečku. To je užitečné v případech, kdy chcete sbírat pouze záhlaví, které jsou odeslány. Zmenšením velikosti rámečku, můžete uložit místo ve vyrovnávací paměti a stále zachytit záhlaví, které potřebujete. O používání, v tomto článku nebude přejít do podrobností.
Spustit sběr
Máte k dispozici sadu vyrovnávací paměti, můžete začít spuštění sběru dat. Můžete spustit digitalizaci několika různými způsoby:
  • Na klávesnici stiskněte klávesu F10.
  • Klepněte na snímeka potom klepněte na příkaz Spustit z nabídky.
  • Klepněte na tlačítko Spustit digitalizaci na panelu nástrojů (toto tlačítko vypadá tlačítko play).
Při zachycení paketů pomocí programu Sledování sítě, zjistíte plynoměrů, přesouvání a statistiky, změna, jak je znázorněno na obrázku 2. Pokud se nic neděje, pokud digitalizujete nezobrazuje, pravděpodobně potřebujete změnit síťové karty, které jsou digitalizace.
Figure 2: Network Monitor while capturing packets
Obrázek 2: Sledování sítě při zachytávání paketů

Poté začnete v programu Sledování sítě sběr reprodukovat problém, který potřebujete sebrat a pak klepnutím zastavíte sběr
V programu Sledování sítě klepnutím na tlačítko Zastavit
Sběra klepnutím na tlačítko Zastavit, nebo na klávesnici stisknutím klávesy F11. Nyní jste připraveni prozkoumat data, která byla zachycena.


Poznámka: Program Sledování sítě sbírá pouze data, která zhasne přenášených v síti. Proto obvykle nelze zachytit požadavek proti webovou aplikaci vyhledáním v konzole. V některých případech procházení pomocí IP adresu nebo plně kvalifikovaný název domény vám umožní zachytit v místním počítači.
Zkoumání sebraných dat
Poté, co jste ukončila sběr, sebraných dat můžete zobrazit klepnutím na snímeka potom klepnutím na položku
Zobrazit sebraná Data, nebo stisknutím klávesy F12 na vaší klávesnici. Ve výchozím nastavení zobrazí se všechna data, která byla přes lince v době, kdy byly zachycující, jak je znázorněno na obrázku 3.
Figure 3: Captured data in Network Monitor
Obrázek 3: Sebraných dat v programu Sledování sítě

V tomto případě by bylo prospěšné moci pouze zobrazit HTTP pakety. Snadno, lze provést filtrování sebraných dat, chcete-li zobrazit pouze protokol HTTP. Chcete-li filtrovat sebraných dat, klepněte na tlačítko
Zachytita potom klepněte na tlačítko Filtr, stiskněte klávesu F8 na klávesnici nebo klepněte na tlačítko panelu nástrojů, který vypadá jako ikona trychtýře.


V dialogovém okně Filtr zobrazení , poklepejte
Protokol == libovolný filtr pro zobrazení dialogové okno výraz , jak je znázorněno na obrázku 4.
Figure 4: The Expression dialog box provides powerful filtering capabilities
Obrázek 4: Dialogové okno výraz obsahuje výkonné možnosti filtrování

Ve výchozím nastavení program Sledování sítě zobrazuje všechny protokoly. Chcete-li zobrazit pouze protokol HTTP, klepněte na tlačítko Zakázat všea poklepejte na protokol HTTP, vyberte jej. Program Sledování sítě zobrazí pouze protokol HTTP.

Poznámka: Program Sledování sítě můžete filtrovat před zachytávání tak, že zachytí pouze rámce, které by odpovídaly filtru, které jste nastavili. Ve většině případů dávám přednost filtr po sběru.

Po filtrování zachycené pakety, takže pouze protokol HTTP je zobrazen, zobrazí program Sledování sítě každý rámec sebraných dat protokolu HTTP. Dvojitým kliknutím na snímek, můžete zkontrolovat podrobné informace o paketu. Scénář, který jsme zabývají jsme se snaží určit, pokud klient odeslal informace o ověřování serveru WWW. Sběr dat znázorněných na obrázku 5 ukazuje odezva na požadavek GET na stránce technologie ASP.NET. Všimněte si, že webový server odpověděl zpět s stavový kód 401 označující, že byl odepřen přístup k webové stránce.
Figure 5: Network Monitor showing an “Access Denied” response when authentication is required
Obrázek 5: Sledování sítě zobrazující odpověď "Přístup odepřen", pokud je vyžadováno ověření

Pohledem na záhlaví WWW-Authenticate uvidíte na obrázku 5, že webový server přijímá (vyjednat) protokolu Kerberos a NTLM ověřování. Očekáváme proto, že klient odešle informace o ověřování automaticky po "Přístup odepřen" zpráva, že vidíme zde.
Pořadová čísla
Najít odpověď klienta paket ukázáno na obrázku 5, musíme se podívat na pořadová čísla v této odpovědi. Pojem posloupnosti čísel je často špatně vykládána v rámci přezkoumání trasování programu Sledování sítě. Jsou klíčem k pochopení pořadí, ve kterém došlo k věci.


V prostředním podokně na obrázku 5 můžete si všimnout, že protokol HTTP byla rozšířena odhalit všechny hlavičky protokolu HTTP. Těsně nad HTTP protokol je protokol TCP a uvidíte pořadová čísla a ack číslo jako součást TCP segment. Pořadová čísla (představovaný seq v paketu TCP) poskytují způsob, jak identifikovat konkrétní segment TCP. Každý TCP sekvence by měly být přiloženy potvrzení nebo potvrzení, že sekvence.


Zde je výňatek z trasování požadavku protokolu HTTP GET:
11 4294967263.4294633595 LOCAL 00045A420DBC HTTP GET Request (from client using port 3134) DADATOP 192.168.0.4 IP 
TCP: .AP..., len: 402, seq:3410290480-3410290882, ack:1947093623, win:17520, src: 3134 dst: 80

Všimněte si, že poslední pořadové číslo 3410290882. Proto najít odpověď serveru, musíte najít rámeček, který uznává, že sekvence. Jinými slovy hledáte odpověď obsahující potvrzení o 3410290882. Zde je tento snímek:
12 4294967263.4294636605 00045A420DBC LOCAL HTTP Response (to client using port 3134) 192.168.0.4 DADATOP IP TCP: .A...., len: 1460, seq:1947093623-1947095083, ack:3410290882, win:65133, src:  80 dst: 3134

Tato čísla jsou důležité, protože existují situace, kdy odpověď se zobrazí před požadavek trasování programu Sledování sítě. Jediný způsob, jak si být jisti, řádově paketů je kontrola segmentů pomocí těchto čísel.

Vzhledem k tomu, že jsme hledají prostřednictvím trasování a zjistit, zda klient odesílá informace o ověřování, jsme segmentů TCP pomocí sledování požadavků HTTP GET a odpověď ze serveru. Zde je výňatek z rámce, který odesílá informace o ověřování klienta:
23 4294967263.4294641621 LOCAL 00045A420DBC HTTP GET Request (from client using port 3135) 192.168.0.2 192.168.0.4 IP HTTP: GET Request (from client using port 3135)
HTTP: Request Method = GET
HTTP: Uniform Resource Identifier = /webapplication1/webform1.aspx
HTTP: Protocol Version = HTTP/1.1
HTTP: Accept = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.
HTTP: Accept-Language = en-us
HTTP: Accept-Encoding = gzip, deflate
HTTP: User-Agent = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR
HTTP: Host = alien
HTTP: Connection = Keep-Alive
HTTP: Authorization = Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAA
44 77 3D 3D 0D 0A 0D 0A AAADw==....

Co to nám? Vidíme, že povolení záhlaví je nastavena na "Negotiate" a vidíme dlouhý řetězec znaků odeslaných v této hlavičce. Tato odpověď víme, že klient a server jsou vyjednávání připojení ověřování NTLM. Víme, že ověřování NTLM je používán zde protože první znak je ""T." Jestliže byla "Y", je protokol Kerberos. Záhlaví je nastavena na "Negotiate" místo "NTLM". To však neznamená, že se že použije protokol Kerberos nebo NTLM, ale že bude "Negotiate" metodu ověření a nejprve provést Kerberos, pokud je to možné. Pokud jej nelze použít protokol Kerberos, bude používat protokol NTLM.

Obrázek 6 je obrazovka snímku zobrazeno výše, viděli, kde je odeslán ověřovací informace. Všimněte si, že hlavičky protokolu HTTP v rámci střední byly rozšířeny tak, že jsme můžete zobrazit podrobnosti o každé záhlaví.
Figure 6: The frame containing authentication information
Obrázek 6: Snímek obsahující informace o ověřování

Tento rámec víme, že klient je většina jednoznačně odesílání informace o ověřování. Pokud uživatel získá přístup odepřen v tomto okamžiku, je buď protože uživatel nemá oprávnění k prostředku nebo je to proto, že informace o ověřování je měněn v určitém okamžiku po lince.
Další způsob, jak filtrovat
V mnoha případech může být odstraňování serveru, který má návštěvnost. V těchto případech může zobrazit velký počet rámců protokolu HTTP a může být obtížné najít ty pravé. Pomocí filtrování více výrazů umožňuje snadné doprava na správné snímky.


Klepněte Filtr tlačítko nebo stiskněte klávesu F8 na klávesnici, zobrazíte dialogové okno Filtr zobrazení . Na pravé straně klepněte na tlačítko výraz přidání nového výrazu. Existují dva různé filtry, které chcete použít v této situaci: filtrování podle adresy IP a filtrovat podle stavový kód HTTP.

Filtrování podle adresy IP, klepněte
Karta vlastností a Posun dolů v levém podokně, dokud se nezobrazí
IP. Rozbalte IPa přejděte dolů, dokud se nezobrazí
Zdrojová adresa. Vyberte == vztahu a zadejte adresu IP klientského počítače, jak ukazuje obrázek 7. Poté, co učiníte, zobrazí se pouze rámce přicházející z adresy IP, které jste zadali.
Figure 7: Filtering by IP Address
Obrázek 7: Filtrování podle adresy IP

Je důležité si uvědomit, že mnohokrát IP adresa nemusí být nejlepší vlastnosti, které chcete filtrovat trasování. Oftentimes uživatelé budou být zasáhnete webový server prostřednictvím směrovače nebo brány firewall. V těchto případech bude adresa IP často adresu IP směrovače nebo brány firewall a nikoli u klienta.

Můžete také filtrovat podle stavový kód HTTP. Pokud chcete rychle vyhledat rámce, kde je klientovi odeslána 401, můžete filtrovat podle 401 stavový kód HTTP. To lze provést, vyberte HTTP v
Protokol: vlastnost seznam a rozbalte ji. Přejděte dolů a klepněte na tlačítko
Kód stavu. Vyberte == pro vztah, klepněte
V poli hodnota zadejte 401 , jak je znázorněno na obrázku 8 desítkové přepínací tlačítko (důležité) a klepněte na tlačítko
OK. Program Sledování sítě zobrazí pouze ty rámce, kde byl odeslán kód stavu 401, jak je znázorněno na obrázku 8.
Figure 8: Filtering by HTTP status code
Obrázek 8: Filtrování podle stavový kód HTTP
Po vyhledání snímku, kde byl odeslán 401, můžete stiskněte klávesu F7 na klávesnici vypnout filtr. Snímek, kde byl odeslán 401 bude stále zvýrazněn, a poté můžete prozkoumat okolní snímky pro klienta odpověď 401.

Fiddler – HTTP Proxy ladění

Pokud procházení v aplikaci Internet Explorer v klientském počítači, který odstraňujete, můžete použít Fiddler (viz obrázek 9) místo programu Sledování sítě zachytit HTTP informace odeslané z klienta. Fiddler pouze pakety protokolu HTTP a integruje přímo do aplikace Internet Explorer.
Figure 9: Fiddler
Obrázek 9: Fiddler

Obrázek 9 uvidíte 401 odpověď ze serveru a potom můžete zobrazit klient odpoví Vyjednat záhlaví (zvýrazněné). V tomto případě runtime chyba nastane po klient odešle ověřování (které nesouvisí s tímto problémem), ale je jasně vidět, že klient nebyl jeho odesláním lístku protokolu Kerberos.

Fiddler můžete stáhnout z následujícího webu:

Co je další?

Pomocí programu Sledování sítě nebo Fiddler, lze často vyloučit jako problém selhání ověření klienta. Příští měsíc půjdeme přes použití Filemon a Regmon z SysInternals. Tyto nástroje jsou užitečné při řešení potíží oprávnění v systému souborů a v registru.
Jako vždy, atmosféru volného odeslat nápady na témata chcete určeno v budoucnosti sloupce nebo pomocí znalostní báze Knowledge Base
Dotaz pro jeho formuláře.
Vlastnosti

ID článku: 891032 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor