서버끼리 통신하는 작업을 하다가 방화벽이 뚫려 있는지 확인할 일이 생겼다.
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
'Linux > Linux공통' 카테고리의 다른 글
[Linux] top 명령어로 서버의 상태 파악하기 (0) | 2023.04.04 |
---|---|
[Linux] DB접속 오류 (java.sql.SQLRecoverableException: IO Error: Connection reset ) (0) | 2023.03.17 |
[Linux] Cannot bind socket error(포트 이미 사용 중) 해결법 (0) | 2023.03.09 |
[Linux] 프로세스 강제 종료, 먹통 일 떄 강제 종료하기 (0) | 2023.03.09 |
[Linux] Swap (1) | 2023.03.06 |