paar Fragen zu den Sockets
-
tach,
ich habe 2 Fragen zu Sockets:
1. Was sind RAW Sockets genau und wozu sind die da und was kann man mit ihnen so alles machen.
2. Wie kann ich das Verbinden zum Server nur von Localhost erlauben?
3. Wozu bind() verwenden?MfG BehindTheScenes
-
BehindTheScenes schrieb:
1. Was sind RAW Sockets genau und wozu sind die da und was kann man mit ihnen so alles machen.
damit haste zugriff auf die ip/tcp/udp headers, kannst sie auslesen, verändern, eigene protokolle basteln usw...
BehindTheScenes schrieb:
2. Wie kann ich das Verbinden zum Server nur von Localhost erlauben?
netzwerkkabel abziehen
nee, weiss ich nicht, geht wohl mit irgendwelchen firewall einstellungen (ich glaub das heisst 'iptables' unter linux)
-
1. Was der Name schon sagt. Der Kernel generiert nicht die IP- und TCP-Header für dich, das kannst du alles selbst machen.
2. das macht man wohl eher extern für die Anwendung über iptables. Ansonsten musst du eben die IP der ankommenden Verbindungen prüfen und Verbindungen abweisen, die du nicht zulassen willst.
-
ok, habe neue frage hinzugefügt^^
also muss ich nach listen() prüfen ob die ips gleich sind?
-
BehindTheScenes schrieb:
2. Wie kann ich das Verbinden zum Server nur von Localhost erlauben?
Ersetze in der sockaddr_in-Variable, die du an bind() übergibst, INADD_ANY durch INADDR_LOOPBACK.