python bind socket.error: [Errno 13] Berechtigung verweigert

8

Ich habe ein Python-Skript, das Pakete von einer entfernten Maschine holt und sie schreibt (os.write (self.tun_fd.fileno), '' .join (packet))) zu einem tun-Interface gr3:

%Vor%

Ich möchte diese Pakete über ein separates Pong-Skript wie folgt erhalten:

%Vor%

Ich habe diesen Fehler:

%Vor%     
NELOUNI 02.06.2014, 18:40
quelle

1 Antwort

23

Sie können keine Bindung an Portnummern niedriger als 1024 als nicht privilegierter Benutzer vornehmen.

Sie sollten also entweder:

  • Verwenden Sie eine Portnummer größer als 1024 (empfohlen)
  • Oder führen Sie das Skript als privilegierter Benutzer aus

Härtere, aber sicherere Lösung, wenn Sie wirklich von 111 akzeptieren müssen:

  • Führe das as privileged auf einem höheren Port aus, und leite den Port 111 nach extern weiter.
utdemir 02.06.2014, 18:43
quelle

Tags und Links