DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 891032 - Geändert am: Samstag, 23. November 2013 - Version: 4.0

 
ASP .NET Support Voice-Kolumne:
Um diese Kolumne an Ihre Bedürfnisse anpassen, möchten wir möchten Sie einladen, reichen Sie Ihre Ideen zu Themen und Problemen, die Sie anzeigen möchten, in zukünftigen Knowledge Base-Artikeln und Support Voice-Kolumnen behandeln. Sie können Ihre Ideen und Feedback mit übermitteln die Danach Fragen (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) Formular. Es gibt auch ein Link zu diesem Formular am Ende dieses Artikels.

Auf dieser Seite

EINFÜHRUNG

Hallo und Herzlich Willkommen zur November ' 04 Ausgabe des Support Voice-Kolumne. Ich möchte Danke Jim sich zu einer Support-Engineer bei Microsoft und unterstützt ASP .NET für seine Beiträge hier. Jim sich tolle Ideen für den Support Voice-Kolumne wurde und diese freigeben möchten. In den nächsten Monaten Gérards Beiträgen suchen Sie und wie immer, senden Sie uns Ihre Vorschläge für zukünftige Kolumnen. Jim vielen Dank!

Jim hat bei Microsoft seit sechs Jahren an FrontPage, VB und ASP .NET-Teams gearbeitet. Während dieser Zeit hat er für das Office Developer Center auf MSDN geschrieben, und er ist der Autor eines Buches über FrontPage Special Edition mithilfe von Microsoft Office FrontPage 2003. Gérard hat auch eine Website wo er bietet kostenlose Add-Ins für FrontPage Web-Entwickler den größtmöglichen Nutzen aus Microsoft-Produkten zu aktivieren. Hier wird die Adresse dieser Website:
http://www.jimcosoftware.com (http://www.jimcosoftware.com)
Also Bitte entfernen sich die Schuhe kick-off, durchlesen, unsere Spalte alle zur und beachten Sie, dass Sie Ihre Ideen, um uns über den Hyperlink "Fragen für IT" in jeder Spalte veröffentlichen wir senden können.

Jeremy

Haben Sie den Film Shrek gesehen? Der Stern des Films, Shrek, ist ein oger, ein hässlich grüne Wesen mit schrecklich Hygiene Gewohnheiten. Früh im Film erklärt Shrek die Komplexität der oger darauf hin, dass Ogern wie Zwiebeln "sind. Sie haben Ebenen".

ASP.NET ist ähnlich wie ein oger. Es hat zahlreiche Ebenen – der Webclient, jedes zwischengeschaltete Gerät wie Proxy-Server, Webserver und Netzwerk, befindet er sich auf und andere Ressourcen die Anwendung berührt. Alle diese Ebenen stellen ASP.NET schwer zu behandeln, es sei denn, Sie, welches Tool verwendet und wie wissen, damit das Tool ordnungsgemäß verwendet.

Auf die Gefahr hin um mich nicht mehr benötigt, dieser Serie wie lernen Sie einige der Tools verwenden verwenden wir in PSS, um Probleme zu beheben. Ich denke mir über veranschaulicht einige wirklich nützliche Tools wie:
  • Netzwerkmonitor
  • Fiddler
  • FileMon / Regmon
  • Debugtools für Windows (Windbg)
  • SOS (eine Erweiterung Windbg zum Debuggen von verwalteten Codes)
  • DBGClr
Ich will in INtime Details zur Verwendung dieser Tools, aber ich werden Ihnen eine solide Grundlage für die Verwendung dieser Tools, damit Sie die Ursache für viele Probleme aufgliedern können, die auftreten können.

Sniffer

Der erste Teil dieser Reihe werden Netzwerksniffer behandeln. Fangen wir direkt in.

Beispiel-Problem:

Sie haben eine ASP.NET Anwendung, die integrierte Windows-Authentifizierung verwendet und "anonymous" deaktiviert hat. Ein Benutzer berichtet, dass sie nicht auf die Website zugreifen können. Stattdessen werden sie wiederholt einen Benutzernamen und ein Kennwort einzugeben. Sie sind der Meinung, dass die Berechtigungen für diesen Benutzer korrekt sind.

Diese Art von Problem ist der perfekte Kandidat für die Problembehandlung bei Verwenden eines Netzwerkspionageprogramms. Ein Sniffer können Sie bestimmen, ob der Client Authentifizierungsinformationen an den Server sendet. Netzwerk-Sniffer verwenden wir bei Microsoft ist Netzwerkmonitor.

Netzwerkmonitor

Sie können eine Installationsaktion Version des Netzwerkmonitors von folgender Microsoft-FTP-Site herunterladen:
FTP://FTP.Microsoft.com/PSS/Tools/Netmon/Netmon2.ZIP (ftp://ftp.microsoft.com/PSS/Tools/Netmon/Netmon2.zip)
Das Kennwort für diese Zip-Datei ist Trace. Nach der Installation von Netzwerkmonitor finden Sie es, indem Sie auf Verwaltungund dann auf Netzwerk-Analyse-Tools.
Auswahl der Netzwerkschnittstelle erfassen
Wenn Sie den Netzwerkmonitor zum ersten Mal starten, wird das erste, was Sie tun müssen die Netzwerkkarte auswählen, die Sie in das Dialogfeld in Abbildung 1 gezeigte verwenden möchten.
Bild minimierenBild vergrößern
Abbildung 1: Auswählen eines Netzwerks in Netzwerkmonitor

Abbildung 1: Auswählen eines Netzwerks in Netzwerkmonitor

Beachten Sie, dass in Abbildung 1 die ausgewählte Schnittstelle eine DFÜ-Verbindung oder VPN-Adapter entsprechend in den Eigenschaften für die Schnittstelle. In den meisten Fällen sollten Sie eine der Schnittstellen als die DFÜ- oder VPN-Verbindung wählen. Ich habe einen Screenshot der VPN-Adapter verwenden, die nicht wählen, weil ich wollte, dass Sie klar erkennbar, wie es identifiziert würde werden sollen. In fast allen Fällen ist die Netzwerkkarte, die Sie auswählen möchten noch einmal diejenige, die wie ein Bild in Abbildung 1 aussieht.

Wenn Sie die Netzwerkkarte ändern, die Sie aufnehmen möchten, können Sie das Dialogfeld, wenn Sie dies tun, indem Sie auf die Option Netzwerke im Menü Sammeln zugreifen.
Einstellen der Puffergröße
Netzwerkmonitor hat einen Sammlungspuffer Standardwert von 1 MB. Das bedeutet, dass es nach 1 MB von Netzwerk-Informationen gesammelt werden, überschreiben die Ablaufverfolgung beginnt. In vielen Fällen empfiehlt es sich, dieses Puffers erhöhen. Dazu klicken Sie auf Aufzeichnen , und klicken Sie dann auf Einstellungen. Dadurch wird das Dialogfeld Sammlungspuffereinstellungen angezeigt, in dem Sie die Größe des Puffers erhöhen können. Die Größe, die Sie angeben möchten wie viel Netzwerkverkehr in Ihrem Netzwerk angezeigt wird. Ein Problem für die Bilder erzeugen, die, denen Sie sofort nach der Aufnahme starten möchten, möchten, sollten ein Puffer von 2 oder 3 MB mehr als ausreichend sein.

Sie werden bemerken, dass im Dialogfeld Sammlungspuffereinstellungen auch die Größe des Textrahmens ändern können. Dies ist hilfreich in Fällen, in denen nur die Kopfzeilen zu erfassen, die gesendet werden soll. Durch die Framegröße zu verringern, können Sie Speicherplatz im Puffer speichern und dennoch erfassen die Header, die Sie benötigen. Ich gehe ins Detail nicht auf, die in diesem Artikel verwenden.
Starten Sie die Aufzeichnung
Sie den Satz der Puffer hat, können Sie mit dem Sammeln von Daten beginnen. Starten Sie auf verschiedene Arten erfassen:
  • Drücken Sie F10 auf der Tastatur.
  • Klicken Sie auf Aufzeichnen, und klicken Sie auf Starten im Menü.
  • Klicken Sie auf die Schaltfläche Aufnahme starten auf der Symbolleiste (diese Buttonlooks wie die Wiedergabe-Schaltfläche).
Wie Sie Pakete mit dem Netzwerkmonitor erfassen, sehen Sie die Messer verschieben und ändern, Statistiken, wie in Abbildung 2 dargestellt. Wenn Sie etwas geschieht sehen, wenn Sie erfassen, müssen Sie wahrscheinlich die Netzwerkkarte ändern, die Sie erfassen.
Bild minimierenBild vergrößern
Abbildung 2: Netzwerkmonitor während der Erfassung von Paketen

Abbildung 2: Netzwerkmonitor während der Erfassung von Paketen

Wenn Sie anfangen, im Netzwerkmonitor aufzeichnen, reproduzieren Sie das Problem, das Sie erfassen möchten, und dann die Aufnahme beendet, indem Sie auf die Schaltfläche Beenden in Microsoft Netzwerkmonitor auf erfassen, und dann auf Beenden, oder durch Drücken von F11 auf Ihrer Tastatur. Sie können nun die Daten untersuchen, die erfasst wurden.

Hinweis Netzwerkmonitor sammelt nur Daten, die über das Netzwerk ausfällt. Daher können nicht Sie gegen Ihre Webanwendung auch in der Regel eine Anforderung erfassen, indem Sie an der Konsole. In einigen Fällen ermöglicht browsing mit Ihrer IP-Adresse oder den vollständig qualifizierten Domänennamen auf dem lokalen Computer.
Untersuchen die gesammelten Daten
Nachdem Sie die Aufzeichnung beendet haben, können Sie die erfassten Daten auf erfassen, und klicken Sie dann auf Gesammelte Daten anzeigen, oder durch Drücken der Taste F12 auf der Tastatur anzeigen. Standardmäßig sehen Sie alle Daten, die über die Verbindung ging während Sie erfassen waren, wie in Abbildung 3 dargestellt.
Bild minimierenBild vergrößern
Abbildung 3: Gesammelten Daten im Netzwerkmonitor

Abbildung 3: Gesammelten Daten im Netzwerkmonitor

In diesem Fall würde nur die Ansicht der HTTP-Pakete können von Vorteil sein. Erfolgt einfach durch Filtern der gesammelten Daten, um nur das HTTP-Protokoll anzuzeigen. Um die erfassten Daten zu filtern, klicken Sie auf Aufzeichnen, und dann klicken Sie auf Filter, drücken Sie F8 auf der Tastatur oder klicken Sie auf die Symbolleisten-Schaltfläche, die einen Trichter aussieht.

Das Dialogfeld Filter anzuzeigen , doppelklicken Sie auf das Protokoll == jedes Filter, um das Dialogfeld Ausdrucks anzuzeigen, wie in Abbildung 4 dargestellt.
Bild minimierenBild vergrößern
Abbildung 4: Dialogfeld Ausdruck bietet leistungsstarke Filterfunktionen

Abbildung 4: Dialogfeld Ausdruck bietet leistungsstarke Filterfunktionen

Netzwerkmonitor zeigt standardmäßig alle Protokolle. Um nur das HTTP-Protokoll anzuzeigen, klicken Sie auf Alle deaktivieren, doppelklicken Sie auf das HTTP-Protokoll, um ihn auszuwählen, und klicken Sie dann auf OK. Netzwerkmonitor zeigt nur das HTTP-Protokoll.

Hinweis Sie können den Netzwerkmonitor filtern, vor dem erfassen, so dass es nur Frames erfasst, die dem Filter entsprechen, den Sie festlegen. In den meisten Fällen bevorzuge ich nach der Einnahme filtern.

Nach dem Filtern die erfassten Pakete, damit nur das HTTP-Protokoll angezeigt wird, wird Netzwerkmonitor jeden Frame HTTP gesammelten Daten angezeigt. Durch Doppelklicken auf einen Frame, können Sie ausführliche Informationen zu diesem Paket überprüfen. In Szenarios, die wir zu tun haben, versuchen wir bestimmen, ob der Client Authentifizierungsinformationen an den Webserver gesendet wurde. In Abbildung 5 dargestellten Erfassung zeigt die Antwort vom GET-Anforderung für die Seite von ASP.NET. Beachten Sie, dass der Webserver reagiert hat, wieder mit dem Statuscode 401 gibt an, dass auf der Webseite der Zugriff verweigert wurde.
Bild minimierenBild vergrößern
Abbildung 5: Netzwerkmonitor eine Antwort "Zugriff verweigert" angezeigt, wenn Authentifizierung erforderlich ist.

Abbildung 5: Netzwerkmonitor eine Antwort "Zugriff verweigert" angezeigt, wenn Authentifizierung erforderlich ist.

Mit Blick auf die WWW-Authenticate-Header, sehen in Abbildung 5 Sie, dass der Webserver (Negotiate) Kerberos und NTLM-Authentifizierung akzeptiert. Wir erwarten, dass der Client sendet Authentifizierungsinformationen automatisch nach der Meldung "Zugriff verweigert" sehen wir hier.
Sequenznummern
Um Reaktion des Clients auf das Paket, das in Abbildung 5 dargestellt zu finden, müssen wir betrachten die Sequenznummern in dieser Antwort. Das Konzept der Sequenznummern ist eine Überprüfung der Netzwerkmonitor-Ablaufverfolgungen häufig missverstanden. Sie sind der Schlüssel zum Verständnis der Reihenfolge, in der Dinge aufgetreten ist.

Im mittleren Bereich in Abbildung 5 sehen Sie, dass das HTTP-Protokoll erweitert wurde, um alle HTTP-Header anzuzeigen. Direkt über das HTTP-Protokoll ist das TCP-Protokoll, und Sie sehen die Sequenznummern und die Ack-Nummer als Teil des TCP-Segments. Die Sequenznummern (dargestellt durch Seq im TCP-Paket) bieten eine Möglichkeit, das bestimmte TCP-Segment identifiziert. Jede TCP-Sequenz sollte eine Bestätigung oder Ack, dieser Sequenz beizufügen.

Hier ist ein Ausschnitt aus der Ablaufverfolgung einer HTTP GET-Anforderung:
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 
Beachten Sie, dass die letzte laufende Nummer 3410290882. Um die Antwort des Servers zu suchen, müssen Sie daher den Frame suchen, der diese Sequenz erkennt. Das heißt, suchen Sie eine Antwort mit einem Ack von 3410290882. Hier ist diese Rahmen:
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
Diese Zahlen sind wichtig, da es gibt Zeiten, wenn die Antwort der Anforderung in einer Netzwerkmonitor-Ablaufverfolgung angezeigt werden. Überprüfen Sie die Segmente mit diesen Zahlen ist die einzige Möglichkeit, eine bestimmte Reihenfolge der Pakete werden soll.

Da wir über diese Ablaufverfolgung, um festzustellen, ob der Client Authentifizierungsinformationen sendet suchen, verwenden wir die TCP-Segmente, um HTTP GET-Anforderungen und die Antwort vom Server zu verfolgen. Hier ist ein Ausschnitt aus der Frame, der Authentifizierungsinformationen vom Client sendet:
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==....   
Was sagt dies uns? Wir sehen, dass der Authorization-Header auf "Negotiate" festgelegt ist, und wir eine lange Zeichenfolge aus Zeichen in diesen Header gesendet sehen. Diese Antwort sagt uns, dass der Client und der Server eine NTLM-Verbindung aushandeln. Wir wissen, dass die NTLM-Authentifizierung wird hier verwendet werden, weil das erste Zeichen ist ein ""t." Wenn es ein "Y" ist, wäre es Kerberos. Der Header festgelegt auf "Aushandeln" anstelle von "NTLM". Dies bedeutet nicht, dass Kerberos oder NTLM verwendet, jedoch wird die Autorisierungsmethode "Aushandeln" und Kerberos zuerst versuchen, wenn es in der Lage ist. Wenn sie Kerberos verwenden kann, wird NTLM verwendet.

Abbildung 6 ist ein Screenshot des Frames oben angezeigt, so dass Sie sehen können, in dem die Authentifizierungsinformationen gesendet wird. Beachten Sie, dass die HTTP-Header im mittleren Frame erweitert wurden, so dass wir die Details der einzelnen Header sehen können.
Bild minimierenBild vergrößern
Abbildung 6: Der Rahmen, die Authentifizierungsinformationen enthält

Abbildung 6: Der Rahmen, die Authentifizierungsinformationen enthält

Dieser Rahmen sagt uns, dass der Client die meisten definitiv sendet Authentifizierungsinformationen. Der Benutzer zu diesem Zeitpunkt Zugriff verweigert wird, ist entweder weil der Benutzer nicht berechtigt, die Ressource oder weil die Authentifizierungsinformationen zu einem bestimmten Zeitpunkt über die Verbindung geändert wird.
Eine andere Möglichkeit zum Filtern
In vielen Fällen können Sie zur Problembehandlung eines Servers sein, das einen starken Datenverkehr verfügt. In diesen Fällen möglicherweise eine große Anzahl von HTTP-Frames angezeigt und es kann schwierig sein, die richtige zu finden. Weitere Filterausdrücke verwenden, erhalten Sie einfach rechts, um die richtige Frames.

Klicken Sie auf die Schaltfläche " Filter ", oder drücken Sie F8 auf der Tastatur, um das Dialogfeld Anzeigefilter anzuzeigen. Klicken Sie auf der rechten Seite auf Ausdruck um einen neuen Ausdruck hinzuzufügen. Es gibt zwei verschiedene Filter in diesem Szenario verwenden möchten: Filtern nach IP-Adresse und Filtern von HTTP-Statuscode.

Zum Filtern nach IP-Adresse klicken Sie auf die Registerkarte , und Blättern Sie im linken Bereich, bis Sie IPfinden Sie unter. IPerweitern und einen Bildlauf nach unten bis Quell-Adresseangezeigt. Wählen Sie == für die Beziehung, und geben Sie die IP-Adresse des Client-Computers, wie in Abbildung 7 dargestellt. Nachdem Sie das tun, sehen Sie nur, Frames, die von Ihnen eingegebene IP-Adresse.
Bild minimierenBild vergrößern
Abbildung 7: Die IP-Adresse filtern

Abbildung 7: Die IP-Adresse filtern

Es ist wichtig zu beachten, dass viele Male die IP-Adresse möglicherweise nicht die beste-Eigenschaft auf, um eine Ablaufverfolgung zu filtern. Oft werden Benutzern einen Web-Server über einen Router oder eine Firewall zugreift. In diesen Fällen werden die IP-Adresse die IP-Adresse des Routers oder der Firewall und nicht auf dem Client häufig.

Sie können auch nach HTTP-Statuscode filtern. Möchten Sie schnell den Rahmen, in dem ein 401 an den Client gesendet wird, können Sie auf den HTTP-Statuscode 401 filtern. Dazu wählen Sie in der Liste Protokoll: Eigenschaft HTTP, und erweitern Sie ihn. Scrollen Sie nach unten und dann auf Statuscode. Wählen Sie == für die Beziehung, klicken Sie auf das Decimal Optionsfeld (wichtig), geben Sie 401 Feld in den Wert , wie in Abbildung 8 dargestellt, und klicken Sie dann auf OK. Netzwerkmonitor zeigt nur die Rahmen, in dem Statuscode 401 gesendet wurde, wie in Abbildung 8 dargestellt.
Bild minimierenBild vergrößern
Abbildung 8: Filtern nach HTTP-Statuscode

Abbildung 8: Filtern nach HTTP-Statuscode
Nachdem Sie den Frame gefunden haben, in dem die 401 gesendet wurde, können Sie auf der Tastatur, um den Filter zu deaktivieren dann F7 drücken. Wird nach wie vor der Frame, in dem die 401 gesendet wurde, hervorgehoben, und Sie können das umliegende Frames für eine Reaktion des Clients auf die 401 überprüfen.

Fiddler – der HTTP-Proxy-Debuggen

Wenn Sie in Internet Explorer auf dem Clientcomputer, die Sie behandeln durchsuchen, können Fiddler (siehe Abbildung 9) anstelle von Netzwerkmonitor Sie die vom Client gesendeten HTTP-Informationen sammeln. Fiddler erfasst nur HTTP-Pakete und integriert sich direkt in Internet Explorer.
Bild minimierenBild vergrößern
Abbildung 9: Fiddler

Abbildung 9: Fiddler

In Abbildung 9 sehen Sie die 401-Antwort vom Server, und Sie sehen dann den Client antwortet mit einer Negotiate -Header (hervorgehoben). In diesem Fall tritt ein Laufzeitfehler auf, nach der Client-Authentifizierung sendet (die nicht im Zusammenhang mit diesem Problem ist), aber wir sehen, dass der Client seinen Teil wurde per Kerberos-Ticket.

Sie können Fiddler-Tool von der folgenden Website herunterladen:
http://www.fiddlertool.com. (http://www.fiddlertool.com)

Was kommt als Nächstes?

Verwenden Sie den Netzwerkmonitor oder Fiddler, können Sie häufig den Client als ein Problem bei den Authentifizierungsfehler ausschließen. Nächsten Monat werden wir die Verwendung von Filemon und Regmon von SysInternals verwenden gehen. Diese Tools sind besonders hilfreich bei der Problembehandlung von Berechtigungen im Dateisystem und in der Registrierung.
Da immer gerne und Wünsche zu Themen soll in Zukunft Spalten behandelt oder in der Knowledge Base mit der Danach Fragen (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) Formular.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Keywords: 
kbhowto kbasp kbmt KB891032 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 891032  (http://support.microsoft.com/kb/891032/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: