코딩일상

[네트워크] 네트워크 상태,진단, 확인 명령어(ping, netstat)정리 본문

Study/네트워크

[네트워크] 네트워크 상태,진단, 확인 명령어(ping, netstat)정리

solutionMan 2024. 2. 20. 00:56
반응형

 

 네트워크 명령어 정리

명령어 운영 체제 설명 사용 예
ping 공통 대상 호스트가 네트워크에 존재하는지 확인 ping google.com
ipconfig 
ifconfig 
Windows / Mac 네트워크 인터페이스 구성 및 IP 주소 확인 ipconfig
ifconfig
tracert
traceroute 
Windows / Mac 데이터 패킷이 목적지까지 가는 경로 추적 tracert google.com
traceroute google.com
nslookup 공통 도메인 이름의 IP 주소 조회 nslookup google.com
netstat 공통 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 보여줌 netstat -an

 

1. Ping

  • 역할: 네트워크 상의 다른 시스템이 온라인 상태인지와 그 시스템까지 데이터가 얼마나 빨리 도달하는지 확인합니다.
  • 네트워크 계층: 인터넷 계층 (IP 주소를 사용하여 작동).
  • 사용 상황: 웹사이트에 접속이 안 될 때, 그 웹사이트 서버가 작동 중인지 확인하고 싶을 때 사용합니다.
  • 결과값 예시: 64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=15.0 ms - 이는 데이터가 목적지까지 15밀리초 만에 도달했음을 의미합니다.

2.ipconfig/ifconfig

ipconfig(윈도우)/ifconfig(맥)는 윈도우에서 네트워크 인터페이스의 IP 구성을 보거나 수정할 때 사용하는 명령어입니다. 이 명령어는 네트워크의 설정 정보, 예를 들어 IP 주소, 서브넷 마스크, 기본 게이트웨이 등을 확인할 수 있게 해줍니다. 네트워크 문제 해결이나 설정 확인 시 유용합니다.

  • 역할: 컴퓨터의 네트워크 설정 정보를 표시하거나 수정합니다.
  • 네트워크 계층: 링크 계층과 네트워크 계층.
  • 사용 상황: 네트워크 연결 문제 해결, IP 주소 확인, 네트워크 설정 갱신 등에 사용됩니다.
  • 결과값 예시: ipconfig를 실행하면, 현재 컴퓨터의 IP 주소, 서브넷 마스크, 기본 게이트웨이 등의 정보를 출력합니다.

3.Traceroute (Windows: Tracert)

  • 역할: 데이터가 최종 목적지까지 가는 경로를 추적합니다.
  • 네트워크 계층: 인터넷 계층.
  • 사용 상황: 데이터가 특정 서버까지 어떤 경로를 거쳐 가는지 알고 싶을 때 사용합니다.
  • 결과값 예시: 여러 줄에 걸쳐 각 네트워크 홉(hop)을 보여주며, 각 홉까지의 지연 시간을 밀리초 단위로 출력

4. Nslookup

  • 역할: 도메인 이름을 IP 주소로 변환하거나 그 반대의 작업을 수행합니다.
  • 네트워크 계층: 응용 계층.
  • 사용 상황: 웹사이트의 IP 주소를 알고 싶을 때나 도메인 이름이 올바르게 IP 주소로 연결되는지 확인하고 싶을 때 사용합니다.
  • 결과값 예시: 도메인 이름을 입력하면 해당 도메인의 IP 주소를 출력

5. Netstat

  • 역할: 컴퓨터의 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 표시합니다.
  • 네트워크 계층: 전송 계층과 네트워크 인터페이스 계층.
  • 사용 상황: 컴퓨터가 어떤 네트워크 서비스나 외부 시스템과 연결되어 있는지 확인하고 싶을 때 사용합니다.
  • 결과값 예시: 현재 열려 있는 포트와 해당 포트를 사용하는 프로그램 목록을 출력

 

여기서 나오는 Netstat 에서 state 값의 의미는 무엇일까??


네트워크 연결 과정

  1. LISTEN (듣고 있는 상태): 친구가 전화를 기다리는 것처럼, 서버가 클라이언트의 연결 요청을 기다립니다.
  2. SYN_SENT (연락 시작): 연락을 처음 걸어 "만나자"고 말하는 것처럼, 클라이언트가 서버에 연결을 시작하겠다는 신호를 보냅니다.
  3. SYN_RECEIVED (응답 받음): 친구가 "좋아, 어디서 만날까?"라고 대답하는 것처럼, 서버가 클라이언트의 요청을 받고 준비되었다는 신호를 돌려보냅니다.
  4. ESTABLISHED (연결 성립): 두 사람이 만나기로 한 장소와 시간에 동의한 것처럼, 클라이언트와 서버 사이의 연결이 성공적으로 수립되고, 데이터 교환을 시작할 준비가 됩니다.
  5. FIN_WAIT (종료 대기): 만남이 끝나고 집에 가기 전에 "다음에 또 보자"고 인사하는 것처럼, 연결을 종료하기 시작합니다.
  6. TIME_WAIT (시간 대기): 만약 친구가 무언가를 잊어버렸을 때를 대비해 조금 더 기다리는 것처럼, 연결이 완전히 종료되기 전에 잠시 대기합니다.
클라이언트                                 서버
|                                      |
|----------SYN----------->| (연락 시작)
|                                      |
|<---------SYN/ACK--------| (응답 받음)
|                                      |
|-----------ACK---------->| (연결 성립)
|                                      |
|<----------DATA----------| (데이터 교환)
|                                      |
|-----------FIN---------->| (종료 요청)
|                                      |
|<----------ACK-----------| (종료 요청 확인)
|                                      |
|<----------FIN-----------| (종료 시작)
|                                      |
|-----------ACK---------->| (종료 완료)
  • SYN: 연결 시작 신호
  • ACK: 신호 확인
  • SYN/ACK: 연결 준비 완료 및 신호 확인
  • FIN: 연결 종료 신호
  • DATA: 데이터 전송

 


 

정리이유:

요즘 어쩌다 보니 네트워크 상태확인 명령어들을 사용할 일들이 많아졌는데

정리를 해놓아둔적이 없는거 같아 정리를 해보았다.

 

 

 

 

 

반응형

'Study > 네트워크' 카테고리의 다른 글

[네트워크]OSI 7계층 이란??  (0) 2022.11.01
Comments