Linux 서버의 텔넷

Linux 서버의 텔넷

텔넷 연결을 얻으려면 컴퓨터 양쪽에서 텔넷을 활성화해야 하는지 궁금합니다.

문제는 이것이다: Linux 웹 서버(Red Hat)에서 포트 80의 일부 공용 IP로 텔넷을 시도하고 있다는 것입니다.

이 공용 IP에는 HTTP가 활성화되어 있습니다(80). 텔넷이 활성화되어 있는지 확실하지 않지만 소유자는 활성화되어 있다고 말합니다.

내 Linux 서버에서는 HTTP(80)가 활성화되어 있지만 텔넷은 활성화되어 있지 않습니다. 대신 SSH가 활성화됩니다.

Linux 서버에서 원격으로 로그인하면 telnet PublicIP 80다음과 같이 표시됩니다.

Trying "PublicIP"...
Connected to "PublicIP" ("PublicIP").
Escape character is '^]'.
Connection closed by foreign host

이것이 작동하려면 내 서버에서 텔넷을 활성화해야 합니까? 왜냐하면 상대방에서는 문제가 없다는 것이 다른 소식통을 통해 확인되었기 때문입니다. 공용 IP: 220.226.190.180

어떻게 작동시킬 수 있는지 설명해주세요. Linux 서버에서 텔넷을 활성화해야 하는 경우 명령과 방법을 공유해 주세요.

답변1

telnet?를 사용하여 원격 웹 서버에 대한 연결을 테스트하려고 합니다. 아니요. 텔넷 서버는 필요하지 않습니다. 원격 HTTP 서버는 이스케이프 문자로 표시된 명령을 기다리고 있습니다. 대기 시간이 초과되면 연결이 닫힙니다. 그래서...

telnet <hostname or ip address> 80

그런 다음 몇 가지 HTTP 명령을 입력합니다.

GET / HTTP/1.1
host: <fqdn>

원격 웹 서버를 제공하도록 구성된 호스트의 FQDN을 사용합니다. 위의 HTTP 명령을 사용하여 기본 문서를 반환합니다. 0xAF의 정확한 댓글을 참고해주세요.

답변2

첫 번째 문장의 질문에 대답하려면: Telnet은 서버측 애플리케이션(데몬)과 클라이언트측 애플리케이션이라는 두 가지입니다.

텔넷 서버가 실행되는 동안 컴퓨터는 텔넷 클라이언트의 연결을 TCP 포트 23에서 수신 대기합니다.

텔넷 클라이언트는 어떤 포트에서도 수신 대기하지 않고 대신 컴퓨터의 TCP 포트 23(기본적으로)에 연결을 시도합니다. 연결이 올바른 경우 사용자에게 로그인한 후 대화형 셸 세션에 들어가라는 메시지가 표시될 수 있습니다. 텔넷은 기본적으로 암호화되지 않은 일반 텍스트(비밀번호 포함!)를 사용하여 통신하므로 권장되지 않습니다.

그러나 Christopher가 훌륭한 답변에서 말했듯이 실제로 텔넷을 사용하여 http 서버를 테스트하려면 텔넷 프로그램을 사용할 수 있으며 텔넷 서버는 필요하지 않습니다.

텔넷 클라이언트 프로그램을 사용하면 기본 포트인 23번 포트가 아닌 TCP 포트에 연결할 수 있습니다.

telnet <hostname> <TCP port>

http 서버는 일반적으로 포트 80을 수신하므로 텔넷 프로그램을 사용하여 포트 80에 연결하고 연결 시 http 서버가 브라우저에 보내는 내용을 확인할 수 있습니다.

telnet google.com 80

이렇게 하면 연결되지만 다음 텍스트를 입력해야 합니다. 이는 단순한 http 요청일 뿐입니다(대소문자 구분이 중요함).

GET / HTTP/1.1
host: test.com

그런 다음 Enter 키를 두 번 누릅니다.

그러면 Google이 브라우저에 제공하는 모든 원시 HTML이 표시됩니다. 동일한 개념을 사용하여 자신의 http 서버를 테스트할 수 있습니다.

답변3

telnetHTTP 프로토콜을 테스트하는 데 사용할 수 있지만 작업에 더 적합한 도구가 있습니다. 개인적으로 추천합니다 curl. 이는 본질적으로 다양한 프로토콜(HTTP, HTTPS, FTP...)과 상호 작용할 수 있는 명령줄 유틸리티입니다. 테스트 curl대신 HTTP 서버를 사용하면 telnetHTTP 요청을 수동으로 입력할 필요가 없어지고 더 많은 전반적인 정보를 얻을 수 있습니다. 현재 상황에서 유용할 수 있는 일부 기능은 다음과 같습니다.

HTTP를 사용하여 호스트에 연결하고 기본 문서를 요청합니다.

curl <public ip>

HTTP를 사용하여 호스트에 연결하고 HTTP 헤더만 봅니다.

curl -I <public ip>

HTTP를 사용하여 호스트에 연결하고 HTTP 헤더만 보고 3xx 리디렉션을 따릅니다.

curl -LI <public ip>

curl말 그대로 수십 가지 옵션이 있습니다. curl --help빠른 요약 및 man curl/또는 curl --manual더 자세한 정보를 사용하는 것이 좋습니다 .

답변4

Telnet이나 Curl이 없으면 cat 및 proc 디렉토리를 사용하여 포트에 연결할 수도 있습니다.

cat < /dev/tcp/HOST/PORT

에서 발췌이 기사(스페인어).

관련 정보