Created
August 27, 2024 06:11
-
-
Save LuisPalacios/f1013d3a0cc0d540b94df2d7d42c2f40 to your computer and use it in GitHub Desktop.
Comprueba si un puerto está abierto en el Firewall de localhost
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Script: VerificarPuertoFirewall.ps1 | |
# Descripción: Este script comprueba si un puerto específico está permitido (abierto) en el firewall de localhost. | |
# Autor: LuisPa | |
# | |
# Uso: | |
# .\VerificarPuertoFirewall.ps1 -Puerto <NúmeroDePuerto> | |
# | |
# Ejemplo de uso: | |
# .\VerificarPuertoFirewall.ps1 -Puerto 22 | |
# | |
# El script devolverá un mensaje indicando si el puerto está permitido o bloqueado en el firewall local. | |
# | |
# Requisitos: PowerShell 3.0 o superior | |
param ( | |
[Parameter(Mandatory=$true, HelpMessage="Introduce el número de puerto que deseas comprobar.")] | |
[int]$Puerto | |
) | |
function Verificar-Puerto-Firewall { | |
param ( | |
[int]$Puerto | |
) | |
# Obtener todas las reglas de firewall para el puerto especificado | |
$Reglas = Get-NetFirewallRule | Where-Object { | |
($_ | Get-NetFirewallPortFilter).LocalPort -eq $Puerto | |
} | |
# Comprobar si existen reglas que permitan el puerto | |
$PuertoPermitido = $false | |
foreach ($Regla in $Reglas) { | |
if ($Regla.Enabled -eq "True" -and $Regla.Action -eq "Allow") { | |
$PuertoPermitido = $true | |
break | |
} | |
} | |
# Mostrar el resultado | |
if ($PuertoPermitido) { | |
Write-Output "El puerto $Puerto está permitido (abierto) en el firewall de localhost." | |
} else { | |
Write-Output "El puerto $Puerto no está permitido (bloqueado) en el firewall de localhost." | |
} | |
} | |
# Llamada a la función Verificar-Puerto-Firewall pasando el parámetro del puerto. | |
Verificar-Puerto-Firewall -Puerto $Puerto |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment