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: Add Accounts into Local Administrators Group

# addAccountToLocalAdmins.ps1# Requires: PowerShell Version 4.0+$accountToAdd='ServerAdmins'$groupName="Administrators"$servers=@( "CONCU1", 'CONCU2', 'CONCU100', 'CONCU80665', 'CONCU6547354', 'CONWHAT989', 'CONCU3')$servers|%{ $session=new-pssession $_…

LAMP Stack using Docker

# Install docker and composeyum install docker docker-compose -y# Add user into docker groupusermod -aG…

PowerShell: Use Selenium Drivers to Automate Logins

Set Variables: $username='testrobot' $password='password' $url='https://blog.kimconnect.com' # Version 0.0.2 - return true or false, while keeping…
Other project: DragonCoin.com