Seite 1 von 1

socket bind funktioniert nicht übers internet

Verfasst: Dienstag 9. März 2010, 22:00
von INFACT
Hallo,

Ich versuche gerade ein ( 2 ) client server programm zu schreiben. Dabei habe ich beim server das hier:

Code: Alles auswählen

import socket
s = socket.socket()
s.bind(("", 7471))
s.listen(1)
conn, addr = s.accept()
Das funktioniert zumindest im netzwerk.
Dann gucke ich bei http://www.canyouseeme.org/ ob der port offen ist, da kommt aber immer eine fehlermeldung. was muss ich denn bei s.bind eintragen, damit das funktioniert?

Verfasst: Dienstag 9. März 2010, 22:06
von EyDu
Dann frag mal deinen Router und deine Firewall nach deren Meinung.

Verfasst: Dienstag 9. März 2010, 22:09
von INFACT
Also meine Firewall habe ich ausgestellt.
Was soll ich den mit meinem router machen?

Verfasst: Mittwoch 10. März 2010, 00:24
von ms4py
INFACT hat geschrieben:Also meine Firewall habe ich ausgestellt.
Was soll ich den mit meinem router machen?
Portforwarding auf deinen Rechner...

Verfasst: Mittwoch 10. März 2010, 12:37
von INFACT
Geht das irgentwie, dass das programm das von alleine macht?
Ich meine Apache macht das auch selber oder?
Also eine funktion macheportforward . Ich habe das nochnie gemacht, deswegen weiß ich nicht genau wie das geht.

Geht das auch ohne, dass man das passort vom router kennt?
( ich kenne meins aber wenn ich das programm veröffentliche sieht das doof aus wenn das seht router passwort... )

Verfasst: Mittwoch 10. März 2010, 13:11
von ms4py
INFACT hat geschrieben:Geht das irgentwie, dass das programm das von alleine macht?
Ja, da gibt es einige Möglichkeiten (z.B. mit urllib das Webinterface des Routers steuern), allerdings sind diese routerspezifisch. Etwas Allgemeines existiert nicht.

INFACT hat geschrieben:Ich meine Apache macht das auch selber oder?
Nein. Vom Router muss man zuerst zum Apache gelangen, das kann Apache nicht konfigurieren.

INFACT hat geschrieben:Geht das auch ohne, dass man das passort vom router kennt?
( ich kenne meins aber wenn ich das programm veröffentliche sieht das doof aus wenn das seht router passwort... )
Nein, ist aber auch nicht relevant, weil es keine allgemeine Lösung gibt (s. oben).

Verfasst: Mittwoch 10. März 2010, 13:22
von INFACT
Das ist irgentwie doof.
Dann muss ich das irgentwie umdrehen. Aus dem Server einen Client machen und umgekehrt.

Verfasst: Mittwoch 10. März 2010, 14:46
von querdenker
INFACT hat geschrieben:Das ist irgentwie doof.
...
Nö, hat was mit Sicherheit und so zu tun.

Verfasst: Mittwoch 10. März 2010, 14:50
von Defnull
ice2k3 hat geschrieben:
INFACT hat geschrieben:Geht das irgentwie, dass das programm das von alleine macht?
Ja, da gibt es einige Möglichkeiten (z.B. mit urllib das Webinterface des Routers steuern), allerdings sind diese routerspezifisch. Etwas Allgemeines existiert nicht.
UPnP macht genau das. http://de.wikipedia.org/wiki/Universal_Plug_and_Play
brisa ist ein Python Framework für UPnP: http://brisa.garage.maemo.org/apidoc/index.html

Ich habe mit beiden noch nicht gearbeitet, kann daher nur mein Google-Fo bei steuern. Lesen musst du die API selbst.

Verfasst: Mittwoch 10. März 2010, 15:20
von ms4py
Defnull hat geschrieben:UPnP macht genau das. http://de.wikipedia.org/wiki/Universal_Plug_and_Play
brisa ist ein Python Framework für UPnP: http://brisa.garage.maemo.org/apidoc/index.html
UPnP ist *die* Sicherheitslücke um Bot-Netze aufzubauen, würde ich nie im Leben verwenden...
http://www.networkcomputing.de/netzwerk ... -4315.html