PaketFilter in VB.net - zu langsam oder machbar?

01/11/2011 13:36 Leange#1
Moin

VB.net is langsam, dass ist ja kein Geheimnis, allerdings hat das für mich noch
nie ein Problem dargestellt.

Kann jemand abschätzen wie sehr sich das ganze bei nem serverseitigem Paketfilter
bemerkbar machen würde? (durchschnittlicher Programmierstil)
Immerhin müssten sämtliche Pakete erst durch den Filter, dass sich das
nicht positiv auf die Latenz auswirkt ist klar.

MfG Leange

p.s. Bitte keine Diskussion anfangen welche Programmiersprachen besser
geeignet sind, darum gehts hier nicht!
(Wer asm lernen will kann das tun, ich machs nicht :P )
01/11/2011 13:48 Sedrika#2
Quote:
Originally Posted by poller View Post
Moin

VB.net is langsam, dass ist ja kein Geheimnis, allerdings hat das für mich noch
nie ein Problem dargestellt.

Kann jemand abschätzen wie sehr sich das ganze bei nem serverseitigem Paketfilter
bemerkbar machen würde? (durchschnittlicher Programmierstil)
Immerhin müssten sämtliche Pakete erst durch den Filter, dass sich das
nicht positiv auf die Latenz auswirkt ist klar.

MfG Leange

p.s. Bitte keine Diskussion anfangen welche Programmiersprachen besser
geeignet sind, darum gehts hier nicht!
(Wer asm lernen will kann das tun, ich machs nicht :P )
VB.NET ist nicht langsam, ich programiere damit schon seit mehr als 2 jahren fast und ich kann sagen, wenn man keinen müll schreibt, sind die sachen schnell.

So, dann einen Packetfilter zu machen, musst du pakete verstehen und nicht dann direkt verwerfen. Und wenn du vorhast, es mit Winsock zu machen, kannse es dirket lassen.

Naja, das wollt ich mal gesagt haben.
01/11/2011 14:59 Fullscreen#3
Ich würde dir C++ empfehlen. Ist schnell, aber schwierig zu lernen. Ein PE ist als Ziel sowieso erstmal zu hoch gesteckt. Fang erstmal langsam an.

Aber: Es ist möglich, einen PE in VB zu coden. Der von yannikmama war auch in VB(siehe Source Code!).


Das zu PE,zu Filter:

Possible xD
01/11/2011 15:07 Achileus#4
Das ist aber was anderes ein Hack zu erstellen Anti hack muss schon schnell reagieren das es auch Blocken kann und ein Anti hack ist viel schwerer als ein Hack zu bauen
01/11/2011 15:08 Belur#5
Quote:
Originally Posted by poller View Post
p.s. Bitte keine Diskussion anfangen welche Programmiersprachen besser
geeignet sind, darum gehts hier nicht!
Quote:
Originally Posted by Fullscreen View Post
Ich würde dir C++ empfehlen. Ist schnell, aber schwierig zu lernen.
:awesome:
01/11/2011 15:17 Leange#6
Quote:
VB.NET ist nicht langsam, ich programiere damit schon seit mehr als 2 jahren fast und ich kann sagen, wenn man keinen müll schreibt, sind die sachen schnell.
Ok "ist langsam" war vlt etwas unglücklich formuliert, aber .net Sprachen sind langsamer als andere, z.b. C++ die binarys erzeugen, wegen der Laufzeitumgebung. Klar kann man durch Codeoptimierung einiges rausholen.
Der Wiki Artikel dazu ist auch recht aufschlussreich.

Betrachten wir die Frage einfach als geklärt, es sollte machbar sein.

Quote:
So, dann einen Packetfilter zu machen, musst du pakete verstehen und nicht dann direkt verwerfen
Klar kann ich sie direkt verwerfen nur wird dann die Funktionalität des Spiels etwas eingeschränkt! xD (Spaß)
Naja bekannte Pakete entsprechend zu Analysieren und zu droppen wenn sie "böse Werte" enthalten wird dann weniger das Problem sein.

Quote:
Und wenn du vorhast, es mit Winsock zu machen, kannse es dirket lassen.
Weil? Was fehlt?
Alternative?

Danke für deine Antwort
MfG Leange

P.S.1 Wieso nehmt ihr automatisch an dass ich seit gestern programmiere und heute morgen aufgestanden bin und mir gedacht hab "hey warum nicht mal nen paketfilter schreiben?" ^^

P.S.2 @Fullscreen PF nicht PE + Antwort von Belur

P.S.3 @Achileus Joa immer nur kaputt machen ist einfacher als Zeit zu investieren um ma was Gutes zu tun. Leider.

Edit: noch zu Achileus
Quote:
muss schon schnell reagieren das es auch Blocken kann
PF sitzt zwischen Client und Server, ich kann mir theoretisch alle Zeit der Welt lassen mit dem Prüfen und Blocken -> bedeutet nur riesen Latenz von Client zu Server.
01/11/2011 20:41 Achileus#7
Quote:
P.S.3 @Achileus Joa immer nur kaputt machen ist einfacher als Zeit zu investieren um ma was Gutes zu tun. Leider.

Hmm,Kommt drauf an wie der Source ist leider haben die Galanet oder Lab Files viele Bugs und dann ist zu hacken einfacher.Es gibt auch Files da ist das Hacken schwerer als zu Fixxen!
01/11/2011 21:12 Sedrika#8
Winsock kannst du aus dem grund vergessen, da es nur für eine verbindung gemacht wurde. Klar kann man mehrere connections auch verwalten, doch dies ist nicht sonderlich im nutzen. Wenn du dich mit Sockets auskennst, mach es damit.
01/11/2011 22:42 Leange#9
Okay jetzt bin ich ziemlich verwirrt.

Mal ganz stark vereinfacht.

imports system.net.sockets
dim client as new socket(...)
...

->Ich hab nen Socket erstellt, arbeite also mit Sockets.

[Only registered and activated users can see links. Click Here To Register...] Namespace stellt eine verwaltete Implementierung der Windows Sockets-Schnittstelle (Winsock) für Entwickler bereit.

Ne andere Schnittstelle zu nutzen, hätte doch eigentlich nur Nachteile oder?

Andere Frage, hast du Erfahrung mit Multithreading? Das wäre wohl die geschickteste Variante mehrere Clients zu verwalten, aber ich hab damit noch nie gearbeitet.

MfG Leange

P.S. Tut mir Leid das wir hier mitlerweile total vom Thema weg sind, kann man evt den Threadtitel anpassen? Sowas wie "VB.net PaketFilter (Theorie)".
01/11/2011 22:54 Sedrika#10
Ich hab selber noch nie mit sockets gearbeitet, doch für projekte, die ich bald vorhabe, werd ich mich damit auseinander setzen ^^

Von mir kannst du leider nur das höhren, was ich selber weis.
01/12/2011 15:31 .Crasy#11
Möglich, ja aber ich denke mehr das dafür vB nicht Stabil genug ist, klar bassiert es auf C++ nur einfacher, aber trotzdem denke ich das bei zu vielen Packeten etc es Crashen könnte / wird und ja das is nicht gut.

Und zu Langsam würd ich nun nicht sagen, nur überfordert und KANN langsam werden bei mehr User, rechnen wir mal mit 100 User, gleichzeitig Online und machen iwas in Arena oder so, denkst du der PF würde das standhalten mit 1000 Packeten in 30Sekunden?
01/12/2011 15:47 Sedrika#12
Quote:
Originally Posted by .Crasy View Post
Möglich, ja aber ich denke mehr das dafür vB nicht Stabil genug ist, klar bassiert es auf C++ nur einfacher, aber trotzdem denke ich das bei zu vielen Packeten etc es Crashen könnte / wird und ja das is nicht gut.

Und zu Langsam würd ich nun nicht sagen, nur überfordert und KANN langsam werden bei mehr User, rechnen wir mal mit 100 User, gleichzeitig Online und machen iwas in Arena oder so, denkst du der PF würde das standhalten mit 1000 Packeten in 30Sekunden?
Für berechnungen kann vb sehr gut benutzt werden ^^ und da wär kein problem damit.
Ich hab gestern abend noch 2 tools kleine gemacht einen server und einen clienten. Der Client simuliert 70 clienten ca und sendet 70 mal in der selben zeit daten an den server, dieser kam damit zurecht.

Und es waren ca 10 threads ka genau.
01/12/2011 15:50 Fullscreen#13
Quote:
Originally Posted by Sedrika View Post
Für berechnungen kann vb sehr gut benutzt werden ^^ und da wär kein problem damit.
Ich hab gestern abend noch 2 tools kleine gemacht einen server und einen clienten. Der Client simuliert 70 clienten ca und sendet 70 mal in der selben zeit daten an den server, dieser kam damit zurecht.

Und es waren ca 10 threads ka genau.
Du kannst aber nicht bestreiten, dass C++ besser geeignet ist, oder?(Flame me!)
01/12/2011 15:52 Sedrika#14
Quote:
Originally Posted by Fullscreen View Post
Du kannst aber nicht bestreiten, dass C++ besser geeignet ist, oder?(Flame me!)
Jede sprache hat vor- und nachteile, wenn du dir das selber auch eingestehst, dann isses mir egal in welcher sprache.
01/12/2011 16:01 Achileus#15
Nobody ist Perfect ;)

#topic

Glaub hat sich erledigt