So vermeiden Sie TCP/IP-Fingerprinting

So vermeiden Sie TCP/IP-Fingerprinting

Ich habe folgendes Setup:

 +-----------+   SSH Tunnels Over Socks5 Proxy    +--------------+
 |           |                                    |              |
 | Linux PC  +------------------------------------+ Proxy Server |
 |           |                                    |              |
 +-----------+                                    +--------------+
                                                          |
                                                          | SSH Tunnels
                                             +-------------------------+
                                             |                         |
                                             |                         |
                                       +-----------+             +-----------+
                                       |           |             |           |
                                       |   PI A    |             |   PI B    |
                                       |           |             |           |
                                       +-----------+             +-----------+
                                             |                          |
                                             |  WAN / Internet          |  WAN / Internet
                                             |                          |
                                             v                          v

Zunächst einmal: Ich versuche nicht, das OS-Fingerprinting zu umgehen, wie es besprochen wurdeHieroder in anderen Fragen auf SuperUser. Ich verwende Linux für die gesamte Kette/den gesamten Stapel und habe nichts dagegen, als solcher identifiziert zu werden.

Hintergrund: Aufgrund von Zensur greife ich in einem anderen Land auf das Internet zu. Ich habe zwei identische Raspberry PIs (Modell 3B+, geklonte SD-Karte, nur geänderte IP, um in ihren jeweiligen LANs zu funktionieren) an zwei verschiedenen Wohnorten (unterschiedliche ISPs). Ich verwende sie unabhängig voneinander und sie dienen als private Proxys für den Internetzugang.

Der Datenverkehr wird über SSH-Tunnel durch die PIs geleitet. Diese SSH-Tunnel werden selbst über einen verschlüsselten Socks5-Tunnel über einen Proxyserver getunnelt (für beide PIs derselbe), um sie vor den lokalen Zensurbehörden/IP-Blockaden zu verbergen.

Das funktioniert soweit.

Problem: Wenn ich Tests durchführe aufhttps://browserleaks.com/ipUndhttps://doileak.comIch erhalte unterschiedliche Ergebnisse für „PI A“ und „PI B“.

Für „PI A“ erhalte ich MTU 1500 und den Verbindungstyp „Ethernet oder Modem“, während ich für „PI B“ MTU 1440 und den Verbindungstyp „Allgemeiner Tunnel oder VPN“ erhalte.

Ich möchte, dass beide als Verbindungstyp „Ethernet oder Modem“ identifiziert werden, um die Tatsache zu verbergen, dass es sich um Proxys handelt. Nach meinen Recherchen scheinen diese Tests TCP/IP-Fingerprinting mit p0f zu verwenden.

Die Schnittstellen beider PIs sind auf MTU 1500 eingestellt, auch die iptables-Konfigurationen sind identisch. Sie haben die gleiche Hardware, die SD-Karte in „PI B“ ist im Grunde ein Klon von „PI A“. Beide PIs sind direkt über Ethernet mit ihren jeweiligen Routern verbunden. Außerdem ist die MTU für den Linux-PC und den Proxy-Server auf 1500 eingestellt (was aber, wenn ich mich nicht irre, keinen Unterschied machen sollte).

Was übersehe ich, wenn man bedenkt, dass die PIs identisch aufgebaut sind?

PS: der Titel ist wahrscheinlich nicht ideal, aber ich bin mir nicht sicher, wie ich das Problem in wenigen Worten beschreiben soll

Antwort1

Die in PI A und PI B konfigurierte MTU von 1500 ist die Standard-MTU für Ethernet-Pakete. Diese MTU istnurzwischen dem ersten Router (Ihrem Internet-Router) und dem PI.

Der Router, mit dem der PI verbunden ist (Router A), ist mit dem nächsten Router (Router B) verbunden. Dann ist Router B mit einem weiteren Router (Router C) verbunden. Und so weiter. Diese Route endet am Ziel (zum Beispiel dem Server von browserleaks.com). Diese Route hängt von Ihrem geografischen Standort ab und ist ein wenig zufällig. Außerdem ändert sie sich im Laufe der Zeit.

Die MTU zwischen Router A und Router B ist wahrscheinlich >= 1500, aber das ist nicht garantiert. Wenn sie kleiner als 1500 ist, werden Ihre Pakete aufgeteilt, wie Sie lesen könnenHierAuch browserleaks.com zeigt dann die kleinere MTU an.

Abschluss:

browserleaks.com zeigt die maximal unterstützte MTU anauf der gesamten Streckevom Client zum Server.

Es ist normal, dass Sie für PI A und PI B unterschiedliche MTUs erhalten, da diese wahrscheinlich unterschiedliche Routen nehmen.

Um zu überprüfen, ob sie unterschiedliche Routen verwenden, können Sie (auf Ihrem Linux-PC) Folgendes ausführen:

traceroute browserleaks.com

Dies listet alle Router zwischen Ihnen und dem Server (und auch den Server) auf. Führen Sie es einmal für jeden PI aus.

Beachten Sie auch, dass Pakete bei IPv6 nicht aufgeteilt werden können.

verwandte Informationen