원격 서버 상태 체크

Olivia·2024년 7월 22일
1

[Network]

목록 보기
3/3

1. Ping

네트워크 연결성의 기본

Ping은 ICMP(Internet Control Message Protocol)를 사용하여 네트워크 상의 특정 호스트와의 연결성을 테스트하고 응답 시간을 측정한다.

주요 용도

  • 네트워크 연결 가능 여부 확인
  • 네트워크 지연 시간 측정
  • 패킷 손실률 확인

기본 사용법

ping testUrl 혹은 testIp

위의 명령어를 통해 해당 url에 ICMP Echo Request를 보내고 호스트로부터 ICMP Echo Reply 응답을 기다린다. 이 과정에서 패킷의 왕복 시간을 측정한다.

결과 예시

PING testUrl (testIp): 56 data bytes
64 bytes from testIp: icmp_seq=0 ttl=56 time=11.632 ms
64 bytes from testIp: icmp_seq=1 ttl=56 time=11.726 ms
64 bytes from testIp: icmp_seq=2 ttl=56 time=10.823 ms
64 bytes from testIp: icmp_seq=3 ttl=56 time=11.064 ms
^C
--- example.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 10.823/11.311/11.726/0.387 ms
  • ip 주소: testUrl의 ip주소는 testIP다. ip 주소를 알고싶을때 ping을 통해서 해당 url로 ping을 쏘기도 한다.
  • 패킷 크기: 각 ping의 크기는 56 바이트의 데이터를 포함한다.
  • 응답 시간: 각 줄의 time은 왕복 시간을 밀리초 단위로 나타낸다.
  • TTL(Time To Live): 모든 응답의 TTL값이 56이다. 이는 패킷이 최대 56개의 홉(라우터)를 통과할 수 있음을 의미한다.
  • 패킷 손실(Packet loss): 0.0% 패킷 손실은 네트워크 연결이 안정적임을 나타낸다.
  • 통계: 최소/평균/최대 RTT와 표준 편차를 보여준다. 따라서 testURL 서버와의 연결이 안정적이고 응답 시간이 일정함을 보여준다.

2. Telnet

Telnet은 원격 호스트에 텍스트 기반 인터페이스로 접속할 수 있게 해주는 네트워크 프로토콜이다. 쉽게 말해 원격 접속 서비스로서 특정 사용자가 네트워크를 통해 다른 컴퓨터에 연결하여 그 컴퓨터에서 제공하는 서비스를 받을 수 있도록 해준다.
현재는 보안상의 이유로 SSH로 많이 대체되었지만, 네트워크 진단 도구로 여전히 사용되고 있다.

주요 용도

  • 과거) 원격 시스템 관리
  • 특정 포트의 연결성 테스트
  • 텍스트 기반 프로토콜(HTTP, SMTP등) 수동 테스트

기본 사용법

telnet testUrl testPort

결과 예시

Trying testIP...
Connected to testUrl.
연결대상 testIP... 호스트에 연결할 수 없습니다. 포트 testPort: 연결하지 못했습니다.
  • 지정된 TestIP 주소로 연결을 시도한다.
  • Connected to testURL=> 성공적으로 연결됨.
  • 연결대상 testIP... 호스트에 연결할 수 없습니다. 포트 testPort: 연결하지 못했습니다.=> telnet(1번창)이 바로 연결 실패하여 결과를 확인할 수 없다면 송신서버의 OUTBOUND 방화벽이 막혀있을 확률이 높다.

Netcat (nc)

Netcat은 네트워크 유틸리티 프로그램으로, TCP 또는 UDP 연결을 통해 데이터 읽기 및 쓰기를 할 수 있게 해준다.
즉, 다시말해 컴퓨터 간에 데이터를 보내거나 받을 수 있게 해주는 간단한 도구로 네트워크 연결을 테스트하고, 데이터를 전송하는 데 사용되고 있다.
Netcat은 네트워크 디버깅, 포트 스캐닝, 백도어 설정 등 다양한 목적으로 사용되며, 주로 리눅스와 유닉스 시스템에서 많이 사용되지만, 윈도우에서도 사용 가능하다.

주요 용도

  • Port 스캐닝
  • Port 리스닝
  • 네트워크 디버깅
  • 파일 전송

기본 사용법

nc -zv testUrl testPort

결과 예시

nc: connect to testUrl port testPort (tcp) succeeded!
nc: connect to testUrl port testPort (tcp) failed: Connection refused
  • Succeeded!: 해당 port가 열려있고 연결이 가능하다.
  • Failed: Connection refused": 해당 port가 닫혀있거나, 방화벽에 의해 차단되어 있다.
profile
👩🏻‍💻

0개의 댓글