Du bist nicht angemeldet.

Dustin

Registrierter Benutzer

Beiträge: 181

Dabei seit: 13. November 2009

  • Private Nachricht senden

21

Donnerstag, 12. August 2010, 18:08

//Edit
habe die read KEy Funktion ausgelassen..

Ehm, in der Console steht nun das Paket was verworfen wird, bzw. das was bei der Variable "code" steht.

singu

Lib Dev

  • »singu« ist männlich

Beiträge: 5 853

Dabei seit: 6. Oktober 2008

Hilfreich-Bewertungen: 43

  • Private Nachricht senden

22

Donnerstag, 12. August 2010, 18:35

Kannst du deine Lösung posten?
FTPLib 2.1.0.0 - Einfacher Zugriff auf FTP-Server ** TextEffectsLib - Schöne Effekte für TextBox und Label ** ExtendedListView


Dustin

Registrierter Benutzer

Beiträge: 181

Dabei seit: 13. November 2009

  • Private Nachricht senden

23

Donnerstag, 12. August 2010, 18:58

Es gibt ekien Lösung xD
Das problem mit dem Filtern der Paket besteht weiterhin, nur ich hatte gerade vergessen "Console.ReadKey" zu schreiben, damit die Console sich nicht sofort schließt!

Andere Frage, ich benutze derzeit diesen Code:

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
' Packet 1
    	Dim packet As String
    	packet = "ee00ff00"
    	Dim t As Array
    	t = Split(packet)
    	server = New TcpListener(ipendpoint)
    	server.Start()

    	While True
        	client = server.AcceptTcpClient
        	If client.Connected Then

            	If t(0) = "ee00ff00" Then
                	Console.ForegroundColor = ConsoleColor.Red
                	Console.WriteLine("Das Packet" + " " + packet & " wurde verworfen!")
            	Else
                	Console.ForegroundColor = ConsoleColor.Gray
                	'CODE
                	Console.WriteLine("Das Packet" + " " + packet & " wurde angenommen!")
            	End If
        	End If
    	End While


Hier wird dann ein text in der console geschrieben, sobald sich ein Client zum Server verbindet!
Aber kann ich evtl. auch schreiben, dass sich ein Client nur 1x in 1 Minute verbinden darf??

Hoffe das mir da jemand helfen kann.

singu

Lib Dev

  • »singu« ist männlich

Beiträge: 5 853

Dabei seit: 6. Oktober 2008

Hilfreich-Bewertungen: 43

  • Private Nachricht senden

24

Donnerstag, 12. August 2010, 20:26

Du schreibst es in eine Log-datei und prüfst hat der Client sich schon verbunden
FTPLib 2.1.0.0 - Einfacher Zugriff auf FTP-Server ** TextEffectsLib - Schöne Effekte für TextBox und Label ** ExtendedListView


Dustin

Registrierter Benutzer

Beiträge: 181

Dabei seit: 13. November 2009

  • Private Nachricht senden

25

Sonntag, 15. August 2010, 22:27

Ok, habs nun :)
Aber wie lasse ich das Packet überprüfen und ggf. verwerfen? D:

singu

Lib Dev

  • »singu« ist männlich

Beiträge: 5 853

Dabei seit: 6. Oktober 2008

Hilfreich-Bewertungen: 43

  • Private Nachricht senden

26

Montag, 16. August 2010, 08:39

Mit was möchtest du das Paket überprüfen, was steht in dem Paket? Wenn du das Paket verwerfen möchtest, dann würde ich das ganze mit Nothing überschreiben.
FTPLib 2.1.0.0 - Einfacher Zugriff auf FTP-Server ** TextEffectsLib - Schöne Effekte für TextBox und Label ** ExtendedListView


Manawyrm

Elektroniker

  • »Manawyrm« ist männlich

Beiträge: 561

Dabei seit: 18. August 2009

Wohnort: Alfeld (Leine)

Hilfreich-Bewertungen: 119

  • Private Nachricht senden

27

Montag, 16. August 2010, 09:48

Er will nen Paketsniffer mit Vb.net bauen, und damit einzelne Pakete verwerfen.

Das kannst du vergessen! Das müsste per Treiber geschehen, und das ist nicht möglich.

Rynti

Registrierter Benutzer

  • »Rynti« ist männlich

Beiträge: 1

Dabei seit: 26. Oktober 2009

Wohnort: Wien/Österreich

  • Private Nachricht senden

28

Dienstag, 7. September 2010, 23:06

Falls es überhaupt noch einen interessiert:

1.) Ich denke mal nicht (berichtige mich, wenn ich falsch liege) das du genug Erfahrung für so ein Projekt besitzt.
2.) Die Lösung lässt sich auch ohne Treiber lösen.

Es gibt hier jedoch ein paar Faktoren zu beachten:
1.) Ist diese "Schnittstelle" (=Paketfilter) auf der Seite des Servers oder des Clients?
Wenn beim Server:
Basiert das Protokoll auf TCP oder UDP? Zweiteres lässt sich ohne Zuhilfenahme von externen Treibern nicht ohne weiteres bewerkstelligen, da man die IP des Clients zwingend simulieren müsste. Bei TCP ist dies nicht nötig, da ein fester Stream zwischen Schnittstelle und Server den Paketfilter immer erkennen lässt, an welchen Client das Paket geschickt werden soll.

Jetzt zum Teil, wie man das machen könnte (Für Leute, die genug Erfahrung hätten und es interessiert):
Im Normalfall sieht eine Verbindung quasi so aus:
Client <---> Server

Du möchtest jetzt jedoch "dazwischen", damit du quasi die Pakete auch filtern kannst.
Dann würde die Verbindung folgendermaßen aussehen:
Client <---> Paketfilter <---> Server
Jedoch weiß der Client nicht, dass das nicht der "richtige" Server ist, und der Server weiß nicht das es nicht der "richtige" Client ist.

Im Grunde hat der Paketfilter also zwei TCP-Verbindungen: Eine zum Server, und eine zum Client. Jeweils mit Input und Output. Alle Pakete, die VOM Client kommen, werden ZUM Server weitergeleitet, und alle Pakete die VOM Server kommen, werden ZUM Client weitergeleitet.

Soviel zur Theorie, in der Praxis lässt sich dies durch ganz einfache TcpClients und TcpListener, TcpListener braucht man im Grunde nur bei der Stelle, an der man auf das erste einkommende Paket wartet.

Ach, was ebenfalls noch wichtig ist: Der, der das "Begrüßungspaket", also das erste Paket, sendet, muss wissen das er nicht auf die IP/den Hostnamen des Servers, sondern zu den Daten des Paketfilters verbinden soll. In einigen Programmen gibt es eine eigene Option ala. "IP" oder ähnliches, in der die IP oder eben der Hostname enthalten ist, in manchen jedoch muss man sich die ausführbare Datei genauer mit einem HEX-Editor ansehen, und die IP händisch editieren (Das kann etwas dauern).


MfG,
Rynti!

Social Bookmarks