Ich hab jetzt ein paar Netzwerk Monitore, Packetsniffer etc. probiert, aber ich bekomm es einfach nicht hin, die Packete, die zwischen meinem Client und meinem Host transferiert werden irgendwie zu überwachen.
Ich verwende als Endpunkt net.tcp://localhost:53000/MeinService oder net.tcp://MeineMaschine:53000/MeinService
hab ich irgendwelche Möglichkeiten die Messages zu sehen UND die darin enthaltenen Daten? (die seh ich nämlich im Trace nicht, selbst wenn ich logEntireMessage etc. einstelle)
Hallo tkrasinger,
mit dem MessageLogging bei WCF kannst du auch einen gewissen Teil des Traffics (aber halt nur die Message) aufzeichnen.
Sonst gehts mit Wireshark, Network-Monitor, etc. Also allem was auf unterer Netzwerkebene mithorcht. Aber bedenke dass es die kodierten Nachrichten von WCF sind, also nicht unbedingt sofort lesbar und erkennbar ist was dort los ist.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Sorry, ich schaffs einfach nicht. Ich bekomm weder im NetworkMonitor noch im Wireshark irgendwelche Packete angezeigt, wenn ich Daten von meinem WCF-ServiceHost hole.
Und im normale Message-Loging seh ich absolut keine Nachrichten und ich hab extra eine "LargeData" Property in meinen DataContract eingefügt, in dem ich relativ lange Strings erzeuge.
Mach ich da irgendwelche Einstellungsfehler in den Programmen?
> RawCap
Fehlermeldung:
Unable to enter promiscuous mode (RCVALL_ON), using RCVALL_SOCKETLEVELONLY.
auch als Administrator?
auch auf verschiedenen Rechnern?
am XP Rechner mit einem User mit Admin-Rechten hab ich keine Chance, kommt immer der Fehler.
aufm Win7 Rechner mit Admin-User kann ich auf einer Ethernet Schnittstelle und dem Loopback Pseudo Interface sniffen. Allerdings kommt bei der Ethernet-Schnittstelle nur Sachen durch, die mich nicht interessieren und beim Loopback gar nichts.
Meinen Traffic seh ich also immer noch nicht ...
Wie sieht's mit einem minimalen Testprojekt aus?
[Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden
Also Wireshark konnte als ich es zum letzten Mal verwendet habe (vor ca. 2 Jahren) noch keine Daten über den Loopback 127.0.0.1 "mitsniffen". das stand aber auch damals irgendwo in der Doku.
Probiers doch einfach mal mit Client und Server auf unterschiedlichen Rechnern.
Es hilf auch nur den Port (53000 tcp ?) rauszufiltern über den die Sachen geschickt werden.
Das sis mit Wireshark recht einfach einzustellen.
Sonst gibts viel zuviel Müll, der einen gar nicht interesseiert.
am XP Rechner mit einem User mit Admin-Rechten hab ich keine Chance, kommt immer der Fehler.
Keine Idee dazu.
beim Loopback gar nichts.
Hab mal statt localhost die 127.0.0.1 oder die lokale IPv4 Adresse verwendet - da geht's bei mir. Es scheint, als würde rawcap nicht über IPv6 funktionieren.
Hab mal statt localhost die 127.0.0.1 oder die lokale IPv4 Adresse verwendet - da geht's bei mir. Es scheint, als würde rawcap nicht über IPv6 funktionieren.
Das hat bei mir nun etwas gebracht, jetzt seh ich wirklich nur mehr "meinen" traffic.
Wenn ich nun:
<security mode="None"/>
mit:
<security mode="Message">
<transport clientCredentialType="Windows"/>
<message clientCredentialType="Windows"/>
</security>
und
<security mode="Message">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"/>
<message clientCredentialType="Windows"/>
</security>
vergleiche,
stelle ich fest, dass ich im "none" output meine "Daten" (hab da jetzt noch einen String mit allen Buchstaben groß/klein und allen Zahlen eingebaut) lesen kann. D.h. ich sehe "ABC...abc..7890" im output dieses trace. Ok.
Zwischen den beiden anderen traces kann ich jedoch nicht viel Unterschied feststellen. Soweit ich verstanden habe müsste ich doch dem "EncryptAndSign" irgendwo auch ein Zertifikat angeben? Ignoriert die WCF das dann einfach wenn sie nichts findet?
Wie gut "verschlüsselt" ist der Transport wenn ich nur Variante 2 nehme?
Danke allen für die Unterstützung!