
Ayant un firewall assez restrictif sur mon lieu de travail je cherchais à savoir quels ports sont ouverts vers l’extérieur depuis mon poste.
Pour cela j’ai utilisé le script suivant qui va tester une connexion vers le domaine portquiz.net sur chaque port et me faire un fichier CSV avec la liste des ports ouverts.
De base il va scanner tous les ports de 1 à 65536 mais vous pouvez modifier la plage en modifiant le port de départ en ligne 19 et le port de fin en ligne 24
L’analyse prend un certain temps mais une fois faite la config du firewall de votre entreprise ne devrait pas changer souvent.
$fichierCsv = "c:\data\liste_ports.csv" function testport{ Param ( [Parameter(Mandatory=$true)] $port, [Parameter(Mandatory=$false)] $timeOut ) $hostname='portquiz.net' $requestCallback = $state = $null $client = New-Object System.Net.Sockets.TcpClient $beginConnect = $client.BeginConnect($hostname,$port,$requestCallback,$state) Start-Sleep -milli $timeOut if ($client.Connected) { $open = "Ouvert" } else { $open = "Ferme" } $ligneaajouter = "$port;$open" ADD-content -path $fichierCsv -value $ligneaajouter -Encoding UTF8 $client.Close() [pscustomobject]@{hostname=$hostname;port=$port;open=$open} } $port=1 do{ testport -timeOut 50 -port $port $port++ }Until($port -eq 65536) write-host "analyse terminée"
Merci à Marc Maurice pour son service portquiz.net utilisé dans ce script.
Je veux développer un script qui sert d afficher les port en écoute et puis après a l’aide d’une interface permettre aux utilisateurs de désactiver les ports qu’on veut désactiver!