Socket: Auf allen Ports empfangen?
-
Hi,
ich habe in letzter Zeit etwas mit der Socket-API rumprobiert, ich möchte jetzt gerne ein Programm schreiben, dass sich nicht nur an einen bestimmten Port einer Netzwerkkarte bindet, sondern an alle?
Wie geht das? Muss ich dann für den ganzen Port-Range Sockets erzeugen und mich an die Ports 1 - 65535 binden? Geht doch sicherlich einfacherer, oder?
Kann mir wer sagen wie?
-
Dafür gibt es keinen einfacheren Weg, weil man so etwas einfach nicht macht. Warum willst du das machen?
-
ich will alle Kommunikation die z.b. über Netzwerkadresse/Adapter 192.168.1.23 kommt, in einen VPN-Tunnel schieben und verhindern, dass irgendwas davon weiter verarbeitet wird. ich müsste also wie ein "viruteller" router fungieren.
Demnach möchte ich, jeden Datenverkehr - über alle Ports, von diesem Netzinfterface annehmen und in meinen VPN-Tunnel stecken. Und wie ich das für alle Ports mache, da bin ich mir derzeit noch nicht so ganz im klaren drüber.
-
Nimm dafür lieber iptables.
-
Wieso willst du das implementieren dafür gibt es doch das loopback device damit kannst du dir doch so einen proxy konfigurieren
-
mosta schrieb:
Wieso willst du das implementieren dafür gibt es doch das loopback device damit kannst du dir doch so einen proxy konfigurieren
ich verwende hier eine VM, und möche sicherstellen, dass jedes IP-Paket das über die VM-Adapter kommt, in meinem VPN-Tunnel verschwindet. Mir geht es darum die Möglichkeit zu eliminieren, dass da irgendwas über einen der anderen Netzadapter versehentlich im Intranet/Internet landet.
das muss ich irgendwie garantieren, deswegen der Gedanke, ich hänge mich 'einfach' auf den Netzadapter und nehm jeden Traffic, egal welcher Port, an und schiebe alles was da raus kommt in den VPN-Tunnel.
-
Dafür nimmt man iptables. Mit denen kannst du jede Verbindung umleiten und der Vorteil ist, dass das deutlich schneller sein dürfte, als jede im Userspace gefrickelte Lösung.