본문 바로가기
개발관련/NETWORK

[윈도우&리눅스] 서버 연결 확인 명령어

by joa-yo 2022. 1. 25.
반응형

ping 

ping [아이피 주소]

 IP 네트워크를 통해 특정한 호스트가 도달할 수 있는지의 여부를 테스트하는 데 쓰이는 명령어입니다.

 

ping 요청이 정상적으로 도달하는 경우

C:\Users\#####>ping www.naver.com

Ping e6030.a.akamaiedge.net [23.201.36.188] 32바이트 데이터 사용:
23.201.36.188의 응답: 바이트=32 시간=3ms TTL=52
23.201.36.188의 응답: 바이트=32 시간=4ms TTL=52
23.201.36.188의 응답: 바이트=32 시간=3ms TTL=52
23.201.36.188의 응답: 바이트=32 시간=4ms TTL=52

23.201.36.188에 대한 Ping 통계:
    패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
왕복 시간(밀리초):
    최소 = 3ms, 최대 = 4ms, 평균 = 3ms

 

ping 요청을 4번 보내서, 정상적으로 응답하는지를 테스트하는 것입니다. 4번 중 4번이 모두 성공했음은 물론 왕복시간까지 알 수 있습니다. 이를 통해 호스트와 연결이 가능할 수 있음을 알 수 있습니다.

 

이 명령어는 도메인과 포트번호는 확인하지 못합니다. 오직 아이피만을 확인할 수 있는 명령어 입니다.

 

ping 요청이 도달하지 못하는 경우

C:\Users\####>ping naver.com [223.130.200.107] 32바이트 데이터 사용:
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.

223.130.200.107에 대한 Ping 통계:
    패킷: 보냄 = 2, 받음 = 0, 손실 = 2 (100% 손실),
Control-C

"요청시간이 만료되었습니다."라는 문구가 발생하며 오랜시간이 소요됩니다. 4번의 요청을 모두 기다리기에는 오랜시간이 소요되기 때문에 중간에 "CTRL+C"를 눌러 요청을 종료한 모습이다.

 

두번 다 '요청 시간 만료'가 발생하였기 때문에, 특정 호스트와 연결이 되지 않는다는 것을 알 수 있습니다. 이럴 때는 방화벽이나 라우트 등 네트워크 설정을 확인해보아야 합니다.

 

telnet

telnet [아이피] [포트번호]

telnet은 기본명령어가 아니라서 별도로 설치를 해주어야합니다. 리눅스와 Window의 설치방법은 다르니, 각자에 맞는 설치방법을 확인하셔야 합니다.

 

 

해당 아이피에 연결 가능 & 포트가 열려있는 경우

C:\Users\####>telnet 127.0.0.1 80

[검은화면으로 전환]

telnet은 특정 포트가 열려 있는지 확인하는 명령어 입니다. 저의 경우, 80번 포트에 아파치를 설정해두어 웹 서비스가 가능하도록 설정이 되어 있어 80포트에 연결이 되고, CMD창이 검정색으로 변경되었습니다. 리눅스의 경우 "connected"라고 뜬다면 정상적으로 연결된 것입니다. 연결을 끊고싶다면 [ctrl+c]를 눌러서 강제 종료를 합니다.

 

 

해당 아이피에 연결 불가 or 포트가 닫혀 있는 경우

C:\Users\####>telnet 127.0.0.1 70
연결 대상 127.0.0.1...호스트에 연결할 수 없습니다. 포트 70: 연결하지 못했습니다.

C:\Users\jisue>

 

해당 포트로 접속이 불가능함을 나타냅니다.

 

[LINUX] =====
case1 : 방화벽이 오픈되지 않은 것
[root@abc] telnet 172.0.0.1 22
Trying 172.0.0.1...

case2 : 방화벽은 오픈 되었으나, 프로세스가 기동되어 있지 않음
[root@abc] telnet 172.0.0.1 22
Trying 172.0.0.1...
telnet: Unable to connect to remote host: Connection refused

case3 : 방화벽 오픈 및 프로세스 정상 기동
[root@abc] telnet 172.0.0.1 22
Trying 172.0.0.1...
Connected to 172.0.0.1
Escape character is '^]'

리눅스의 경우에는 조금 더 자세히 알 수 있습니다. 네트워크가 문제인지 프로세스가 문제인지를 알 수 있습니다.

 

nslookup

nsplookup [도메인]

nslookup은 Name Server Lookup을 의미합니다. 이름 처럼 DNS(Domain Name System)를 확인할 수 있는 명령어 입니다. 원래 서버를 찾아가기 위해서는, 서버의 아이피주소가 필요합니다. 하지만 우리가 웹사이트에 접속하는 방법은 'www.naver.com'처럼 사람이 식별가능한 문자열입니다. 이 문자열로 서버를 찾아갈 수 있는 이유는 DNS에 도메인과 아이피가 등록되어 있어서 DNS에 도메인을 요청하면 아이피 주소를 받아올 수 있기 때문입니다.

 

일반적인 사용자가 사용하는 것은 public DNS로 누구나 접근 가능한 DNS입니다.  모든 사용자가 우리 웹사이트를 방문할 수 있게 하고 싶다면 public DNS에 도메인과 아이피를 등록해야합니다. 네이버처럼요. 하지만 내부망을 사용하는 경우, 내부망에서만 도메인을 등록하여 사용하고 싶을 수도 있습니다.

 

DNS에 정상적으로 도메인이 등록되었는지를 확인할 필요가 있겠죠? 이럴 때 사용할 수 있는 것이 nslookup입니다.

 

등록된 도메인

C:\Users\jisue>nslookup www.naver.com
서버:    dns.opendns.com
Address:  208.67.222.222

권한 없는 응답:
이름:    e6030.a.akamaiedge.net
Address:  104.109.240.195
Aliases:  www.naver.com
          www.naver.com.nheos.com
          www.naver.com.edgekey.net

 

등록되지 않은 도메인

C:\Users\jisue>nslookup www.naver.naver.com
서버:    dns.opendns.com
Address:  208.67.222.222

*** dns.opendns.com이(가) www.naver.naver.com을(를) 찾을 수 없습니다. Non-existent domain

 

 

... 추후에 추가됩니다.

netstat 네트워킹 되고 있는 프로그램 및 포트

ps -ef 프로세스 확인 명령어

 

반응형

댓글