두 네트워크 끝점 간의 연결을 확인하는 방법이 궁금하십니까?
시스템 관리자의 일반적인 작업 중 하나는 연결을 확인하여 네트워킹 문제를 해결하는 것입니다. 애플리케이션이 백엔드 서비스에 연결할 수 없음, 외부 URL에서 데이터를 가져올 수 없음, 흐름이 열려 있는지 확인 등이 될 수 있습니다.
무엇이든 다음 유틸리티/명령이 도움이 될 것입니다. 그들은 CentOS에서 테스트되었으며 다른 Linux 배포판에서 작동하지 않을 이유가 없습니다.
탐구하자…
목차
텔넷
서버와 다른 네트워크 장치의 IP 간 필수 연결을 테스트하기 위해 널리 사용되는 명령 중 하나입니다. 명령 구문은 간단합니다.
telnet $destinationIP $PORT
10.0.0.1 IP 주소에서 포트 8080에 연결할 수 있는지 테스트하고 싶다고 가정해 보겠습니다. 그러면 명령이 될 것입니다.
telnet 10.0.0.1 8080
연결에 문제가 없다면 연결되었다는 메시지가 표시되어야 합니다.
Trying 10.0.0.1... Connected to 10.0.0.1. Escape character is '^]'.
참고: telnet을 실행하는 동안 명령을 찾을 수 없는 경우 여기에서 설명한 대로 telnet을 설치해야 합니다.
대부분의 시나리오에서 telnet이 도움이 됩니다. 그러나 다른 옵션이 필요한 경우 여기에 몇 가지 텔넷 대안이 있습니다.
ncat 또는 nc
Ncat(일명 nc)은 바인딩 및 연결 수락, 원격 명령 실행, 데이터 쓰기 및 읽기 등과 같은 많은 기능을 갖춘 강력한 네트워크 유틸리티입니다. IPv4 및 IPv6 모두에서 작동합니다.
포트가 열려 있는지 여부를 확인하기 위한 간단한 테스트를 수행하려면 다음을 실행합니다.
nc -vz $HOSTNAME $PORT
koreantech.org.com에서 443 포트를 테스트하는 예를 들어 보겠습니다.
[[email protected] ~]# nc -vz koreantech.org.com 443 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 104.25.133.107:443. Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds. [[email protected]ekflare-lab ~]#
언급했듯이 nc를 사용하여 특정 포트에서 수신하도록 연결을 바인딩할 수도 있습니다. 이는 실제 서비스가 실행되고 있지 않지만 연결이 존재하는지 확인하려는 경우에 유용할 수 있습니다.
포트에서 수신을 시작하려면:
nc -l $PORTNUMBER
포트를 주어진 번호에 바인딩합니다.
ncat이 설치되어 있지 않으면 CentOS/RHEL 서버에서 yum install nc를 사용하여 완료할 수 있습니다.
wget
wget은 HTTP, HTTPS 및 FTP를 다운로드/테스트하는 데 유용한 명령입니다. 웹 엔지니어로 일하거나 웹 관련 문제를 자주 다루는 경우 wget이 친구입니다. wget을 사용한 테스트는 간단합니다.
wget $URL
다음은 tools.koreantech.org.com 테스트의 예입니다.
[[email protected] ~]# wget tools.koreantech.org.com --2019-05-09 20:40:01-- http://tools.koreantech.org.com/ Resolving tools.koreantech.org.com (tools.koreantech.org.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ... Connecting to tools.koreantech.org.com (tools.koreantech.org.com)|104.25.134.107|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://tools.koreantech.org.com/ [following] --2019-05-09 20:40:01-- https://tools.koreantech.org.com/ Connecting to tools.koreantech.org.com (tools.koreantech.org.com)|104.25.134.107|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: 'index.html.2' [ <=> ] 15,139 --.-K/s in 0.001s 2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved [15139] [[email protected] ~]#
연결됨이 표시되면 연결 문제가 없음을 의미합니다.
자주 사용되는 wget 명령 예제를 보려면 여기를 확인하십시오.
곱슬 곱슬하다
컬은 다목적 도구입니다.
curl을 사용하여 포트에 텔넷할 수 있다는 것을 알고 있습니까?
글쎄, 이제 당신은 알고 있습니다.
curl -v telnet://$IP:$PORT
다음은 작업 예입니다.
[[email protected] ~]# curl -v telnet://chandan.io:443 * About to connect() to chandan.io port 443 (#0) * Trying 104.31.68.106... * Connected to chandan.io (104.31.68.106) port 443 (#0)
그리고 수신 포트나 방화벽 문제가 없으면 시도하는 중이라는 메시지가 표시됩니다.
[[email protected] ~]# curl -v telnet://chandan.io:4434 * About to connect() to chandan.io port 4434 (#0) * Trying 104.31.68.106...
curl을 사용하여 데이터를 다운로드할 수도 있습니다. HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER 등 여러 프로토콜을 지원합니다.
nmap
수백 가지 기능을 갖춘 인기 있는 도구입니다. 종종 이것은 보안 도구로 간주됩니다. nmap 단일 IP/포트 또는 범위를 테스트할 수 있습니다.
단일 포트를 테스트하려면
nmap -p $PORT $IP
siterelic.com에서 포트 443을 테스트하는 예
[[email protected] ~]# nmap -p 443 siterelic.com Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTC Nmap scan report for siterelic.com (104.27.174.50) Host is up (0.0079s latency). Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32 PORT STATE SERVICE 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds [[email protected] ~]#
상태 열을 보십시오. 열림이 표시되면 연결이 정상임을 의미합니다. 상태가 필터링되면 연결이 존재하지 않음을 의미합니다.
핑
널리 사용되는 명령 중 하나는 원격 호스트가 ICMP ECHO_REQUEST에 응답하는지 여부를 확인하는 것입니다. 원격 네트워크의 방화벽에서 ICMP가 차단된 경우 정확한 결과를 제공하지 못할 수 있습니다. 그렇지 않다고 가정하면 아래와 같이 IPv4 또는 IPv4 네트워크 끝점에 ping할 수 있습니다.
ping $ipaddress ping $url
예를 들어 koreantech.org.com의 성공 결과
[email protected] ~ % ping koreantech.org.com PING koreantech.org.com (104.27.119.115): 56 data bytes 64 bytes from 104.27.119.115: icmp_seq=0 ttl=53 time=7.944 ms 64 bytes from 104.27.119.115: icmp_seq=1 ttl=53 time=8.870 ms
예를 들어, 내부 IP의 실패 결과입니다.
[email protected] ~ % ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1
엔드포인트가 IPv6를 지원하는 경우 아래와 같이 ping6 명령을 사용할 수 있습니다.
[email protected] ~ % ping6 koreantech.org.com PING6(56=40+8+8 bytes) 2a01:4b00:88e4:8700:d8ca:bf50:159c:2a1d --> 2606:4700:20::681b:7673 16 bytes from 2606:4700:20::681b:7673, icmp_seq=0 hlim=250 time=8.650 ms 16 bytes from 2606:4700:20::681b:7673, icmp_seq=1 hlim=250 time=8.738 ms
인터넷을 통해 원격 ping을 수행해야 하는 경우 온라인 ping 도구를 사용할 수 있습니다.
결론
telnet은 최신 Linux 버전에서 단계적으로 중단됩니다. 위의 텔넷 대안 덕분입니다.
Linux를 처음 사용하고 배우려는 경우 다음을 확인하십시오. 유데미 과정.