본문 바로가기

Linux/Linux공통

[Linux] Ping, Curl, telnet

서버끼리 통신하는 작업을 하다가 방화벽이 뚫려 있는지 확인할 일이 생겼다.

ping도 쓰고 curl도 쓰는데 둘 차이가 뭔지 갑자기 궁금해져서 찾아봤다.

 

Ping

ping [대상 목적지 ip]

탁구 ping pong의 줄임말인 줄 알았는데(그런 의미도 있다고 하지만),  Packet Internet Groper의 약자라고 한다...!

확인할 IP로 인터넷 패킷을 전송하고 대상이 보낸 응답을 분석하는 방식이다. 

실제 ping google.com을 쳐보면 packets 전송상태를 나타내 준다. 

ping은 ICMP 프로토콜(TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜)을 사용하는데 이 프로토콜은 OSI 7 계층의 3 layer에 해당하는 Network layer에 속하는 프로토콜을 사용한다.

OSI 7계층(리마인드,,)

 

그렇기 때문에 4 layer인 Transport layer에서 사용하는 port 정보를 이용하지 않는다.

그래서 ping 명령어로는 포트가 열려있는지 까지는 확인할 수 없는 것이다.

 

Curl

curl [대상 목적지] (default로 GET)

Curl은 Client URL의 약자라고 한다. URL로 데이터를 전송하여 서버에서 데이터를 가져오거나 서버에 데이터를 보낼 때 사용한다.

즉, curl을 활용하여 endpoint에 HTTP 프로토콜을 이용하여 PUT, POST 등의 요청을 보내고 그 결과를 확인할 수 있다.

 

telnet

telnet [대상 목적지] [포트번호]

ping이 단지 요청을 보내고 받아서 분석하는 명령어라면 telnet은 컴퓨터와 컴퓨터 사이를 연결해주는 명령어이다.

포트 오픈 확인까지 할 수 있는 telnet은 transport layer 를 통해 통신하는 거(겠지..?)

 

윈도우 컴퓨터에서는 설정을 통해 telnet을 활성화시키면 되고 (제어판 -> 프로그램 및 기능 ->  Windows 기능 켜기/끄기 -> 텔넷 클라이언트 체크

 

맥 환경에서는 brew를 통해 다운로드하면 된다.

 

 

아래는 방화벽이 열렸는지 서버간 통신을 확인하는 방법 예시이다.

curl -v telnet://10.15.112.136:1521

 

 

 

출처

https://haonly.tistory.com/120

 

[Ping, Curl, telnet] 서버 health check | 포트 오픈 확인

서버끼리 통신하는 작업을 하다가 방화벽이 뚫려 있는지 확인할 일이 생겼다. ping도 쓰고 curl도 쓰는데 둘 차이가 뭔지 갑자기 궁금해져서 찾아봤다. Ping ping [대상 목적지 ip] 탁구 ping pong의 줄임

haonly.tistory.com