eBay legt DSL-Router lahm

02.09.2004 von ALBERT  LAUCHNER
Seit Monaten klagen DSL-User über Abstürze ihres Routers beim Zugriff auf zahlreiche Seiten im Auktionshaus eBay. tecCHANNEL ist dem Problem auf den Grund gegangen - und bietet eine einfache und elegante Lösung an.

For an English version please click here: eBay shuts down DSL routers

"Mein DSL-Router fliegt jetzt auf den Müll - in eBay verkaufen geht ja nicht mehr". Postings in diesem Tenor häufen sich in letzter Zeit in einschlägigen Online-Foren. Denn seit Anfang Mai treibt ein merkwürdiges Problem mit eBay zahlreiche DSL-User, die ihre Rechner über einen DSL-Router angeschlossen haben, weltweit an den Rand der Verzweiflung. Statt "Drei, zwei, eins, meins" bricht beim Zugriff auf viele Seiten des Internet-Auktionshauses die DSL-Verbindung zusammen.

Dann hilft nur noch ein Neustart des Routers. Besitzer von Kombimodellen mit integriertem DSL-Modem leiden darunter besonders, da sich der Aufbau einer neuen Verbindung mehrere Minuten hinzieht. Stöbern, Einkaufen oder Verkaufen in eBay bringt so statt Lust nur Frust. Wer zudem einen DSL-Vertrag mit einem Mindestumsatz pro Session hat, verliert dabei auch noch bares Geld.

In zahlreichen Forenbeiträgen auf eBay und Router-Seiten versuchen die User, das Problem zu ergründen. Tipps wie Cookies zu deaktivieren, die MTU zu verkleinern, Javascript abzuschalten oder auf ActiveX zu verzichten, scheinen vereinzelt zu helfen. Doch bislang gab es noch keine generelle Analyse des Problems und auch noch keinen echten Workaround.

tecCHANNEL ist dem Problem jetzt mit einem Netzwerk-Sniffer nachgegangen und hat die Ursache ermittelt. Zudem können wir leidgeplagten Usern eine elegante Lösung des Problems anbieten, die selbst Netzwerklaien dank der folgenden detaillierten Anleitung bewerkstelligen können.

Auch Markenhersteller betroffen

Erstmals traten die Probleme Anfang Mai 2004 auf. Beim Zugriff auf eBay-Angebote, die von professionellen Händlern stammen, stürzen DSL-Router verschiedenster Hersteller ab. Betroffen sind zum einen Geräte vom Typ AR-11, die Händler unter anderem als Mentor MR4, Aceex / Jetway BR41 und LinkPro Ar-411U anbieten. Aber auch Router von "Markenherstellern" wie der SMC Barricade 7004 VBR, NetGear RP614, Linksys WRT54GS und T-Sinus 130 tauchen als Problemkandidaten in den einschlägigen Forenbeiträgen auf.

Zunächst traten die Probleme nur sporadisch auf und verschwanden dann wieder für einige Tage. Inzwischen besteht das Problem jedoch permanent. Wer testen will, ob sein Router betroffen ist, kann den folgenden Link nutzen. Er verweist auf eine betroffene Auktion und dürfte noch bis Ende November 2004 erreichbar sein: Dieser eBay-Artikel bringt etliche DSL-Router zum Absturz.

Eine Analyse des Sourcecodes der betroffenen Webseite zeigt zunächst keine Besonderheit - sieht man davon ab, dass der Internet Explorer sich weigert, den Code anzuzeigen oder die Seite zu speichern. Zieht man sich die Seite jedoch mit Mozilla Firefox lokal auf die Platte, sieht man, dass zahlreiche Scripts dynamische Links erzeugen und Elemente nachladen. Eine statische Analyse des Offline-Inhalts ist dadurch so gut wie unmöglich. Zur Lösung des Problems ist es daher einfacher, den tatsächlichen Netzwerkverkehr beim Öffnen der Seite mit einem Sniffer mitzuschneiden.

Merkwürdiges Tracking-Pixel

Bei der Analyse des Live-Traffics der betroffenen Seiten stellt man fest, dass die problematischen Router bei der Namensauflösung eines Bildes auf einer Subdomain von esomniture.com abstürzen. Diese Domain gehört zu Omniture, einem der größten Anbieter von Online-Statistiken. Die Analytiker arbeiten für Kunden wie eBay, Walmart und AOL. Umfangreiche Statistiken über die Besucher der eBay-Angebote sollen professionellen Anbietern die Optimierung ihrer Shops ermöglichen.

Zur Sammlung der Statistikdaten setzt Omniture neben Cookies auch ein auf jeder Seite per Javascript eingebettetes, unsichtbares Bild der Größe 1x1 Pixel ein. Der Aufruf dieses Tracking-Pixels teilt dem Statistik-Server einen Zugriff auf den jeweiligen eBay-Artikel mit. Da eBay die Statistik derzeit nur für professionelle Shops anbietet, enthalten die eBay-Angebote von Privatpersonen kein derartiges Pixel. Da das Pixel der eigentliche Grund für die Router-Probleme ist, lässt ein Aufruf von echten Privatauktionen die Router kalt. Deshalb treten die Abstürze aus User-Sicht auch nur sporadisch auf.

An der Besucherstatistik für professionelle Shops ist zunächst nichts auszusetzen. Als problematisch für viele Router erweist sich jedoch die URL des Tracking-Pixels. Anstatt auf einen einzigen Server zuzugreifen und die Artikel-ID in einem Parameter zu übergeben, codiert Omniture die Artikel-ID und weitere Informationen mit in die URL ein. Pro Artikel simulieren die Webstatistiker einen eigenen Server und werten die DNS-Lookup-Anfragen dafür aus.

DNS Query of Death

Um dabei nicht in einen Kapazitätsengass zu geraten, fallen die URLs dieser Pixel jedoch sehr lang aus. Typisch hat die URL die Form "http:// e-n.y-1shz2prbmdj6wvny-1sez2pra2dj6wjkywkajcboq2dj6x9ny-1seq-2-2.stats.esomniture/", gefolgt von etlichen Unterverzeichnissen und dem Dateinamen des Tracking-Pixels.

Bei den betroffenen Routern führt die Auflösung des Domain-Namens jedoch zu Problemen. Wie im Bild des mitgeschnittenen Netzwerk-Traffics zu sehen ist, sendet der PC noch einen letzten Request an den DNS-Server des DSL-Providers zur Umwandlung des Namens in eine IP-Adresse. Passiert dieses Paket oder die Antwort darauf den Router, stürzt dieser ab. Die Seite wird im Browser nicht mehr vollständig angezeigt, und ein weiteres Surfen ist nicht mehr möglich. Je nach Modell vergehen dann etliche Minuten, bis der Router die DSL-Verbindung wieder aufgebaut hat und der User wieder auf das Internet zugreifen kann.

Fehler in der Router-Firmware

Der Router-Absturz tritt nicht nur beim Surfen auf. Auch ein nslookup zur Umwandlung des Domain-Namens in die entsprechende IP-Adresse zeigt denselben Effekt. Experimente ergeben, dass die Länge des zweiten Labels der Domain für die Probleme verantwortlich ist.

Die maximal mögliche Domain-Label-Länge lässt sich einfach mit nslookup überprüfen, da stats.esomniture.com unabhängig von den Daten im ersten Teil des Domain-Namens immer eine IP-Adresse zurückliefert. Entfernt man beispielsweise bei einem Mentor MR4 sukzessive Zeichen aus dem 60 Zeichen langen Label "y-1.....2-2" der Subdomain von esomniture.com, stürzt der Router bis zu einer Länge von 51 Zeichen sofort ab. Darunter gelingt ihm die Namensauflösung fehlerfrei, und er liefert die für den Download des Pixels nötige IP-Adresse zurück.

Das Scheitern der Namensauflösung des Statistik-Pixels erklärt viele der in den Foren erwähnten Probleme und die teils abstrusen Zusammenhänge. So hilft es beispielsweise oft, wenn man Javascript verbietet. Ist allerdings zu diesem Zeitpunkt schon ein Cookie gesetzt, dass die URL des Statistik-Servers enthält, stürzt der Router bei der Auswertung des Cookies durch den Browser ab. Möglich ist auch, dass eBay bei deaktiviertem Scripting das Pixel bereits Server-seitig einbaut und damit diesen Workaround wieder aushebelt.

Im Prinzip kann man eBay und Omniture jedoch keinen Vorwurf wegen des 60 Zeichen langen Domain-Labels machen. Die RFC 1035, die den Aufbau von Domain-Namen spezifiziert, lässt für die einzelnen Labels eine Länge von bis zu 63 Zeichen zu. Auch darf der gesamte Domain-Name 255 Zeichen lang sein. Allerdings scheinen zahlreiche Router darauf nicht vorbereitet zu sein. Nur eine gefixte Firmware kann dieses Problem final aus der Welt schaffen. Doch zumindest für die Webbrowser von Microsoft und Mozilla bietet sich ein einfacher Workaround an.

Keine Lösung: Hosts-Datei

Die gängigen Tipps wie "Alle Bilder abschalten und zugleich Cookies sowie Javascript deaktivieren" erweisen sich beim Surfen auf eBay als wenig erquicklich. Als Lösung bietet es sich jedoch an, den DNS-Lookup für esomniture.com einfach zu unterbinden. Zwar vermasselt man eBay so die Webstatistik, doch beim Surfen merkt der User davon nichts.

Zunächst mag man an einen einfachen Eintrag in der Hosts-Datei denken. Windows wertet diese Datei im Verzeichnis "Windows\\system32\\drivers\\etc" vor jedem DNS-Lookup aus. Findet sich dort der gesuchte Name, wird die darin angegebene IP-Adresse ohne externen DNS-Lookup verwendet. So lassen sich zum Beispiel ungeliebte Adserver ausblenden, indem man ihre Domain auf localhost umleitet. Mehr zu diesem Thema lesen Sie in unserem Beitrag Werbung ausblenden.

Allerdings funktioniert der Trick mit der Hosts-Datei bei eBay nicht. Die Hosts-Datei stammt noch aus der Steinzeit des Internets und ordnet einem Rechnernamen eine Adresse zu. Da sich der Name des gesuchten Rechners aber mit jedem eBay-Artikel ändert und die Hosts-Datei keine Wildcards a la "*.stats.esomniture.com" beherrscht, kommt man so nicht weiter. Aktuelle Browser bieten jedoch eine weitaus elegantere Methode, die Namensauflösung und Zugriffe auf komplette Subdomains zu unterbinden.

Lösung: Nicht existenter Proxy

Die Lösung besteht im Umleiten von bestimmten Domain-Bereichen auf einen Proxy-Server. In unserem Fall muss dieser nicht einmal vorhanden sein. Es genügt, alles, was mit stats.esomniture.com zu tun hat, einfach ins Leere laufen zu lassen.

Alle gängigen Browser bieten die Möglichkeit, den Proxy-Zugriff über ein Konfigurations-Script komfortabel zu steuern. Im Normalfall kann ein Netzwerkadministrator darüber festlegen, welche Domains der Browser über einen Proxy anspricht und auf welche er direkt zugreift. Die Script-Sprache der Konfigurationsdatei ist eng an Javascript angelehnt und erlaubt komplexe logische Bedingungen sowie viele Domain-typische Funktionen.

In unserem Fall gestaltet sich die "proxy.pac" benannte Script-Datei als recht einfach. Sie enthält nur die Funktion FindProxyForUrl. Liegt die gesuchte Domain in stats.esomniture.com, greift der Browser auf den Proxy am localhost und Port 3421 zu. Da im Normalfall dort kein Proxy zu finden ist, laufen alle entsprechenden Anfragen ins Leere. Der Zugriff auf alle anderen Websites bleibt davon unbeeinflusst. Der Browser führt sie direkt aus, der User merkt keinen Unterschied.

Konfiguration des Browsers

Zum Ausblenden von stats.esomniture.com legen Sie sich zunächst die entsprechende proxy.pac-Datei in einem beliebigen Verzeichnis an. Sie können dazu entweder die Datei mit einem Editor gemäß dem Bild auf der vorangegangenen Seite eingeben oder einfach hier herunterladen. Anschließend müssen Sie nur noch dem Browser den Pfad mitteilen. Beachten Sie, dass Sie den Pfad zur Datei in der Form "file://c:/verzeichnis/proxy.pac" angeben und "/" anstatt "\\" benutzen.

Beim Internet Explorer finden Sie den entsprechenden Eintrag im Menüpunkt "Extra / Internetoptionen / Verbindungen /Einstellungen". Wählen Sie dort "Automatisches Konfigurationsscript verwenden" und geben Sie den entsprechenden Pfad ein.

Bei Mozillas Browsern erreichen Sie den entsprechenden Konfigurationspunkt im Menü unter "Tools / Options / General / Connection Settings" beziehungsweise deren deutschen Pendants.

Nur Opera streikt

Das beschriebene Verfahren funktioniert mit dem Internet Explorer und den Mozilla-Browsern problemlos. Lediglich Opera zeigt sich etwas zickig. Er lässt sich zwar über den Menüpunkt "Extras / Einstellungen / Netzwerk / Proxyserver" ebenso einfach wie die Mitbewerber konfigurieren. Auch wertet er die Konfigurationsdatei korrekt aus.

Anschließend bringt er aber eine Fehlermeldung, da er den angegebenen Proxy nicht finden kann. Hier hilft nur, tatsächlich einen Proxy zu installieren. Speziell für den Fall, dass man nur einen einfachen Dummy-Proxy ohne Funktion benötigt, sei das Projekt Blackhole Proxy empfohlen. Auf dessen Installation wird im Folgenden aber nicht weiter eingegangen.

Fazit

Der Absturz zahlreicher Router durch das Surfen bei eBay ist nicht dem Auktionshaus anzulasten. Die Statistik-Server mögen merkwürdige und extrem lange Domain-Namen und Domain-Labels verwenden - regelkonform sind sie allemal. Warum Omniture allerdings DNS-Queries und Subdomain-Namen zur Übergabe von Statistikdaten missbraucht und diese Daten nicht per Parameter oder Dateiname überträgt, bleibt schleierhaft.

Auch zeigt sich, dass vor allem preiswerte DSL-Router betroffen sind. Deren Entwickler müssen mit jedem Byte im DNS-Cache sparen. Statt der geforderten 63 Byte pro Label bieten sie nur Platz für 50 - ein Buffer Overflow im DNS-Cache ist vorprogrammiert.

Der gezeigte Workaround schafft das Problem zumindest beim Surfen auf eBay aus dem Weg. Er lässt sich zudem leicht anpassen, wenn in Zukunft andere Websites ihre Statistik ebenfalls von Omniture erstellen lassen. Dennoch sollte man das Problem besser durch ein Firmware-Update im Router beheben. Doch hier schauen Besitzer preiswerter OEM-Router oft in die Röhre. Aber zum Glück eignet sich eBay nach unserem Workaround auch wieder zum Verkaufen von überflüssiger Hardware. "Drei, zwei eins, nicht mehr meins". (ala)