Posted On July 28, 2021

PowerShell: How To Test A Server Ephemeral Port

kimconnect 0 comments
blog.KimConnect.com >> Codes , Networking >> PowerShell: How To Test A Server Ephemeral Port
# Setup a listening port on server
# This session will automatically terminates after a number of test counts

function initTestEpheralPort{
  param(
    $port=59848,
    $testCount=3
  )
  $cmdlet="(new-object Net.Sockets.TcpClient).Connect('$env:computername', $port)"
  write-host "$env:computername is now listening on port $port"
  write-host "Please run this function at the client side:`r`n$cmdlet"
  $listener=[System.Net.Sockets.TcpListener]$port;
  $listener.Start();
  while($testCount) 
  {    
      $clientAccepted=$listener.AcceptTcpClient();
      if($clientAccepted){
          write-host "$((netstat -ano -p tcp|select-string "$port"|out-string))"
          $testCount--;
          Write-Host "Connection test $testCount remains!";   
      }
      $clientAccepted.Close();
      if(!$testCount){
          # Stop listening on the server
          $listener.Stop();
          write-host "Tests have completed."  
      }
  }
}

initTestEpheralPort 59848
# Test reachability from a client machine
$server='nameOrIpHere'
$port=59848
(new-object Net.Sockets.TcpClient).Connect($server, $port)

Sample Output:

[SERVER1]: PS C:\Users\kdoan\Documents> initTestEpheralPort 59848
SERVER1 is now listening on port 59848
Please run this function at the client side:
(new-object Net.Sockets.TcpClient).Connect('SERVER1', 59848)

  TCP    0.0.0.0:59848          0.0.0.0:0              LISTENING       45568
  TCP    x.x.x.x:59848    y.y.y.y:50997     ESTABLISHED     45568



Connection test 2 remains!

  TCP    0.0.0.0:59848          0.0.0.0:0              LISTENING       45568
  TCP    x.x.x.x:59848    y.y.y.y:50997     FIN_WAIT_2      45568
  TCP    x.x.x.x:59848    y.y.y.y:51021     ESTABLISHED     45568



Connection test 1 remains!

  TCP    0.0.0.0:59848          0.0.0.0:0              LISTENING       45568
  TCP    x.x.x.x:59848    y.y.y.y:50997     FIN_WAIT_2      45568
  TCP    x.x.x.x:59848    y.y.y.y:51021     FIN_WAIT_2      45568
  TCP    x.x.x.x:59848    y.y.y.y:51040     ESTABLISHED     45568

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

PowerShell: Disable Microsoft Dynamics CRM Organization

# disableCrmOrganization.ps1 $orgname='testOrg' $domain='kimconnect.com' $dnsServer='10.10.10.10' $credentials=@{ 'kimconnect\crmAdmin'='password'; 'kimconnect\devAdmin'='password'; } $usernamePrefix='kimconnect\crm' $servernameSuffix='-app01' $ipDictionary=@{ 'dev01'='1.1.1.1'; 'prod01'='2.2.2.2'; }…

Virtual Machine Manager Error ID 23351 FirstBootDevice Invalid

When moving, importing, exporting Generation 2 template in VMM, the following error occurs when trying…

PowerShell: Elevating Credential

$jumpbox="127.0.0.1" <# # Static Credentials (unsecured) $username = (Get-ADDomain).name+"\ADMINISTRATOR" $password = "PASSWORD" #> # Dynamic…
Other project: DragonCoin.com