ㅈㄱㅈ/ㄴㅌㅇㅋㄱㄹㅅ

네트워크 명령어

SBP 2025. 4. 22. 16:23

네트워크 명령줄 도구는 네트워크 관리, 문제 해결, 성능 모니터링에 필수적입니다. 운영체제(Windows, Linux 등)에 따라 사용되는 명령어가 다소 차이가 있습니다. 가장 일반적으로 사용되는 핵심 네트워크 명령어들을 기능별로 자세히 설명해 드리겠습니다.
네트워크 명령어 사용의 중요성:

  • 상태 확인: 현재 네트워크 설정(IP 주소, 게이트웨이, DNS 등)을 확인합니다.
  • 연결 테스트: 특정 대상(다른 컴퓨터, 서버)과의 네트워크 연결 상태를 확인합니다.
  • 문제 진단: 네트워크 통신 문제를 발생 지점별로 추적하고 원인을 파악합니다.
  • 성능 분석: 네트워크 트래픽, 연결 상태 등을 모니터링하여 성능 저하 원인을 찾습니다.
    1. 구성 및 정보 확인 명령어
      현재 시스템의 네트워크 설정 정보를 확인하는 명령어들입니다.
  • Windows:
    • ipconfig
      • 기능: 현재 시스템에 설정된 네트워크 어댑터들의 IP 주소, 서브넷 마스크, 기본 게이트웨이 등의 기본 정보를 표시합니다.
      • 자주 사용되는 옵션:
        • /all: 모든 네트워크 어댑터에 대한 상세 정보(MAC 주소, DHCP 서버, DNS 서버 등)를 표시합니다.
        • /release: DHCP 클라이언트 설정된 어댑터의 IP 주소를 반환합니다.
        • /renew: DHCP 서버로부터 새로운 IP 주소를 할당받습니다.
        • /flushdns: DNS 확인자 캐시(Resolver Cache) 내용을 지웁니다. DNS 관련 문제 해결에 유용합니다.
      • 예시: ipconfig, ipconfig /all, ipconfig /flushdns
  • Linux:
    • ip (최신 배포판에서 선호됨)
      • 기능: 네트워크 인터페이스, 라우팅 테이블, ARP 캐시 등 다양한 네트워크 관련 정보를 확인하고 설정합니다. ifconfig와 route 명령어를 대체하는 통합 명령어입니다.
      • 자주 사용되는 옵션 (일부):
        • addr show 또는 a: 네트워크 인터페이스의 IP 주소, 서브넷 마스크 등을 표시합니다. (ip addr show eth0)
        • link show 또는 l: 네트워크 인터페이스의 상태(UP/DOWN), MAC 주소 등을 표시합니다. (ip link show eth0)
        • route show 또는 r: 라우팅 테이블 정보를 표시합니다. (ip route show)
        • neigh show 또는 n: ARP 캐시 테이블 정보를 표시합니다. (ip neigh show)
      • 예시: ip addr show, ip route show, ip neigh show
    • ifconfig (구형 배포판 또는 여전히 사용됨)
      • 기능: 네트워크 인터페이스의 IP 주소, 서브넷 마스크, MAC 주소, 전송량 등 정보를 표시하고 설정합니다. (현재는 ip 명령어 사용이 권장됩니다.)
      • 자주 사용되는 옵션:
        • -a: 현재 활성화되지 않은 인터페이스 포함 모든 인터페이스 정보를 표시합니다.
        • up: 해당 인터페이스를 활성화합니다. (ifconfig eth0 up)
        • down: 해당 인터페이스를 비활성화합니다. (ifconfig eth0 down)
      • 예시: ifconfig, ifconfig eth0
    • route (구형 배포판 또는 여전히 사용됨)
      • 기능: IP 라우팅 테이블 정보를 표시하고 설정합니다. (현재는 ip route 사용이 권장됩니다.)
      • 자주 사용되는 옵션:
        • -n: 호스트 이름 대신 IP 주소로 표시합니다.
      • 예시: route -n
  • Windows/Linux 공통:
    • netstat
      • 기능: 현재 활성화된 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 표시합니다. 특정 포트가 열려 있는지 확인하거나 의심스러운 연결을 찾을 때 유용합니다.
      • 자주 사용되는 옵션:
        • -a: 모든 활성 연결 및 수신 대기 포트를 표시합니다.
        • -n: 주소와 포트 번호를 숫자로 표시합니다 (이름 확인 생략하여 속도 향상).
        • -r: 라우팅 테이블 내용을 표시합니다.
        • -p 프로토콜: 특정 프로토콜(tcp, udp 등)에 대한 연결만 표시합니다. (Linux에서는 특정 프로그램명도 가능)
        • -b: 연결을 사용하고 있는 실행 파일 이름을 표시합니다 (Windows).
    1. 연결 테스트 명령어
      특정 대상과의 네트워크 연결 상태를 확인하는 명령어들입니다.
  • Windows/Linux 공통:
    • ping
      • 기능: ICMP 프로토콜을 사용하여 대상 호스트까지 네트워크 연결이 가능한지, 응답 시간은 얼마나 걸리는지 확인합니다. 네트워크 문제 진단의 첫 단계로 가장 많이 사용됩니다.
      • 자주 사용되는 옵션:
        • -t: 대상에 대한 ping을 계속 수행합니다 (Windows).
        • -c 개수: 지정된 개수만큼만 ping 요청을 보냅니다 (Linux).
        • -s 크기: ICMP 에코 요청에 포함될 데이터 패킷의 크기를 지정합니다 (Linux).
        • -n 개수: 지정된 개수만큼만 ping 요청을 보냅니다 (Windows).
      • 예시: ping google.com, ping 192.168.1.1, ping -c 5 google.com (Linux), ping -n 5 google.com (Windows)
    • traceroute (Linux) / tracert (Windows)
      • 기능: 데이터 패킷이 출발지에서 목적지까지 이동하는 경로상의 모든 라우터(홉) 정보를 추적하여 표시합니다. 어느 구간에서 연결이 끊기거나 지연되는지 파악할 때 유용합니다.
      • 자주 사용되는 옵션:
        • -d: 경로상의 IP 주소를 이름으로 변환하지 않고 숫자로 표시합니다 (Windows).
        • -n: 경로상의 IP 주소를 이름으로 변환하지 않고 숫자로 표시합니다 (Linux).
        • -w 시간: 각 응답을 기다리는 제한 시간(밀리초)을 설정합니다.
      • 예시: traceroute google.com (Linux), tracert google.com (Windows), tracert -d google.com (Windows)
    1. 문제 해결 및 모니터링 명령어
      네트워크 문제를 상세히 진단하거나 트래픽을 모니터링하는 데 사용되는 명령어들입니다.
  • Windows/Linux 공통:
    • arp
      • 기능: ARP 캐시 테이블 내용을 표시하거나 관리합니다. IP 주소에 해당하는 MAC 주소를 확인하거나 잘못된 ARP 캐시 정보를 삭제할 때 사용합니다.
      • 자주 사용되는 옵션:
        • -a: 현재 ARP 캐시 테이블의 모든 내용을 표시합니다.
      • 예시: arp -a
  • Windows:
    • nslookup
      • 기능: DNS(Domain Name System) 서버에게 특정 도메인 이름에 대한 IP 주소를 질의하거나, IP 주소에 대한 도메인 이름을 질의합니다 (역방향 조회). DNS 관련 문제 해결에 사용됩니다.
      • 예시: nslookup google.com, nslookup 8.8.8.8
  • Linux:
    • dig
      • 기능: DNS 조회를 위한 유연하고 강력한 도구입니다. nslookup보다 더 상세하고 다양한 유형의 DNS 레코드 조회가 가능합니다.
      • 자주 사용되는 옵션:
        • @서버IP: 특정 DNS 서버에게 직접 질의합니다.
        • ANY: 모든 유형의 레코드를 질의합니다.
      • 예시: dig google.com, dig @8.8.8.8 google.com, dig google.com MX (MX 레코드 조회)
    • tcpdump
      • 기능: 네트워크 인터페이스를 통과하는 패킷들의 헤더 정보를 가로채서 출력하는 강력한 패킷 분석 도구입니다 (CLI 기반). 특정 조건(프로토콜, 포트, IP 등)에 맞는 패킷만 필터링하여 볼 수 있습니다. 네트워크 문제를 심층적으로 분석할 때 사용됩니다.
      • 예시: sudo tcpdump -i eth0, sudo tcpdump -i eth0 host 192.168.1.10, sudo tcpdump -i eth0 port 80
  • 크로스 플랫폼 (GUI 툴):
    • Wireshark
      • 기능: GUI 기반의 대표적인 네트워크 패킷 분석 도구입니다. tcpdump와 유사하게 패킷을 가로채지만, 훨씬 사용하기 쉬운 인터페이스와 강력한 패킷 분석 기능을 제공합니다.
        이 외에도 다양한 네트워크 관련 명령어와 도구들이 있습니다. 각 명령어의 상세한 사용법은 해당 운영체제의 맨 페이지(man page, man 명령어이름으로 확인) 또는 도움말(명령어이름 /? (Windows) 또는 명령어이름 --help (Linux)로 확인)을 참고하시는 것이 가장 정확합니다.