Leider habt ihr mich nicht verstanden
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.