So ich poste dir das jetzt einfach mal ...
Ports einrichten mit dem File hier:
Datei uPnPSetPorts.js :
Code:
function range(from, to, protocol, client)
{
this.from = from;
this.to = to;
this.protocol = protocol;
this.client = client;
}
var ranges = new Array(
new range(2302, 2400, "TCP", "192.168.178.2"),
new range(6073, 6073, "TCP", "192.168.178.2")
// weitere
);
var theNatter = WScript.CreateObject( "HNetCfg.NATUPnP");
var ports = theNatter.StaticPortMappingCollection;
for (i = 0; i< ranges.length; i++)
{
for (j = ranges[i].from; j<=ranges[i].to; j++)
{
var ready = false;
do {
try {
ports.Add(j,ranges[i].protocol,j,ranges[i].client,true,"test");
ready = true;
} catch(e) {WScript.Sleep(50);}
} while (!ready)
}
}
WScript.Echo("done");
Im ranges Array werden die einzelnen Bereiche definiert. Will man nur einzelne Ports freigeben, nimmt man für from und to einfach dieselbe Zahl.
Das Ausführen des Scripts dauert eine Weile.
Leider gibt es keine wirklich zuverlässige Möglichkeit, die Mappings per Script zu kontrollieren oder zu löschen. Wer möchte, kann es (das Kontrollieren) damit probieren:
Datei test.vbs : (stammt nicht von mir)
Code:
Set theNatter = CreateObject( "HNetCfg.NATUPnP")
'put the collection of ports in this variable
Dim mappingPorts
Set mappingPorts = theNatter.StaticPortMappingCollection
MsgBox("Total number of ports is " & mappingPorts.Count)
'Show the user how the ports are being used
for each mappingPort in mappingPorts
MsgBox( mappingPort.Description & " " & mappingPort.ExternalPort & " " & mappingPort.Protocol & " " & mappingPort.InternalPort)
next
Am besten kontrolliert man die Mappings mit dem Device Spy von Intel, der in den "Intel® Tools for UPnP Technologies" enthalten ist. Download der Tools unter
http://www.intel.com/technology/UPnP/download.htm . Man benötigt dafür zusätzlich das Net Framework 1.1 von Microsoft.
Im Device Spy wählt man dann AVM Internet Gateway Device -> WANDevice -> WANConnectionDevice -> service:WanIPConnection ->Doppelklick auf GetGenericPortMappingEntry.
Im Dialogfeld gibt man unter NewPortMappingIndex den Index der jeweiligen Freigabe an. Bsp: Wenn man 100 ports geöffnet hat, sind 0 bis 99 zulässige Werte. Ein Klick auf Invoke fragt die Regel bei der Fritz!Box ab.
Mit DeletePortMapping (nur Port und Protocol angeben) kann man einzelne Mappings wieder löschen.
Will man sich aller uPnP Freigaben entledigen, zieht man einfach kurz den Netzstecker.
MfG
sphings