Wednesday, March 19, 2014

Connecties tellen (netstat) maar dan met PowerShell

Als je informatie zoekt over de sessies die een server open heeft staan dan doe je dit doorgaans met netstat –ano. Als je vervolgens iets zinvols wilt doen met de lange lijst aan regels kun je filteren op een poortnummer of IP-adres:

netstat –ano | findstr :443

De output van netstat is tekst dus om er meer mee te doen moeten we deze eerst ‘parsen’ en in bruikbare variabeles stoppen. Veel PowerShell-scripts doen dit dan ook, ze verwerken de tekst en zoeken naar patronen in de tekst om deze te kunnen filteren of sorteren.

Gelukkig kan het sinds Server 2012 ook met een native PowerShell commando: Get-NetTCPConnection. Dit commando geeft een output naar scherm die vergelijkbaar is met die van netstat. Het verschil is natuurlijk dat het niet om een statische view gaat maar dat we hier met objecten werken. Filteren, sorteren en wat al niet meer kan nu dus op de PowerShell manier.

Een paar voorbeelden:

Get-NetTCPConnection -RemotePort 444

Get-NetTCPConnection -LocalPort 443 | sort RemoteAddress

Get-NetTCPConnection -State Established | measure

image

Ik hoop dat je hiermee uit de voeten kunt, de rest wijst eigenlijk voor zich. Meer informatie kun je vinden in de Technet Library of natuurlijk met Get-Help Get-NetTCPConnection –Full.

No comments: