Sub Menu
Suche

Last Online
In order to view the online list you have to be registered and logged in.



We are a free and open
community, all are welcome.

Click here to Register

ServerAnalyzer

BeitragAuthor: Spike2 » Fr 4. Apr 2008, 23:49

Hier ein nicht zu Ende gedachter Anfang:

Code: Alles auswählen
 

// Spike2 - ServerAnalyzer - START
bool CServerConnect::IsPossibleFakeServer(const CServer* pServer) const
{
 // The criterions on which the analyzing procedure is based are taken from
 // [url=http://forum.emule-project.net/index.php?showtopic=100907&st=40&p=747659&#entry747659]http://forum.emule-project.net/index.php?showtopic=100907&st=40&p=747659&#entry747659[/url]

 // Servers with no name are highly suspicious...
 if (pServer->GetListName().IsEmpty())
 {
  return true;
 }

 // Servers  with no description aren't really trustworthier...
 if (pServer->GetDescription().IsEmpty())
 {
  return true;
 }

 //Let's check the files/user ratio. Normally the files divided through the users should give back
 //a value not higher than 300 (meaning the average number of files shared per user on this server).
 //A too low value is suspicious, too !
 INT ratio;
 
 ratio = (pServer->GetFiles() / pServer->GetUsers());

 if ((ratio < 50) || (ratio > 300))
 {
  return true;
 }


 //No or just few LowID-Users on server is a sign for servers giving fake-highIDs...
 if (pServer->GetLowIDUsers() < 500)
 {
  return true;
 }

 //Does the server accept files ?
 if ((pServer->GetHardFiles() == 0) || (pServer->GetSoftFiles() == 0))
 {
  return true;
 }

 //A state-of-the-art-server should support Large files...otherwise it's using an old version of
 //the server-software.
 if (!pServer->SupportsLargeFilesTCP() && !pServer->SupportsLargeFilesUDP())
 {
  return true;
 }

 return false;
}
// Spike2 - ServerAnalyzer - END


Obwohl das Ding mit Heuristik nix am Hut hat und sehr simpel gestrickt ist, hat das Teil in erster Tests doch wirklich recht zuverlässig Fake-Server als solche erkannt (und die "Guten" in Frieden gelassen)....

Jetzt die Frage: Wie implementieren ? Welche Folgen resultieren aus einem erkannten Fake-Server ? SharedFileList nicht senden und sofortiger Disconnect ? In der Liste markieren oder gleich entfernen ?

Also - können / wollen wir aus diesem Anfang etwas machen ?
Der Haushalts-Tipp der Woche: Hähnchen bleiben länger frisch, wenn man sie einfach am Leben lässt!
Benutzeravatar
Spike2
Stammgast
 
Beiträge: 992
Registriert: Mi 11. Apr 2007, 00:49
Wohnort: Am Busen der Natur :)

BeitragAuthor: Tuxman » Sa 5. Apr 2008, 01:32

Na ja... es geht ja vorrangig um mögliche Fakeserver (wer weiß das schon so genau)... eher niedrigste Priorität setzen als direkt entfernen.
Auch ganz nett wäre vllt. eine Möglichkeit, den Spamfilter damit zu verbinden... (für eine detaillierte Überlegung bin ich bereits zu müde.)

Nachtrag:
Das mit dem "zu niedrigen Wert" bei der ratio betrachte ich auch kritisch... ich komme bei mir selbst auch selten auf dreistellige Zahlen.
Ein intelligenter Mensch ist manchmal gezwungen, sich zu betrinken, um Zeit mit Narren zu verbringen.
(E. Hemingway)
Benutzeravatar
Tuxman
Forenlegende
 
Beiträge: 4184
Registriert: Sa 8. Jan 2005, 02:16

BeitragAuthor: dlarge500 » Sa 5. Apr 2008, 07:57

die Idee is schonmal gut aber dierekt löschen is heftig.Ich würde gestaffelt Prios setzen und bei einem sehr niedrigen Wert den Server löschen lassen.

Denn isser mal gelöscht dann is die server.met hin.
__________________
Sys1: Asus P5Q-E | Intel Q9650 | 4 GB RAM DDR800| 1x Super Talent 64GB SSD | 1x Samsung HD103UJ 1TB | ATI 4870 | Windows 7 64Bit
Sys2: Gigabyte MA790X-UD4P | AMD X2 550 | 2x Seagate ST31500341AS 1,5TB | 4 GB RAM DDR800 | nVidia 9400GT | Win Vista 32Bit
Sys3: PoV ION330 | 4GB RAM Corsair | nVidia 9400GT | WD WD10EADS 1TB | Windows 7 64Bit

dlarge500
Stammgast
 
Beiträge: 432
Registriert: Sa 10. Mär 2007, 15:49
Wohnort: Mulihausen

BeitragAuthor: WiZaRd » Sa 5. Apr 2008, 08:33

Ich vergebe "Trustratings" die ich im Server-Fenster anzeige (von 0-100%) - so kann der User immer noch entscheiden ob er connecten will oder nicht... vom entmündigen halte ich nichts.
Bild

... 9 von 10 Stimmen im meinem Kopf sagen ich bin nicht verrückt... - die 10te summt die Melodie von TETRIS
Benutzeravatar
WiZaRd
Forenlegende
 
Beiträge: 3805
Registriert: Fr 7. Jan 2005, 19:28
Wohnort: The Realm of Magic

BeitragAuthor: taz » So 6. Apr 2008, 09:22

Hier ein nicht zu Ende gedachter Anfang:

Code: Alles auswählen
 
...

 //A state-of-the-art-server should support Large files...otherwise it's using an old version of
 //the server-software.
 if (!pServer->SupportsLargeFilesTCP() && !pServer->SupportsLargeFilesUDP())
 {
  return true;
 }

 return false;
}
// Spike2 - ServerAnalyzer - END


Question : shouldn't it be ?
Code: Alles auswählen
if (!pServer->SupportsLargeFilesTCP() || !pServer->SupportsLargeFilesUDP())


- otherwise might support large files only for TCP (UDP support won't be checked ...)

Since this is last check I'd go (but that's codding style) and won't hurt readability :

Code: Alles auswählen
return (!pServer->SupportsLargeFilesTCP() || !pServer->SupportsLargeFilesUDP());


(assuming the check should be revised)
SharkX modder - less " free meals" only a CLICK away !
Requests for additional / changed features HERE Next version changelog
Benutzeravatar
taz
Stammgast
 
Beiträge: 438
Registriert: Do 29. Mär 2007, 07:30
Wohnort: Israel

BeitragAuthor: taz » Mi 9. Apr 2008, 19:34

I've added to SharkX :

questionable servers in red - thus I found it more useful as :

bool CServer::IsPossibleFakeServer() const
SharkX modder - less " free meals" only a CLICK away !
Requests for additional / changed features HERE Next version changelog
Benutzeravatar
taz
Stammgast
 
Beiträge: 438
Registriert: Do 29. Mär 2007, 07:30
Wohnort: Israel


Zurück zu Entwicklung

Wer ist online?

Mitglieder: Google [Bot], Majestic-12 [Bot]

cron