PowerShell의 포트에서 수신 대기
이 자습서에서는 PowerShell의 포트에서 수신 대기하는 방법을 보여줍니다.
PowerShell 포트에서 수신 대기
단계별 명령과 함께 PowerShell을 사용하여 포트에서 수신 대기할 수 있습니다. PowerShell에서 [System.Net.Sockets.TcpListener]Port
명령을 사용하여 수신기를 초기화할 수 있습니다.
아래 단계에 따라 PowerShell을 사용하여 포트에서 수신 대기합니다.
-
먼저 PowerShell을 관리자로 열어야 합니다. 시작 메뉴에서
PowerShell
을 검색하고 PowerShell 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음관리자 권한으로 실행
을 클릭합니다.시스템에서 허가를 요청할 수 있습니다.
예
를 클릭합니다. -
다음 단계에서 PowerShell 스크립트를 생성합니다. 다음 명령을 실행합니다.
New-Item 'C:\Users\Sheeraz\DemoTCPServer.ps1' -type file
위 명령은
C:\Users\Sheeraz
경로에DemoTCPServer.ps1
이라는 이름의 PowerShell 파일을 생성합니다. 출력을 참조하십시오.Directory: C:\Users\Sheeraz Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 11/3/2022 4:02 PM 0 DemoTCPServer.ps1
-
파일이 생성되면 다음 단계는 스크립트를 편집하는 것입니다. 다음 명령을 실행합니다.
ise C:\Users\Sheeraz\DemoTCPServer.ps1
위 명령은 PowerShell ISE에서
DemoTCPServer.ps1
파일을 편집합니다. -
DemoTCPServer.ps1
스크립트에 대한 단계별 프로세스를 따릅니다.-
먼저 포트, 텍스트 파일, 서버 배너에 대한 변수를 초기화합니다.
-
그런 다음 지정된 포트에 엔드포인트를 생성합니다.
-
이제
New-Object System.Net.Sockets.TcpListener $DemoEndpoint
명령을 사용하여 수신기가 있는 TCP 포트를 만듭니다. 이렇게 하면 포트에서 수신하는 데 도움이 됩니다. -
TCP 포트를 시작합니다.
-
TCP 포트가 TCP 클라이언트를 수락하도록 허용합니다.
-
TCP 클라이언트의 스트림을 만듭니다.
-
이제 스트림으로 작성자를 생성합니다.
-
배너를 사용하여 줄을 쓰고 작성자를 플러시합니다.
-
이제 포트에서 수신할 스트림을 읽을 버퍼를 만듭니다.
-
루프를 사용하여 스트림의 각 줄을 읽습니다.
-
포트에서 수신 대기를 수행했으며 이제 버퍼, 스트림 및 TCP 클라이언트를 폐기합니다.
-
마지막으로 TCP 포트를 중지합니다. 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" ```
-
스크립트가 생성되면 저장합니다. 이제 포트 작업에서 수신 대기로 TCP 포트를 생성하는 스크립트를 실행할 시간입니다. 다음 명령을 실행합니다.
PowerShell.exe -ExecutionPolicy Bypass -File C:\Users\Sheeraz\DemoTCPServer.ps1
위의 명령은 이제 TCP 포트를 시작하고 포트에서 수신 대기합니다. 명령의 출력은 다음과 같습니다.
The TCP Port 8080 is Open Now
-
원격 컴퓨터의 TCP 포트에 연결하려면 cmd에서 다음
telnet
명령을 실행합니다. 먼저제어판
>프로그램
>Windows 기능 켜기 또는 끄기
에서 확인할 수 있는telnet
서비스가 활성화되어 있는지 확인합니다.다음 명령을 참조하십시오.
telnet 10.10.10.10 8080
-
여기에서 다운로드할 수 있는
PuTTY
와 같은telnet
클라이언트 애플리케이션을 사용할 수도 있습니다. 연결 유형에서기타
및텔넷
을 선택하는 것을 잊지 마십시오.아래 스크린샷을 참조하십시오.
-
IP와 포트를 입력하고
열기
를 클릭합니다. -
이제 이 터미널을 사용하여 연결을 통해 데이터를 보내고 포트에서 수신 대기할 수 있습니다. 예를 들어:
This is PowerShell Listen on Port Test
-
위에서 보낸 데이터는
'C:\Users\Sheeraz\demo.txt'
파일에 저장되며 이는 해당 포트에서 수신 대기가 수행됨을 의미합니다. -
마지막으로, TCP 연결을 종료하려면
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