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:
-
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 enEjecutar como administrador
.El sistema puede pedir permiso; haga clic en
Sí
. -
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 rutaC:\Users\Sheeraz
. Ver la salida:Directory: C:\Users\Sheeraz Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 11/3/2022 4:02 PM 0 DemoTCPServer.ps1
-
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. -
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" ```
-
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
-
Para conectarse al puerto TCP en una computadora remota, ejecute el siguiente comando
telnet
en cmd. Primero, asegúrese de que el serviciotelnet
esté activado, que se puede verificar desdePanel de control
>Programas
>Activar o desactivar características de Windows
.Ver el comando:
telnet 10.10.10.10 8080
-
También podemos utilizar una aplicación cliente
telnet
comoPuTTY
, que se puede descargar desde aquí. No olvide seleccionarOtro
yTelnet
en el tipo de conexión.Vea la captura de pantalla a continuación.
-
Inserte la IP y el puerto, luego haga clic en
Abrir
. -
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
-
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. -
Finalmente, para cerrar la conexión TCP, ejecute el comando
quit
.
-
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