Help - Search - Members - Calendar
Full Version: Clientid Filtern
Official eMule-Board > Deutsch > German General
diabolica
Hi there,

es gibt da diesen netten Benutzer, der ständig versucht meine shared-files einzusehen. Nun würde diesen Benutzer basierend auf der ClientID komplett filtern. Leider stellt sich das als nicht so einfach heraus, da ich hier keine IPFilter.dat verwenden kann (oder doch?).
Die verwendete ClientID ist 1363215606, was einer IP-Adresse von 246.4.65.81 entspricht. Jedem netzwerkkundigen Leser wird auffallen, das diese Adresse als "reserved" gekennzeichnet ist (ruhig mal ping ausprobieren). Nun kenne ich das edk-Protokoll nicht so besonders gut und könnte mir ja vorstellen, das hier reserved zu anderen Zwecken verwendet wird. Wenn dem nicht so ist hätte ich nichts dagegen IPs/ClientIDs aus dem Bereich Multicast+Reserved (224.0.0.0 bis 254.255.255.254) komplett zu filtern. Nur wie? Gibt es vielleicht einen Mod, der das kann?

cheers,
diabolica


mylordklaus
Hast Du mal F1 gedrückt und unter Features nachgeschaut?

Und Fragen Zu Mod´s würde ich bei den Mod´s stellen
diabolica
QUOTE (mylordklaus @ May 22 2004, 01:48 AM)
Hast Du mal F1 gedrückt und unter Features nachgeschaut?

Und Fragen Zu Mod´s würde ich bei den Mod´s stellen

Ich bin mit den Features von emule eigentlich ganz gut vertraut. Vielleicht kannst du ja mal einen Tipp geben wo ich suchen soll.
Nur um das nochmal ganz klar zu stellen: Ich suche NICHT nach einer Möglichkeit IPs zu filtern. Ich will ClientIDs filtern, da es sich bei der verwendeten ClientID vermutlich um eine "gefälschte" ClientID handelt. Diese ID sollte es eigentlich gar nicht geben, wenn die Annahme IP-Adresse->ClientId gilt [1].

cheers,
diabolica

[1] Berechnung ClientID:
IP-Addr. A.B.C.D -> ClientId=A+B*256^1+C*256^2+D*256^3
Stulle
Du möchtest nicht die ID filtern, du möchtets wohl eher den Hash filtern. Weil würdest du nur eine gewisse IP filtern, müßtest du bei jedem mal wenn dessen Verbindung die IP wechselt auch bei dir im Esel die zu filternde ID/IP ändern. Beständig ist da nur der User-Hash. Ob es da jedoch irgendeine Möglichkeit gibt die Hash im originalen Client zu sperren/ filtern oder ob es Mods mit so einem Feature gibt, ist mir gänzlich unbekannt.

MFG, Stulle
ShadowOTD
Wo liegt den das Problem? Das sperr doch einfach in der IPFilter.dat sämtliche Adressen zwischen 224.0.0.0 - 255.255.255.255 dann taucht auch diese ID nicht mehr auf.
Stulle
*löl* das is aber dann doch eine sehr radikale variante wink.gif

Stulle

PS: Is übrigens auch besonders ratsam wenn in dem Bereich sich dann die einzige Quelle für ne fast Leiche befindet...
diabolica
Leider habt ihr mich nicht verstanden huh.gif

Das Problem ist, das es sich bei diesem User (name: idfnfx) mit großer Sicherheit um einen Bot handelt, der darauf abgerichtet ist Informationen über Tauschbörsennutzer zu sammeln. Jeder geistig gesunde Mensch würde nachdem das Abfrage der sharedfiles fehlgeschlagen ist es nicht noch zehn mal versuchen.

Laut ClientId verwendet der Bot die IP 246.4.65.81. Dies kann in der Realität natürlich nicht sein, da eine solche IP als reserviert gekennzeichnet ist. Das bedeutet, diese IP kann nicht im offiziellen Internet verwendet werden. Kein Benutzer bekommt diese IP jemals zugewiesen und sie wird auch nicht geroutet. Dies führt zu folgendem Schluss:
Die ClientId aus der ich die IP berechnet habe muss gefälscht sein. Damit weicht die berechnete IP von der tatsächlichen IP des Bot in jedem Falle ab, womit es sich auch erübrigt diese IP in die IPFilter.dat aufzunehmen. Emule überprüft anscheinend nicht die IP von der die Nachricht kommt mit der ClientId, die in der Nachricht enthalten ist. Ansonsten sollte ein solches Phänomen nicht auftreten.

Zum userhash des Bots:
Wenn ich sowas entwickeln müßte, würde ich natürlich darauf achten, das sich der hash ständig ändert oder einen Wert hat den möglichst viele andere Benutzer auch haben, damit ich nicht eindeutig identifiziert werden kann.

So wie ich das sehe bleiben mir im Moment zwei Möglichkeiten:
- Compiler rauskramen um eine kleinen Patch zu schreiben, der Überprüft ob die IP von der die Nachricht kommt mit der in der Nachricht enthaltenen ClientId übereinstimmt.
- Firewall so einstellen, das jedes Paket gelogt wird und anhand dieser Informationen die richtige IP ermitteln. Hab hier im Moment nur so ne crappy Windows Firewall mit der das nicht so wirklich gut geht. Werde mir heute mal tcpdump für Windows installieren.

cheers,
diabolica

PS: Soweit ich weiß benutzt das edk-Protokoll keinen Multicast. Somit könnte man alles ab 224.0.0.0 problemlos sperren.
ShadowOTD
@Stulle
Was soll an der Methode radikal sein? Der Bereich schließt die Netzklasse D und E aus. Klasse E ist für Forschungszwecke reserviert und D für Multicast. Da beides im Internet nicht verwendet wird kann man diese ohne Problem ausschließen.

@diabolica
Sowas ist kaum realisierbar. Sogar ein paar leichte Modifikationen am originalen eMule Client würden ausreichen um die Leute auszuspionieren. Wie willst du solche "Spione" zuverlässig von normalen Clients unterscheiden?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.