N'Abend - hätte da mal eine kleine Frage. Ist es möglich, eine virtuelle Netzwerkkarte zu programmieren (Sprache lasse ich mal außen vor) und wenn ja, wo finde ich Infos darüber? Ich würde mir gerne einen virtuellen Netzwerkadapter basteln, der alles, was der Computer nach "draußen" sendet abfängt und verarbeitet. Momentan ist das nur eine reine Interesse-Frage ala "nice to know"; es soll keine Pseudo-Firewall oder ein Virenscanner werden
Ich hab schon etwas gegooglet und bin ein paar mal auf den LoopBack-Adapter gestoßen. Der steuert IMHO aber nur die interne (localhost) TCP/IP-Kommunikation und kann zum Abfangen der Daten nicht verwendet werden. Oder denke ich momentan zu kompliziert (ist ja schon spät) und es gibt einen einfacheren Weg, ausgehende Verbindungen abzufangen und zu verarbeiten?
Gruß, Daniel | In der Realität ist die Wirklichkeit ganz anders...
Hätte da noch eine Frage zu WinPcap: Ist es möglich, Pakete abzufangen und umzuleiten? Sprich das Paket sollte ursprünglich an Computer A gehen, soll nun aber an Computer B gesendet werden und das gleiche Spiel zurück. Dazu habe ich in der Doku nach kurzem Leses nämlich nichts gefunden. Ein- und -ausgehende Daten lassen sich filtern, manipulieren auch? Sind das nicht Raw-Socket-Funktionen, die es seit Windows XP SP2 aus sicherheitsgründen nicht mehr gibt? Sowas bräuchte ich nämlich ... hoffentlich liest Herr Schäubles Bundestrojander nicht mit
[edit]
WinPcap receives and sends the packets independently from the host protocols, like TCP-IP. This means that it isn't able to block, filter or manipulate the traffic generated by other programs on the same machine: it simply "sniffs" the packets that transit on the wire. Therefore, it does not provide the appropriate support for applications like traffic shapers, QoS schedulers and personal firewalls.
Hab mir die Frage mal selbst beantwortet. Gibt's dafür keine Lösung?
Gruß, Daniel | In der Realität ist die Wirklichkeit ganz anders...
Also VirtualBox ist ja ein Open Source Emulator um andere Systeme auf seinen System zu Emulieren. Evtl findest du ja dort im Source Code die lösung auf deine Antwort
Windows 8.1 x64 | PureBasic v5.x x86/x64
Sämtliche Syntax, Tipp und Rechtschreibfehler unterliegen dem Copyright des Verfassers.
Also ich hab mir den Code mal angeschaut, aber IMHO machen dessen Netzwerk-Funktionen das gleiche wie WinPcap. Ich glaub WinPcap wird da sogar irgendwo inkludiert, zumindest gibt es ein paar Kommentare, die darauf hinweisen.
Ich habe mich mit "virtueller Netzwerkkarte" glaube ich falsch ausgedrückt bzw. wusste ich, als ich den Thread aufmachte, nicht genau, wie man diese Traffic-Umleitung realisieren soll als über einen eigenen Netzwerk-Adapter, was aber IMHO totaler Schwachsinn ist. Deswegen erklär ich mal, was mein Problem ist oder meine Überlegung:
Ich habe in einem Netzwerk 3 Rechner (A, B, C). Nun möchte der Rechner A Daten an Rechner B schicken. Diese Daten sollen aber direkt auf Rechner A abgefangen und an Rechner C gesendet werden, der sie verarbeitet und dann an Rechner B schickt. Die Antwort geht von Rechner C an B und von dem zurück nach A. Eigentlich ähnlich, wie bei einer Tunnel-Software.
Die Frage ist halt, wie ich das Abfangen der Daten bewerkstellige. Denn WinPcap kann die Daten nur "sniffen", nicht aber Manipulieren und damit umleiten. Dieses Umleiten lässt sich IMHO mit Raw Sockets realiseren. Das wurde aber in Windows XP ab SP2 aus Sicherheitsgründen eingeschränkt, da man (vor allem Viren, Trojaner & Co.) damit Unfug treiben kann. Was ich jetzt noch über Google gefunden habe, wäre ein Hook zu programmieren, der sich, ich hoffe ich sage jetzt nichts falsches, vor oder in den NDIS-Treiber von Windows reinschiebt. Der verarbeitet den ein- und ausgehenden Netzwerkverkehr und sitzt direkt vor dem MAC-Treiber, der die Netzwerkkarte ansteuert. Aber ich finde kaum Informationen, wie man sowas anstellt. Ich weiß nicht mal, ob ich vielleicht zu kompliziert denke und es einen einfacheren Weg gibt...
Gruß, Daniel | In der Realität ist die Wirklichkeit ganz anders...
Ich möchte nicht den Datenverkehr zwischen 2 Computern abhören bzw. manipulieren, sondern die Daten bereits auf Computer A, kurz bevor sie den Rechner verlassen, umleiten auf Computer C, der sie dann an B schickt, wo sie eigentlich hin sollten. Tust du verstehn tun was ich meinen tu?
Normal:
Computer A ===== Computer B
Manipuliert:
Computer A ----- Computer B
= =
= =
= =
= =
= =
=== Computer C ===
Zwischen Computer A und B steht kein Rechner, der die Daten abfängt. Das soll schon softwareseitig auf Computer A geschehen, der die Daten, anstatt nach B, zunächst zu C und der dann zu B sendet. C fängt die Daten nicht ab, sondern tut sie lediglich weiterleiten...
Gruß, Daniel | In der Realität ist die Wirklichkeit ganz anders...
Und wozu soll das dann gut sein, dann schick diese doch gleich an B ???
Wenn Du die Daten zwischendurch durch C weder manipulierst, noch abfängst, wozu dann überhaupt C...