본문 바로가기

SWUFORCE 워게임👊🏻

[워게임 실습] Heartbeat

 

하트비트란? 시스템이 살아있음을 주기적으로 신호(비트)를 보내 확인하는 것이다.

서버나 분산 시스템, IoT 장비 등에서 자주 쓰인다.

 

1. 리눅스에서 ping으로 하트비트 확인하기 

서버가 살아있는지 확인할 때 "하트비트"처럼 ping을 사용해 주기적으로 응답을 확인할 수 있다.

ping -i 1 google.com

 

 

( -i 1 → 1초마다 신호(하트비트) 보내기)

 

 

결과 해석

  • 64 bytes
    → 보낸 패킷 크기. ping은 기본적으로 64바이트짜리 ICMP 요청 패킷을 보낸다.
  • from kix06s11-in-f14.1e100.net (142.250.207.110)
    → 응답을 준 서버의 이름(호스트 이름)과 실제 IP 주소. 여기선 구글의 서버 중 하나(142.250.207.110).
  • icmp_seq=1
    → ICMP 패킷의 순번. 1, 2, 3… 하면서 차례대로 보낸 하트비트 번호
  • ttl=255
    → Time To Live (수명). 패킷이 네트워크를 몇 번 거칠 수 있는지 나타내는 값.
    여기선 255라서 거의 줄지 않았고, 가까운 서버임을 의미할 수 있다.
  • time=66.5 ms
    → 왕복 시간(RTT, Round Trip Time). 내 컴퓨터에서 → 구글 서버 → 다시 내 컴퓨터까지 오는데 걸린 시간.
    밀리초(ms) 단위라, 66.5ms면 약 0.066초 걸린 것

 

2. 파이썬으로 간단한 하트비트 시뮬레이션 만들기

 

프로그램이 주기적으로 “살아있다”는 메시지를 보내도록 하는 파이썬 코드 파일을 하나 생성해준다.

 

 

명령프롬프트에서 해당 파일을 실행해주면, 약 1초 간격마다 메시지가 띄워진다.

이를 통해 프로그램 내부 하트비트 개념을 볼 수 있다.