Entwickler-Ecke

Internet / Netzwerk - mit Programm Routerports freigeben/sperren


MSC - Fr 16.02.07 22:45
Titel: mit Programm Routerports freigeben/sperren
Hallo

Ich wollte mal fragen, ob es mit Delphi "relativ" einfach geht, mit einem Programm die Ports an seinem Router freizugeben oder auch wieder zu sperren.

Ich erlebe es bei manchen Online Games oft, das es viele nicht gebacken kriegen die benötigten Ports für ein Game freizugeben (z.B. Earth 2150 benötigt UDP 2300-2400 und 47624)

Darum habe ich vor ein Programm zu schreiben, womit man die Ports von den gängigen Programmen und Games auswählen und diese freigeben / sperren kann.

(Habe die Suchfunktion genutzt und nichts gefunden was mir das beatwortet.)


BenBE - Fr 16.02.07 23:34

Schau Dir für diesen Zweck einmal UPnP an ... Das könnte Dir da weiterhelfen.


Dunkel - Fr 16.02.07 23:40

Hmmm... AFAIK no chance.

Router arbeiten Herstellerspezifisch, die internen Settings via Standard-Befehlen zu setzen ist IMHO nicht ohne weiteres möglich.

Aber da gibt es ja noch den (meistens via HTTP erreichbaren) Konfigurationsdialog des Routers... vielleicht kann man da mit ein wenig Bastelei was machen?!?


MSC - Fr 16.02.07 23:59
Titel: Re: mit Programm Routerports freigeben/sperren
Das mit dem HTTP ist doch wenn man die IP der Standardgateway im Bowser als Adresse eingibt...

Wenn das so ist dann ist da das eigentliche Problem. Denn Jeder Router hat einen extrem unterschiedlichen Menüaufbau und das macht das ganze recht kompliziert.

Wenn man als Beispiel ne Fritzbox und ein Speedport nimmt, dann ist das eine Menü mit dem anderen überhaupt nicht vergleichbar...
Es ist völlig unterschiedlich aufgebaut, und die Bezeichnungen ähneln sich nur selten, obwohl beide eine deutsche Menüführung haben.

Ich dachte nur, das es möglich wäre mithilfe von besonderen Steuersignalen an den Router und diesen zu veranlassen die Ports zu öffnen / sperren...

Allerdings müsste es doch möglich sein, eine art Bowser zu erstellen, der beim Start die Standardgateway ausließt, und dann die Seite anzeigt und dann als Text, oder mit Bildern ein Tutorial zur Portfreigabe des jewaligen Typs anzeigt...

Kann man denn irgendwie abfragen, welcher Router das ist, also den Typ, Bezeichnung ect.?


BenBE - Sa 17.02.07 00:03

Darf ich mich wiederholen und erneut dich auf Suche in Wikipedia UPNP verweisen ... Ist zwar nicht das schönste Protokoll, aber damit kann man (sofernder Router dies erlaubt) beliebig Ports freigeben und Blockieren ...


jaenicke - Sa 17.02.07 00:15

Was UPnP angeht:
http://www.delphipraxis.net/topic91837_router+manager.html&highlight=router+manager
http://www.delphipraxis.net/topic82489_upnp+router+manager.html&highlight=router+manager
Da siehst du was damit möglich ist...


MSC - Sa 17.02.07 00:23
Titel: Re: mit Programm Routerports freigeben/sperren
@BenBE: Sorry, hatte ich überlesen.
(alelrdings sagt Wikipedia: Bei der Wikipedia-internen Suche ist ein Problem aufgetreten. Dies ist normalerweise ein vorübergehendes Problem...)

Allerdings übersteigt das meinen Horizont und ich verstehe nicht viel... :)

Aber ich bin zu der erkenntnis gekommen, das es irgendwie gehen muss...

Hätte irgendwer eine leichter verständlichere Lösung?

Edit: habe für meinen Beitrag etwas lange gebraucht, lese mir die neuen Links erstmal durch.


Narses - Sa 17.02.07 16:09

Moin!

Das erste, was ich bei meinem Router sofort gesperrt habe, war UPnP! :hair: :P

@user profile iconMSC: Vergiss das Projekt gleich wieder, das ist (universell) nicht lösbar. :? :mahn: Abgesehen davon finde ich, dass jemand, der seinen Router nicht konfiguriert kriegt, besser die Finger davon lassen sollte, an den Portfreigaben herumzuspielen... :tongue:

cu
Narses


jaenicke - So 18.02.07 09:23

user profile iconNarses hat folgendes geschrieben:
Das erste, was ich bei meinem Router sofort gesperrt habe, war UPnP! :hair: :P

Und bei mir wars genau umgekehrt...


Delete - So 18.02.07 09:52

Da war doch mal was mit 'nem Pferd?
Ach ja, von hinten aufzäumen!

Der Router hat mit dem Game-Problem nichts zu tun.

Die Lösung ist in diesem Bereich zu finden:

Manuelles Öffnen von Ports der Internetverbindungsfirewall in Windows XP:

http://support.microsoft.com/?scid=kb%3Bde%3B308127&x=16&y=8

Programme erfordern bei Internetverbindungsfirewall manuelle Konfiguration der TCP/IP Ports:

http://support.microsoft.com/kb/307554/DE/

Es geht auch programmatisch - Emule kann's ja auch...


MSC - So 18.02.07 10:13
Titel: Re: mit Programm Routerports freigeben/sperren
Also, wenn ich die Ports bei mir wieder blocke, kann ich nicht mehr Online spielen!
Und wenn diejenigen die das betraf, die Ports freigebenen haben, ging es dann immer.

Und eMule... soweit ich weiss muss man die Ports auch selber freigeben.

Und XP Home SP1 hat eh keine Firewall.


Delete - So 18.02.07 10:59

Zitat:
...Und eMule... soweit ich weiss muss man die Ports auch selber freigeben.


Emule fragt beim 1.Start, ob es die Ports TCP/UDP öffnen darf.


XP Home hat eine Internetverbindungsfirewall.


MSC - So 18.02.07 11:07
Titel: Re: mit Programm Routerports freigeben/sperren
Dann ist mein XP ne ausnahme... (nochmal auf ServicePack 1 verweist)


jaenicke - So 18.02.07 11:11

user profile iconMSC hat folgendes geschrieben:
Dann ist mein XP ne ausnahme... (nochmal auf ServicePack 1 verweist)

In der Tat... Die normalen Versionen von MS haben alle eine Internetverbindungsfirewall, auch schon ohne Service Pack. Im SP2 wurde nur eine neue Firewall eingebaut, die die alte ersetzt.
Mehr dazu findet sich auch bei MS selbst, wenn du es immer noch nicht glaubst... ;-)
http://support.microsoft.com/kb/283673/de


DarkLord05 - So 18.02.07 12:44

eMule öffnet die Ports automatisch. Bei meinem Router sind die schon in der Liste drin gewesen als ich den Router bekommen habe (glaube aber das die da nicht offen waren).

@ hathor
Natürlich, Portforwarding ;)
Hier hängen 2 Computer am netz, woher soll der Router denn wissen wo ein Server gehostet wird und wo nicht? (Raten?^^)

@jaenicke & Narses

UPNP kann eine Sicherheitslücke darstellen. Wollt das nur erwähnen, aber btw... bei mir ist es auch an.


Delete - So 18.02.07 12:52

[quote="user profile iconDarkLord05
@ hathor
Natürlich, Portforwarding ;)
Hier hängen 2 Computer am netz, woher soll der Router denn wissen wo ein Server gehostet wird und wo nicht? (Raten?^^)

[/quote]

Von meinem Provider habe ich einen passwortgeschützten Router bekommen und eine Anleitung zum Konfigurieren von WINDOWS.
Ich habe KEINEN Zugriff zum Konfigurieren des Routers - aber nach richtiger Konfiguration von WINDOWS funktioniert alles wie gewünscht.


Narses - So 18.02.07 13:03

Moin!

Mal was grundsätzliches: wenn mein Router es erlauben würde, dass eine Software (automatisiert!) meine Portforwardings verändern kann, dann würde ich entweder:
a) diese Funktion SOFORT abstellen (-> UPnP) :mrgreen:
b) den Router wegwerfen/verhökern! :evil:

Wenn ich sowas von einem Programm erledigen lassen kann, wer sagt/garantiert mir, dass das Program auch genau das tut, was ich wirklich will!? :mahn: Ich muss es den Entwicklern/Anwendern von Malware ja nicht auch noch einfacher machen... :?

cu
Narses


MSC - So 18.02.07 13:46
Titel: Re: mit Programm Routerports freigeben/sperren
Also ich hab das ma mit eMule nachgefragt, das offnet NICHT automatisch die Ports, man kann eMule in den Optionen sagen, diese ports sind für eMule da...

@jaenicke
Das mit der Firewall unter SP1 wusste ich nicht, auch aus dem grund, weil sich die noch nie bemerkbar gemacht hatte...

Oder meintest du mit Firewall die Einstellung bei den Eigenschaften der LAN-Verbindung:
"Internetverbindungsfirewall
[ ] Diesen Computer und das Netzwerk schützen....." ?


Delete - So 18.02.07 14:01
Titel: Re: mit Programm Routerports freigeben/sperren
user profile iconMSC hat folgendes geschrieben:
Also ich hab das ma mit eMule nachgefragt, das offnet NICHT automatisch die Ports, man kann eMule in den Optionen sagen, diese ports sind für eMule da...

@jaenicke
Das mit der Firewall unter SP1 wusste ich nicht, auch aus dem grund, weil sich die noch nie bemerkbar gemacht hatte...

Oder meintest du mit Firewall die Einstellung bei den Eigenschaften der LAN-Verbindung:
"Internetverbindungsfirewall
[ ] Diesen Computer und das Netzwerk schützen....." ?


zu 1. Die Emule-Ports sind mit dem Programm EMULE.EXE verknüpft.

zu 2. Genau so ist es.


MSC - So 18.02.07 14:32
Titel: Re: mit Programm Routerports freigeben/sperren
Ok, muss etwas vervollständigen:
user profile iconMSC hat folgendes geschrieben:
Also ich hab das ma mit eMule nachgefragt, das offnet NICHT automatisch die Ports, man kann eMule in den Optionen sagen, diese ports sind für eMule da...


und die muss man dann selber am Router freigeben, bzw. hat sie dafür freigegeben.
Wenn man in eMule die Ports ändert, ändern sich die am Router nicht und eMule hat ne "Augenbinde".