2014-11-06 4 views
0

.NET을 통해 명령 줄에서 Telnet 세션을 열고 싶습니다. 이 명령은 잘 수동으로 작동합니다 명령 줄에서 텔넷이 작동하지 않습니다.

telnet towel.blinkenlights.nl 

그래서 내가이 트래픽을 시작하면 확인 Wireshark을 사용하고

Process process = new Process(); 
process.StartInfo.FileName = @"C:\windows\system32\cmd.exe"; 
process.StartInfo.Arguments = "telnet towel.blinkenlights.nl"; 
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
process.Start(); 
process.WaitForExit(); 

.NET을 통해 열려고하고 여기 아무것도 일어나지와 나는 것 같다 Telnet 트래픽을 볼 수 없습니다.

+1

스 니펫은 실제로 사용중인 스 니펫이 아닙니다. 텔넷은 터미널을 에뮬레이션해야하므로 I/O 리디렉션이 작동하지 않습니다. 이 작업을 위해 다른 프로그램을 사용하지 마십시오. 텔넷은 터미널 에뮬레이션이 필요하지 않은 경우 * 매우 간단한 프로토콜입니다. TcpClient 클래스, 포트 23을 사용하십시오. –

답변

1

대신 ProcessWindowStyle.Normal을 사용하면 실제로 텔넷을 실행하지 않는 것을 볼 수 있습니다. 완료 후 CMD 창을 닫으려면 "/ C"매개 변수를 추가해야하며, 닫히지 않으려면 "/ K"매개 변수를 추가해야합니다.

Process process = new Process(); 
process.StartInfo.FileName = @"C:\windows\system32\cmd.exe"; 
process.StartInfo.Arguments = "/k telnet towel.blinkenlights.nl"; 
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal; 
process.Start(); 
process.WaitForExit(); 

원하는 동작을 얻은 후에는 물론 Hidden으로 다시 전환하십시오.

관련 문제