Opgelost: powershell ziet de gebruikte poorten

Laatste update: 09/11/2023

Natuurlijk, laten we beginnen.

Powershell, een krachtig raamwerk voor taakautomatisering en configuratiebeheer van Microsoft, vergemakkelijkt het werk van een systeembeheerder aanzienlijk. Met de komst van de Powershell-scripttaal en de bijbehorende cmdlets krijgen gebruikers uitgebreide toegang tot een gegevensarchief. Een voorbeeld van zo'n gebruik van PowerShell is het controleren van de poorten die op een systeem worden gebruikt. Poorten zijn communicatie-eindpunten voor een machine en elke poort heeft een opgegeven poortnummer.

# PowerShell Script to list all the TCP/IP ports which are being used on your local system

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 

Function Test-PortInUse {   
  Param(
    [Parameter(Mandatory = $true)]
    [int]$StartPort,
    [Parameter(Mandatory = $true)]
    [int]$EndPort
  )
  ForEach ($i in ($StartPort..$EndPort)){
    $connection = Test-NetConnection -ComputerName LocalHost -Port $i
    if ($connection.TcpTestSucceeded){
       $i
    }
  }
}

# This will test all ports between 20 and 25
Test-PortInUse 20 25

Het script werkt binnen een functie, Test-PortInUse, die twee parameters accepteert: een startpoortnummer en een eindpoortnummer. De functie loopt in een lus ($StartPort..$EndPort) tussen de opgegeven poortbereiken. Voor elk poortnummer wordt vervolgens de Test-NetConnection-cmdlet op de localhost voor die poort uitgevoerd.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser – Deze opdracht is vereist om PowerShell-scripts uit te voeren en wijzigt de gebruikersvoorkeur voor het PowerShell-uitvoeringsbeleid.

De cmdlet Test-NetConnection geeft diagnostische informatie voor een verbinding weer. Als parameters nemen LocalHost – wat verwijst naar de lokale machine en poort – die aangeeft welke poort moet worden getest; controleert of er verbinding kan worden gemaakt met die poort.

Powershell-scripting

Powershell-scripting is een veelzijdig platform ontwikkeld door Microsoft voor zijn Windows-omgeving. Deze dynamische taal biedt direct uit de doos een scala aan hulpprogramma's. Een voorbeeld van zo'n hulpprogramma waar we gebruik van maken is de Test-NetConnection-cmdlet. Dit hulpprogramma biedt een eenvoudige manier om een ​​verscheidenheid aan netwerktests uit te voeren die via scripts en geautomatiseerd kunnen worden uitgevoerd, ideaal voor beheerders die grote netwerken beheren.

Het belang van havenbeheer

Havenmanagement is een essentieel taak voor IT-beheerders, DevOps en beveiligingsprofessionals, aangezien open en kwetsbare poorten potentiële risicogebieden kunnen zijn. Het op verzoek kunnen bekijken, monitoren, testen en sluiten van havens wordt een belangrijke, zo niet essentiële, vaardigheid. PowerShell-scripts kunnen een cruciale rol spelen bij het automatiseren van deze taken en de cmdlets van PowerShell stroomlijnen het proces.

Hoe de Test-NetConnection-cmdlet werkt

Test-NetConnection is een cmdlet die een diepgaande scriptbare cmdlet-interface weergeeft voor talrijke netwerkdiagnostische interfaces die door besturingssystemen worden vrijgegeven. De cmdlet blinkt vooral uit als het gaat om het testen van een specifieke service binnen een server, of om de netwerklatentie van de verbinding tussen de bron en de bestemming te testen, of het nu TCP of ICMP is.

De informatie die door deze cmdlet wordt verstrekt, is met name handig bij het identificeren van open poorten en het bekijken van de typen verbindingen die een machine met een netwerk heeft.

Concluderend biedt Powershell, samen met zijn verschillende cmdlets zoals Test-NetConnection, verschillende mogelijkheden die enorm helpen bij netwerk- en poortbeheer, waardoor efficiënte en effectieve automatisering en beheer van dergelijke taken mogelijk wordt.

Gerelateerde berichten: