Usando
NETSH (utility di scripting da riga di comando) è possibile creare uno script che apre, modifica oppure chiude una o più porte TCP/UDP sul Firewall di Windows. Ovviamente dobbiamo lavorare nel contesto "
firewall", quindi occorrerà richiamarlo nello script stesso.
Occorre come prima cosa creare un file .txt che includa i comandi che vogliamo dare e le impostazioni che dovrà avere il firewall. Ad esempio se vogliamo aprire la porta 29 UDP, dovremo scrivere nel file di testo:
firewall
add portopening UDP 29 Test[dove
Test è il nome che si vorrà dare alla porta] e salvare il file come "*.txt" (ad esempio "script.txt")
Poi occorre creare un file batch (quindi con estensione .bat) che lanci netsh e quindi il *.txt:
@echo offnetsh exec "C:\script.txt"exit
Una volta lanciato il batch, per verificare l'avvenuta apertura della porta si potrà andare nei settaggi del firewall e controllare che sia apparsa la voce TEST, nei cui dettagli si leggerà che è la porta 29 UDP.
Questo è un esempio basilare, ovviamente lo script si puo' perfezionare aggiungendo altri settaggi. La sintassi è la seguente:
add portopening [ protocol = ] TCP|UDP|ALL
[ port = ] 1-65535
[ name = ] nome
[ [ mode = ] ENABLE|DISABLE
[ scope = ] ALL|SUBNET|CUSTOM
[ addresses = ] indirizzi
[ profile = ] CURRENT|DOMAIN|STANDARD|ALL
[ interface = ] nome ] Imposta la configurazione delle porte del firewall. Parametri: protocol - il protocollo della porta.
TCP - TCP (Transmission Control Protocol).
UDP - UDP (User Datagram Protocol).
ALL - tutti i protocolli. port - numero porta. name - nome porta. mode - modalità porta (facoltativo).
ENABLE - consente attraverso firewall (predefinito).
DISABLE - non consente attraverso firewall. scope - ambito porta (facoltativo).
ALL - consente tutto il traffico attraverso firewall (predefinito).
SUBNET - consente solo traffico rete locale (subnet) attraverso il
firewall.
CUSTOM - consente solo traffico specificato attraverso il firewall. indirizzi - indirizzi ambito personalizzati (facoltativo). profile - profilo di configurazione (facoltativo).
CURRENT - il profilo corrente (predefinito).
DOMAIN - profilo di dominio.
STANDARD - profilo predefinito.
ALL - tutti i profili. interface - nome dell'interfaccia (facoltativo). Note: non è possibile specificare sia 'profile' che 'interface' insieme.
non è possibile specificare sia 'scope' che 'interface' insieme.
'scope' deve essere 'CUSTOM' per poter specificare 'addresses'.Ulteriori info, in lingua inglese: Cos'è NETSH?