Der Netflix IP-Check

von alex olma | 5. Dezember 2010 | 23:04 Uhr

Erfolgreiche US-Streaming-Angebote wie Hulu oder Netflix beweisen: Kunden sind bereit für leicht zugängliche und preislich fair positionierte Unterhaltung zu bezahlen. Zumindest dann, wenn man ihnen die Möglichkeit dazu gibt.

Über IP-Diskriminierung sperrt man derzeit alle Nicht-Amerikaner von den genannten TV- und Film-Angeboten aus. Und auch unter YouTube-Benutzern verbreitet der Hinweis “Dieses Video ist in deinem Land nicht verfügbar” regelmäßiges Kopfschütteln, Ärger und Unverständnis. Als ob man das globale Netz wie einen Kuchen in bestimmte Regionen aufteilen könnte. Absurd. Was kommt als nächstes? Staaten, die Alterskennzeichnungen für Webseiten und Sendezeiten einführen? So weltfremd kann doch niemand sein, oder?

iPhoneBlog.de_Netflix-1.jpg

Anlass genug, seinen Standort von Informations-Restriktionen zu trennen. Ein VPN-Service leistet diesbezüglich gute Dienste. Für datenhungriges Video-Material können solche $5-US-Dollar-Angebote allerdings manchmal nicht die benötigte Geschwindigkeit bieten. Michael Schmid*, bereits hier und hier mit einem Gastbeitrag vertreten, hat sich der Problematik, mit Netflix-Bezug, einmal angenommen.


~~~~

Manchmal ist eine VPN-Verbindung zu wankelmütig oder schwachbrüstig, wenn es um Video-Dienstleister wie beispielsweise Netflix geht. Während den letzten nächtlichen Bastelstunden habe ich probiert, meinem Apple TV auch ausserhalb von den USA ‘Netflix-tauglich’ zu machen und stolperte dabei auf einen interessanten Fund.

Um besser verstehen zu können, was bei einem Verbindungsaufbau zu einem Netflix-Stream genau passiert, habe ich die Pakete aufgezeichnet und analysiert. Nach einigen Versuchen mit den Routing-Tabellen meines VPN-Routers ist es mir gelungen nur die nötigen Pakete zu Netflix per VPN zu senden und den restlichen Traffic über die normale (schnelle) Internetverbindung zu leiten.

Wichtig sind drei Adressen: netflix.com (208.75.76.17), www.netflix.com (208.75.79.17) und agmoviecontrol.netflix.com (208.75.76.32). An diese Hosts schickt der Browser, das iPad oder der Apple TV einige Test-Pakete, damit Netflix die Geo-Herkunft ermitteln kann. Mit einer bestehenden VPN-Verbindung bleibt Netflix die ursprüngliche, geografische Anfrageregion verborgen. Lediglich die IP-Adresse des VPN-Servers ist bekannt. Wenn dieser aus einer ‘Netflix-tauglichen’ Region stammt, sendet Netflix dem Client die URL zum Stream, der sich darüber verbinden kann. Die darauf folgende Verbindung geschieht ohne Herkunfts-Überprüfung und kann somit über die (schnelle) normale Internet-Verbindung geschehen.

Wie sieht eine solche Beispiel-Konfiguration aus? Dem VPN Router wird erklärt, dass er nur die Pakete zu bestimmten Hosts durch den VPN Tunnel schickt. Leider geht das nicht, wenn man die VPN Verbindung direkt auf seinem iPad oder iPhone aufbaut, da man auf diesen Geräten die Routing-Tabellen nur schwer ändern kann. Wenn man allerdings die VPN Verbindung über einen Router oder seinen Mac laufen lässt, geht das ziemlich einfach mit ein paar Befehlen in der Konsole. Auf meinem Linux Router sah das so aus:

/sbin/route add -net 208.75.79.17 netmask 255.255.255.255 gw 10.12.0.105
/sbin/route add -net 208.75.76.17 netmask 255.255.255.255 gw 10.12.0.105
/sbin/route add -net 208.75.76.32 netmask 255.255.255.255 gw 10.12.0.105

(10.12.0.105 ist die IP des VPN Tunnels)

Da beim Aufbau des VPN-Tunnels standardmäßig zwei Einträge gesetzt werden, die den Router dazu bringen den gesamten Internetverkehr durch den VPN zu schicken, was in diesem Fall nicht erwünscht ist, müssen diese Routing-Einträge wieder entfernt werden:

/sbin/route del -net 0.0.0.0 netmask 128.0.0.0 gw 10.12.0.105
/sbin/route del -net 128.0.0.0 netmask 128.0.0.0 gw 10.12.0.105

Mit diesen fünf Befehlen leitet man nur die nötigen Pakete durch den VPN Tunnel. So erreiche ich bei einem Netflix-Stream zirka 1 Mbit/s an Geschwindigkeit, was ohne Probleme zum direkten anschauen auf allen Geräten ausreicht.


~~~~

In seinem Weblog x-foto.ch geht Michael auf die Konfiguration von Netflix auf einem Apple TV noch detaillierter ein. Neben dem theoretischen Technik-Experiment erfordert Netflix nach der vierzehntägigen Probezeit eine US-Kreditkarte sowie eine Postadresse. Teilweise werden auch internationale Kreditkarten ‘akzeptiert’, welche dies jedoch genau sind, ist mir unbekannt. Für meinen Testlauf der Netflix-Anwendung für das iPad hatte ich im April eine US-Karte im Einsatz.

*Michael twittert unter @Schnitzel und (foto-)bloggt auf http://x-foto.ch/. Vielen Dank für deinen Gastbeitrag an dieser Stelle!

  • thexm

    Gibt’s dafür auch eine Schritt-für-Schritt anleitung wie die Befehle für den Mac lauten? Habe leider null Hintergrundwissen zu Konsolenbefehlen auf OS X und würde mir das gerne mal anschauen…

  • http://www.facebook.com/excalibu Simon Lechner

    Gibt es so einen Trick auch für Hulu?

  • http://twitter.com/WorldBlogMan Pascal

    “Absurd. Was kommt als nächstes? Staaten, die Alterskennzeichnungen für Webseiten und Sendezeiten einführen? ”
    Die Alterskennzeichnung soll in Deutschland sogar ab 1 Januar 2011 eingeführt werden.

    • http://www.iphoneblog.de iphoneblog

      Nicht wahr :)

      Sorry für die Ironie! (siehe auch die Web-Verweise).

    • parabel

      Ich war mal per VPN auf der Webseite des US-TV-Senders CBS. Dort konnte man tatsächlich gewisse altersbeschränkte Video-Inhalte nur abends schauen!

  • Paul

    Wie bereits beschrieben ist das größte Problem da eher die Kreditkarte, ohne die man auch nicht in den Genuss der Probezeit kommt…

  • Marto

    Für die monatlich pauschal abgerechnete Videostreaming-Lösung auf iOS-Geräten und der PS3 gibt es möglicherweise bald ein Modell von lovefilm.de, was zumindest aus den Änderungen der AGB der Firma hervorgeht. Angeblich wird das Modell noch im Dezember vorgestellt…

  • nef

    Was gebau ist ein Linuxrouter? OpenWRT (etc.) modifizierte Standardrouter?
    Wie kommt man an eine US-amerikanische Kreditkarte als Deutscher in Deutschland?

  • Anonymous

    Schön und gut, aber sind Apple-User mit der Konfiguration nicht völlig überforder?

  • http://www.facebook.com/people/Dominik-Gubi/604854890 Dominik Gubi

    Wow! Das ist ja super! Ich habe mir schon überegt, Netflix zu kündigen, weil man ständig zum Buffern unterbrechen muss.Wenn du jetzt noch eine Anleitung für Mac-User schreiben könntest, bist du mein persönlicher Held! Idealerweise eine, die Last.fm und Hulu – Pakete auch über VPN routet ;)

  • Dan

    Bei läuf das auch mit einer ganz normalen Sparkassenkreditkarte. Man muss nur irgendeine ausgedacht Adresse angeben.

  • http://www.facebook.com/people/Bjorn-Baumgartner/1847678679 Björn Baumgärtner

    Also auf dem Mac benutze ich das Tool Hotspot Shield. Es versteckt die Ip-Adresse und ich kann ohne Probleme auf hulu.com und amerikanische Youtube Inhalte zugreifen. Ohne VPN.

    • Schmendrick

      Hotspot Shield = VPN

  • Anonymous

    Saubere Leistung!

  • Alex

    Weil hier ein paar leute nach Hulu gefragt haben, ich habe gerade folgendes gefunden: http://www.reddit.com/r/canada/comments/e216n/watch_hulu_in_canada_new_method/
    Viele leute berichten das es funktioniert, ich habe es leider noch nicht zum laufen gebracht. Aber ein Versuch ist es ja mal wert.
    Was man machen muss:
    Bei den IP Adressen “206.33.62.126″, “198.78.201.126″, “207.109.221.177″, “207.109.221.184″ den Port 80 für das Protokoll TCP für ausgehende Verbindungen sperren. und den Port 1935 für UDP und TCP für ausgehende Verbindungen sperren.

  • Micky

    Also mit meiner Visa Card (Amazon) geht es definitiv nicht, ebenso mit meiner Master Card (Postbank). (“Theres a problem with your card. Try another”) Bin angepisst.

  • http://twitter.com/Schnitzel Michael Schmid

    Also für die Leute die gerne eine Schritt für Schritt Anleitung hätten würde ich das ganze nicht empfehlen, es ist schon ein kleiner Einschnitt ins System.

    Aber wenn ihr einfach Netflix schauen wollt: Kauft/Mietet euch doch einfach einen VPN und dann könnt ihr schauen :)
    Das mit den spezifischen IP Adressen ist wirklich nur nötig wenn man es viel benutzen will.

  • gpk

    Schade, dass niemand helfen will. :( Mal sehen, ob ich es selbst hinbekomme.

  • Pingback: Der Netflix IP-Check | My Wikileaks

  • Pingback: Netflix, Hulu, Last.fm – weltweit alles sehen und hören – Dominik Gubi

  • Ivan

    Ip Adressen scheinen nicht mehr aktuell zu sein, zur Watch Instant Übersicht kommt man zwar aber beim Filmstart merkt er das man nicht aus den USA kommt.

    Hat jemand die aktuellen?

    • Fcandi

      Hallo, mir geht es genauso. Leider scheint es noch weitere IP-Adressen zu geben. Wäre ebenfalls dankbar für Tips :)

  • http://twitter.com/gman henning

    Netflix hat das Protokoll geändert: Die Abfragen gehen nun über HTTPS und laufen eine Kette von Servern ab. Ist diese Kette an einer Stelle unterbrochen, kommt es zum allseits beliebten Fehlermeldung mit dem Hinweis, dass man sich nicht in den USA aufhalte und dementsprechend draußen bleiben müsse.

    Ein halber Sonntag Zeit und lustiges Kaffeesatzlesen aus diversen Traffic-Mitschnitten bringen die Lösung: Fuji, Nato und PS3.

    Diese Namen beziehen sich auf die jeweiligen Netflix Content Protection (NCCP) Server, die je nach Gerät wie folgt lauten:

    nccp-fuji -> Apple TV2
    nccp-nato -> iPad
    nccp-ps3 -> PS3

    Zu finden sind die kleinen Racker einmal im Netflix Subnet 208.75.79.0 und auf der anderen Seite sprichwörtlich bei Amazon in der Wolke als WebService (z.B. nccp-nato.cloud.netflix.net).
    Da statische Routen und Hostnamen leider nicht so wirklich gute Freunde sind, macht es Sinn sich ein paar IPs aus den CDN Netzen herauszunehmen, sie statisch aufzulösen und anschließend einzeln durch den VPN Tunnel zu routen.

    Mit einem DD-WRT basierten Router ist der DNSmasq Eintrag ein guter Punkt, da die /etc/hosts den nächsten Neustart natürlich nicht überlebt.
    Siehe dazu: https://skitch.com/pscht/rp84u/dnsmasq

    Die folgenden Hosts sind dabei zu berücksichtigen:

    address=/mcdn.netflix.com/203.106.85.126
    address=/nccp-fuji.cloud.netflix.net/184.72.224.187
    address=/nccp-fuji.netflix.com/208.75.79.47
    address=/nccp-nato.cloud.netflix.net/184.73.255.90
    address=/nccp-nato.netflix.com/208.75.76.48
    address=/uiboot.netflix.com/184.73.224.255
    address=/iphone-api.netflix.com/184.73.153.199
    address=/netflix.hs.llnwd.net/95.140.224.193
    address=/ax.init.itunes.apple.com/92.123.68.153
    address=/secure.netflix.com/88.221.17.65
    address=/nccp-ps3.netflix.com/208.75.79.50
    address=/nccp-ps3.cloud.netflix.net/184.73.221.6
    address=/htmltvui-api.netflix.com/69.53.244.11

    Dann braucht es eigentlich nur noch einen Schwung Einträge in die Routing Tabelle, wenn der Tunnel hergestellt ist. Praktischer Weise schreibt man sich dafür ein Skript in den (nicht flüchtigen) NVRAM, das wiederum selbst ein Skript erstellt ;)

    Dazu verbindet man sich via Telnet oder SSH auf den Router und speichert mittels

    ——–schnipp——–
    nvram set rc_startup=”
    mkdir /tmp/etc/config/;
    echo ”
    #!/bin/sh
    ENDPOINT=\$(ifconfig ppp0 | grep -Eio ’172.16.[0-9]{1,3}.1′)

    ## NETFLIX ##
    route add -net 208.75.79.17 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 208.75.76.17 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 208.75.76.32 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 208.75.79.32 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 208.75.76.46 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 208.75.79.46 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 203.106.85.126 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 184.72.224.187 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 208.75.79.47 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 184.73.255.90 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 208.75.76.48 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 184.73.224.255 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 184.73.153.199 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 95.140.224.193 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 92.123.68.153 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 88.221.17.65 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 208.75.79.50 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 184.73.221.6 netmask 255.255.255.255 gw \$ENDPOINT;
    route add -net 69.53.244.11 netmask 255.255.255.255 gw \$ENDPOINT;

    ## PANDORA ##
    route add -net 208.85.40.0/22 gw \$ENDPOINT;” > /tmp/etc/config/vpnroutes;
    chmod 755 /tmp/etc/config/vpnroutes;

    nvram commit
    ——–schnapp——–

    ein Skript unter /tmp/etc/config mit dem Namen vpnroutes. Im obigen Beispiel lese ich den Endpunkt des Tunnels aus ifconfig ppp0 aus, da BlackVPN keinen statischen Gateway bereitstellt.

    Wenn die PPTP Verbindung dann aufgebaut ist, kann man einfach das Skript ausführen und alle Routen zu Netflix und Pandora Radio sind entsprechend gesetzt.

    Eigentlich spricht auch nichts dagegen das Ganze via /tmp/pptp_config/ip-up direkt nach dem Tunnelaufbau automatisch zu starten – aber das überlasse ich dem geneigten Leser als Hausaufgabe ;)

    HTH und viel Spaß!

    -Henning

    • http://www.iphoneblog.de iphoneblog

      Großartig. Vielen Dank.

    • Graf

      Vielen Dank!
      Und wie sieht es aus, wenn man via PC streamt? Wie finde ich hier die passenden Adressen?

      • http://twitter.com/gman henning

        Über den (PC) Browser ist es am Einfachsten. Da reicht eigentlich das Umleiten von agmoviecontrol und co. aus dem originalen Beitrag.

    • Florian

      Hi, erstmal vielen Dank für die Analysearbeit! Bin gerade dabei, das ein wenig nachzubauen – bisher aber noch nicht so erfolgreich… dd-wrt router mit VPN ist eingerichtet, wird der gesamte Traffic über das VPN geleitet funktionieren ATV2 und iPad prima. Ändere ich das Routing wie von dir oben beschrieben, funktioniert zwar noch Pandora, aber Netflix gibt mir immer die schönes “sie sind nicht in den USA” Meldung. Funktioniert das bei euch mit den o.g. Einstellungen? Gibt es da noch einen “Trick”?
      Besten Dank!

      • http://twitter.com/gman henning

        Wenn du noch Hilfe brauchst, twitter mich einfach mal an. @gman

    • CmdrCord

      Vielen Dank für die Analyse, das hat mir sehr geholfen :)
      Noch ein paar ergänzende Hinweise:
      - man kann einfach den gesamten Netflix IP Adressblock über das VPN routen: 208.75.76.0/22
      - dnsmasq Einträge (und natürlich die entsprechenden Routen) braucht man nur für die Cloud Services: agmoviecontrol.cloud.netflix.net, nccp-nato.cloud.netflix.net, nccp-fuji.cloud.netflix.net und nccp-ps3.cloud.netflix.net

    • SymanK

      Super Anleitung im Artikel und diesem Kommentar.
      Es hat mich zwar ein bisschen Mühe gekostet, weil ich mit dem DD-WRT gar nicht auskannte und den DNS-Eintrag im Router vergessen hatte, aber dann ging es.
      Zwei weitere Fallen, die mich fast aufgehalten haben:
      Damit DNSMasq funktioniert muss (soweit meine Erkenntnis jetzt reicht) der DHCP im DD-WRT aktiviert sein.
      Außerdem muss der Apple TV resettet werden, wenn er schon mal auf Deutsch/kein Netflix eingeschossen war. Zumindest hat das bei mir geholfen, vorher ging er nicht mal mit komplettem VPN-Tunnel. Danach sowohl mit komplettem VPN, als auch mit der teilweisen VPN-Route.

      Vielen Dank für die Tipps :-)

    • http://twitter.com/Mubsel Mathias Heidtfeld

      Hi!

      Vor den Protokolländerungen lief alles wunderbar. Nach den Änderungen, funktionierte es mit dem von Henning beschriebenen Vorgehen.
      Nachdem ich vor kurzem mein BlackVPN-Abo verlängert/erneuert habe funktioniert es aber nicht mehr zuverlässig.

      Ich mache das Routing mit einer Kombination aus /etc/hosts, iptables und openvpn.

      Nach einigem rumfrickeln, hab’ ich es gestern irgendwie zum laufen bekommen. Nach 3 Filmen bzw. Serien kam aber wieder die Location-Meldung.

      Gibt es neue Erkenntnisse?
      *soifz*

      Greetz
      Mathias

      • http://twitter.com/Mubsel Mathias Heidtfeld

        *hmm* Wenn ich die Konfiguration so umstelle, dass alle Verbindungen durch’s VPN gescheucht werden, funktioniert es. Damn!
        Ich meld’ mich wieder. :)

      • http://twitter.com/Mubsel Mathias Heidtfeld

        Es geht nun doch. Habe mir noch mal die aufgebauten Verbindungen und IPs angeschaut.
        Mein Fehler war, dass ich zwar einzelne IPs durch’s VPN geroutet habe, aber nicht alle Adressen entsprechend in die IPs umgewandelt werden. Aktuell habe ich jetzt die Konfiguration von CmdrCord laufen – sieht gut aus bisher.

        Beim Aufdröseln der ganzen IPs ist mir aufgefallen das Netflix für die Auslieferung ihrer Inhalte offenbar von Limelight zu Akamai gewechselt ist – evtl. haben damit auch die Änderungen am Protokoll zu tun. Ist aber nur eine Vermutung.

        Danke an alle. :-)

      • Jochen

        Hallo Mathias,

        geht es bei Dir immernoch? Ich habe leider wieder Probleme.

        VG
        Jochen

      • http://twitter.com/Mubsel Mathias Heidtfeld

        Hi Jochen,

        zwischenzeitig hatte ich auch wieder Probleme.
        Ich bin dann am Samstag von Bind & DHCP auf DNSmasq umgestiegen. Als ich dann die DNS-Queries geloggt habe, ist mir aufgefallen das dort die Anfrage an api.netflix.com nicht von den Tunnelungen berücksichtigt wird. Man kann aber Glück haben, das man eine bereits getunnelte IP aufgelöst bekommt.
        Bei mir habe ich für “api.netflix.com” jetzt “184.73.153.199″ eingegeben. Seither läuft es wieder wunderbar.
        Heute habe ich es aber noch nicht probiert – nicht das es schon wieder Änderungen gab.

        Gruß
        Mathias

      • Jochen

        Hi Mathias,

        super, vielen Dank! Das war’s. :)

        Viele Grüße
        Jochen

      • Jochen Huber

        Seit heute ist es bei mir wieder auf dem ATV 2 gesperrt, auf dem normalen Rechner läuft es problemlos.

        Irgendwer eine Idee?

      • http://twitter.com/Mubsel Mathias Heidtfeld

        Hi Jochen,

        offenbar haben sich einige (oder nur eine) IPs zu den Adressen geändert. Ich hab’ bei mir alle aktualisiert. Als es nicht ging lief in betreffenden Momente nur Anfragen zu api.netflix.com. Ich hab’ dafür nun die IP “174.129.255.36″ eingestellt. Evtl. tut es das für dich schon.

        Gruß
        Mathias

    • Philipp

      Ich gehe hier einen etwas einfacheren Weg, zweiter Router mit DD-WRT / Tomato. VPN Verbindung vom zweiten Router zu einem US VPS (die kosten auch nur rund 10 Dollar und stehen auf keiner Blacklist). Die XBOX hat als Default GW den zweiten Router eingetragen, dieser routed alles durch die USA bis auf ein paar Ausnahmen (Content Delivery Netzwerke von Netflix) somit hat man immer HD und spart Bandbreite. Ab und zu ändern sich die CDN IP-Bereiche dann funktioniert Netflix aber immer noch, nur nicht ganz so fix. Im zweiten Router trägt man dann wieder eine neue Route ein und schon ist alles wieder fix.

  • Ernst Quinox

    Ich habe meinen dd-wrt Router wie beschrieben eingerichtet. Aber selbst wenn ich den gesamten Traffic über das VPN route, kommt die allseits beliebte Fehlermeldung.

    Bei Zugriff über VPN auf meinem Mac (Overplay) funktioniert der Zugriff ohne Probleme.
    Gibt es vielleicht wieder einen neuen Check auf Netflix Seite?

  • Pingback: Apple TV unter iOS 4.3 mit Live-Sportübertragungen – iPhoneBlog.de

Werbung

Wer eine beliebige iPhone-App im iTunes App Store über diesen Link kauft, seinen Mac mit Programmen aus dem Mac App Store bestückt oder ein Produkt seiner Wahl bei Amazon bestellt, unterstützt das iPhoneBlog mit einem kleinen Prozentsatz des (unveränderten) Kaufpreises.

Mok adn lang hell tr

Werbeplatz gefällig? -> KLICK.

Flattr verteilt kleine Mikrozahlungen, mit denen Ihr persönlich diesem Blog kleine Aufmerksamkeiten zukommen lasst. Über diesen Button; jeden Monat neu. Vielen Dank dafür!