In the early years of computing, telnet
was used to connect to the command line on remote systems. SSH has replaced telnet
for remote access needs, and these days when you hear about telnet
, it is usually when somebody is using the client as a generic network troubleshooting tool.
That’s because, in troubleshooting sessions, sysadmins turn to telnet
and netcat
to test connectivity to service offerings.
Telnet
See what this process looks like for telnet
:
[dminnich@dminnichlt tmp]$ telnet -4 www.redhat.com 80
Trying 104.117.5.18...
Connected to www.redhat.com.
Escape character is '^]'.
Here is a breakdown of the parameters:
-4
means to use IPV4. This flag is not necessary but it made my logs prettier.www.redhat.com
is the hostname/IP address to connect to.80
is the port to connect to.
That Connected to www.redhat.com
line states that the connection was successful. This result means that the server is operational and there is nothing on the network (or any client or server machine) blocking this connection from happening.
You can exit out of telnet
by pressing Ctrl+] and then typing quit
:
^]
telnet> quit
Connection closed.
Here is an example of a failed connection in telnet
:
[dminnich@dminnichlt tmp]$ telnet -4 www.redhat.com 21
Trying 23.1.49.220...
telnet: connect to address 23.1.49.220: Connection timed out
Depending on how the remote network is configured, you may see a Connection refused
message immediately, or you may have to wait a while to get the Connection timed out
error. Alternatively, if telnet
sits there for a few seconds without any output, it is usually safe to assume that the connection will time out, so you can stop the connection attempt by doing a Ctrl+C.
When you see errors like this, it means that any of the following things are wrong:
- The server daemon isn’t running.
- The server itself isn’t up.
- A firewall rule is blocking the connection.
- There is no network route to the destination.
Netcat
Now, look at this same process with Netcat (ncat
on Red Hat Enterprise Linux 8 and related distributions, abbreviated nc
). Here is an example of a successful connection using Netcat (Ctrl+C will exit the Netcat session:)
[dminnich@dminnichlt tmp]$ nc -w3 -4 -v www.redhat.com 80
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 104.117.5.18:80.
That -w3
says wait three seconds and then give up, which is a nice Netcat-native feature telnet
is missing.
Here is what a failed connection looks like in Netcat:
[dminnich@dminnichlt tmp]$ nc -w3 -4 -v www.redhat.com 21
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connection timed out.
Netcat also supports listening on ports for incoming connections, as well as basic port scanning and some other niceties. These features and the fact that lots of operating systems install Netcat but not telnet
by default are why some sysadmins are starting to use Netcat instead of telnet
for their troubleshooting needs.
Interacting with services
One final thing: Both of these tools can interact with the service offerings they connect to. If you type syntactically correct protocol messages and hit Enter, you will receive responses from the service. Here is an example:
[dminnich@dminnichlt tmp]$ nc -4 -w3 -v google.com 80
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 172.217.5.238:80.
GET /
...
</body></html>
You may have to hit Enter a few times in the above example. Interacting with service offerings in this fashion gets complicated fast, especially when encryption comes into play, but if you need to test the internals of something—or if you don’t have a better protocol-specific tool like curl
around—you can make it work.
저자 소개
Dustin has been in IT for over a decade. Currently, he works for the Identity and Access Management IT team at Red Hat as a Principal Systems Administrator. RHCA certified.
He is a strong believer in open source technologies and methodologies. He is also a privacy and freedom of speech advocate.
In his free time, he enjoys watching crappy horror flicks, building electronics, going to concerts, meditating and walking with the dog and wife.
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
오리지널 쇼
엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리
제품
- Red Hat Enterprise Linux
- Red Hat OpenShift Enterprise
- Red Hat Ansible Automation Platform
- 클라우드 서비스
- 모든 제품 보기
툴
체험, 구매 & 영업
커뮤니케이션
Red Hat 소개
Red Hat은 Linux, 클라우드, 컨테이너, 쿠버네티스 등을 포함한 글로벌 엔터프라이즈 오픈소스 솔루션 공급업체입니다. Red Hat은 코어 데이터센터에서 네트워크 엣지에 이르기까지 다양한 플랫폼과 환경에서 기업의 업무 편의성을 높여 주는 강화된 기능의 솔루션을 제공합니다.