Escuchar en puerto en PowerShell

Sheeraz Gul 15 febrero 2024
Escuchar en puerto en PowerShell

Este tutorial demuestra cómo escuchar en un puerto en PowerShell.

PowerShell escucha en el puerto

La escucha en un puerto se puede lograr usando PowerShell con comandos paso a paso. Podemos inicializar un oyente usando el comando [System.Net.Sockets.TcpListener]Port en PowerShell.

Siga los pasos a continuación para escuchar en un puerto usando PowerShell:

  1. Primero, debemos abrir PowerShell como administrador. Busque PowerShell en el menú Inicio, haga clic con el botón derecho en el icono de PowerShell y luego haga clic en Ejecutar como administrador.

    El sistema puede pedir permiso; haga clic en .

  2. Cree un script de PowerShell en el siguiente paso. Ejecute el siguiente comando:

    New-Item 'C:\Users\Sheeraz\DemoTCPServer.ps1' -type file
    

    El comando anterior creará un archivo de PowerShell llamado DemoTCPServer.ps1 en la ruta C:\Users\Sheeraz. Ver la salida:

    	Directory: C:\Users\Sheeraz
    
    
    Mode                 LastWriteTime         Length Name
    ----                 -------------         ------ ----
    -a----         11/3/2022   4:02 PM              0 DemoTCPServer.ps1
    
  3. Una vez creado el archivo, el siguiente paso es editar el script. Ejecute el siguiente comando:

    ise C:\Users\Sheeraz\DemoTCPServer.ps1
    

    El comando anterior editará el archivo DemoTCPServer.ps1 en PowerShell ISE.

  4. Seguiremos un proceso paso a paso para el script DemoTCPServer.ps1.

    • Primero, inicialice las variables para el puerto, un archivo de texto y el banner del servidor.
    • Luego, cree un punto final en el puerto dado.
    • Ahora, cree un puerto TCP con un oyente usando el comando New-Object System.Net.Sockets.TcpListener $DemoEndpoint. Esto nos ayudará a escuchar en un puerto.
    • Inicia el puerto TCP.
    • Permitir que el puerto TCP acepte el cliente TCP.
    • Crear un flujo del cliente TCP.
    • Ahora, crea un escritor con la transmisión.
    • Use el banner para escribir las líneas y vaciar el escritor.
    • Ahora, cree un búfer para leer el flujo para escuchar en un puerto.
    • Usa un bucle para leer cada línea de la transmisión.
    • Hemos realizado la escucha en el puerto y ahora desechamos el búfer, la transmisión y el cliente TCP.
    • Finalmente, detenga el puerto TCP. Implementemos estos pasos en el script de PowerShell DemoTCPServer.ps1.
```powershell
$DemoPort = 8080
$DemoFile = 'C:\Users\Sheeraz\demo.txt'
$DemoBanner = "Connection: OK"

$DemoEndpoint = New-Object System.Net.IPEndPoint([IPAddress]::Any,$DemoPort)
$DemoTCPPort = New-Object System.Net.Sockets.TcpListener $DemoEndpoint
$DemoTCPPort.Start()
Write-Output "The TCP Port $DemoPort is Open Now"
$AcceptIngTcp = $DemoTCPPort.AcceptTcpClient()
$Stream = $AcceptIngTcp.GetStream()
$DemoWriter = New-Object System.IO.StreamWriter($Stream)
$DemoBanner | % {
			$DemoWriter.WriteLine($_)
			$DemoWriter.Flush()
		}

while($true) {
$DemoBuffer = New-Object System.IO.StreamReader $Stream
$DEMOLINE = $DemoBuffer.ReadLine()
if ($DEMOLINE -eq "quit") {
	break
}
else {
$DEMOLINE
$DEMOLINE |  Out-File $DemoFile -Append
}
}
$DemoBuffer.Dispose()
$Stream.Dispose()
$AcceptIngTcp.Dispose()
$DemoTCPPort.Stop()
Write-Output "The TCP Port $DemoPort is Closed"
```
  1. Una vez creado el script, guárdelo. Ahora es el momento de ejecutar el script para crear un puerto TCP con operación de escucha en el puerto; ejecute el siguiente comando:

    PowerShell.exe -ExecutionPolicy Bypass -File C:\Users\Sheeraz\DemoTCPServer.ps1
    

    El comando anterior ahora iniciará un puerto TCP y escuchará en un puerto. La salida para el comando está debajo.

    The TCP Port 8080 is Open Now
    
  2. Para conectarse al puerto TCP en una computadora remota, ejecute el siguiente comando telnet en cmd. Primero, asegúrese de que el servicio telnet esté activado, que se puede verificar desde Panel de control>Programas>Activar o desactivar características de Windows.

    Ver el comando:

    telnet 10.10.10.10 8080
    
  3. También podemos utilizar una aplicación cliente telnet como PuTTY, que se puede descargar desde aquí. No olvide seleccionar Otro y Telnet en el tipo de conexión.

    Vea la captura de pantalla a continuación.

    Cliente Telnet PuTTY

  4. Inserte la IP y el puerto, luego haga clic en Abrir.

    Terminal de cliente PuTTY

  5. Ahora, podemos usar este terminal para enviar datos a través de una conexión y escuchar en un puerto. Por ejemplo:

    This is PowerShell Listen on Port Test
    

    Escuchar en prueba de puerto

  6. Los datos enviados anteriormente se guardarán en el archivo 'C:\Users\Sheeraz\demo.txt', lo que significa que se realiza la escucha en el puerto.

    Escuchar en la salida del puerto

  7. Finalmente, para cerrar la conexión TCP, ejecute el comando quit.

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook