포트가 열려 있는지 확인하려고 telnet <호스트> <포트> 를 쓰는 경우가 대부분이다. Windows 10 · 11 · Server 모두 텔넷 클라이언트가 기본으로 꺼져 있어 'telnet'은(는) 내부 또는 외부 명령... 이 아닙니다 가 나온다. 설치는 선택 기능을 켜는 것으로 끝나며 재부팅이 필요 없다.
제어판을 열고 프로그램 및 기능 → Windows 기능 켜기/끄기 에서 텔넷 클라이언트 를 체크한 뒤 확인을 누른다.
관리자 권한 명령 프롬프트에서 실행한다.
dism /online /Enable-Feature /FeatureName:TelnetClient /NoRestart
관리자 권한 PowerShell 을 쓴다면 다음과 같다.
Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient -NoRestart
Get-WindowsOptionalFeature -Online -FeatureName TelnetClient | Select-Object State
Windows Server 에서는 역할/기능 추가로도 설치된다.
Install-WindowsFeature -Name Telnet-Client
telnet
telnet 192.0.2.10 443
연결되면 화면이 비워지고 커서만 남는다. 연결이 안 되면 호스트에 연결할 수 없습니다 가 나온다. 세션을 빠져나올 때는 Ctrl + ] 를 누른 뒤 quit 를 입력한다.
PowerShell 의 Test-NetConnection 은 설치가 필요 없고 결과가 명확하다. 텔넷처럼 화면이 멈추지도 않는다.
Test-NetConnection -ComputerName 192.0.2.10 -Port 443
출력의 TcpTestSucceeded 가 True 면 도달한 것이다. 이름 해석 결과와 사용된 인터페이스까지 함께 보여 주므로 진단에 더 유용하다.
짧게 쓰려면 다음 형태도 된다.
(New-Object Net.Sockets.TcpClient).ConnectAsync('192.0.2.10',443).Wait(2000)
텔넷 서버 는 설치하지 않는다. 통신이 평문이라 자격 증명이 그대로 노출된다. 원격 접속이 필요하면 OpenSSH 서버를 쓴다.