Ich möchte ein Tun mit einem Socket verbinden, so dass alle Daten, die in der Tun-Datei gespeichert sind, am Ende an einen Socket gesendet werden, der die Daten empfängt. Ich kämpfe mit dem konzeptionellen Verständnis auf höherer Ebene darüber, wie ich den Sockel und den Tun verbinden soll. Erhält der Tun einen dedizierten Socket, der dann mit einem anderen Socket (dem Receive-Socket) kommuniziert? Oder kommuniziert der Tun direkt mit dem Empfangsanschluss? Oder bin ich alle zusammen weg? Vielen Dank!Verbinden eines Tuns mit einem Socket
0
A
Antwort
0
Wenn ich Ihr Problem verstehe, sollten Sie in der Lage sein, eine Anwendung zu schreiben, die eine Verbindung zum tun-Gerät herstellt und auch einen anderen Netzwerk-Socket verwaltet. Sie benötigen eine Art Multiplexing wie epoll oder select. Wenn Sie jedoch Daten auf der tun-Schnittstelle sehen, können Sie die Daten grundsätzlich in einem Puffer empfangen und diesen Puffer (mit der korrekten Anzahl empfangener Oktetts) dem Sendeaufruf des anderen Sockets bereitstellen. Normalerweise verwenden Sie ein solches Setup, wenn Sie einen benutzerdefinierten Header oder etwas einfügen, um z. B. eine benutzerdefinierte VPN-Lösung zu implementieren.
Was ist eine 'Tun'-Datei? – larsks
Die Datei, die sich in/dev/net/tun befindet und in die geschrieben/gelesen wird – user3662531