윈도우 사용자라면 제어판이나 설정 앱만으로는 네트워크를 충분히 제어하기 어렵다고 느끼는 경우가 많습니다. 운영체제가 제공하는 모든 기능에 접근해 네트워크를 완벽하게 관리하려면 명령 프롬프트(CMD)를 활용해야 합니다.
명령 프롬프트를 한 번도 사용해 본 적이 없더라도 걱정하지 마세요. 사용법은 아래 소개하는 명령어를 그대로 입력하는 것만큼 간단합니다.
준비가 되었다면, 홈 네트워크를 관리하고 문제를 해결할 때 꼭 알아두면 좋은 유용한 네트워킹 명령어들을 하나씩 살펴보겠습니다.
1. PING
ping은 명령 프롬프트에서 활용할 수 있는 가장 기본적이면서도 실용적인 네트워크 명령어입니다. 컴퓨터가 특정 IP 주소나 도메인에 연결할 수 있는지, 그리고 연결이 가능하다면 데이터가 왕복하는 데 시간이 얼마나 걸리는지 확인해 줍니다.
사용 예시와 출력 결과:
이 명령은 여러 개의 데이터 패킷을 전송한 뒤 몇 개가 돌아오는지 확인하는 방식으로 작동합니다. 일부 패킷이 돌아오지 않으면 '손실(lost)'로 표시됩니다. 패킷 손실은 게임이나 스트리밍 성능 저하로 이어지므로, 이를 빠르게 테스트할 수 있는 유용한 방법입니다.
기본적으로 4개의 패킷을 전송하며, 각 패킷은 4초 후 시간 초과됩니다. 패킷 수를 늘리려면 다음과 같이 입력하세요:
ping www.google.com -n 10
시간 초과 대기 시간을 늘리려면 다음과 같이 입력합니다(단위는 밀리초):
ping www.google.com -w 6000
2. TRACERT
tracert는 Trace Route의 약자입니다. ping처럼 데이터 패킷을 전송해 네트워크 문제를 진단하지만, 패킷이 서버에서 서버로 이동하는 경로를 추적한다는 점이 다릅니다.
사용 예시:
명령을 실행하면 각 홉(hop)마다 지연 시간과 해당 홉의 IP 주소(가능한 경우 도메인 이름 포함)를 한 줄씩 요약해 보여줍니다.
홉마다 지연 시간이 세 번씩 표시되는 이유가 궁금하신가요? tracert는 패킷 손실이나 속도 저하를 대비해 홉당 세 개의 패킷을 전송하기 때문입니다. 단, 이 값이 실제 지연 시간을 정확히 나타내는 것은 아니므로 세 값을 평균 내는 것이 좋습니다.
3. PATHPING
pathping은 tracert와 비슷하지만 더 많은 정보를 제공하며, 그만큼 실행 시간이 오래 걸립니다. 목적지까지 패킷을 전송한 후 경로를 분석하고 홉별 패킷 손실률을 계산해 줍니다.
사용 예시와 출력 결과:
4. IPCONFIG
ipconfig는 윈도우에서 가장 많이 사용되는 네트워킹 명령어로 꼽힙니다. 제공하는 정보 자체가 유용할 뿐만 아니라, 몇 가지 스위치와 조합해 특정 작업을 수행할 수도 있습니다.
사용 예시와 출력 결과:
기본 출력에는 시스템의 모든 네트워크 어댑터와 해당 어댑터의 구성 정보가 표시됩니다. 무선 LAN 어댑터 및 이더넷 어댑터 섹션의 IPv4 주소와 기본 게이트웨이 정보가 가장 중요합니다.
DNS 캐시를 비우려면 다음 스위치를 사용하세요:
ipconfig /flushdns
DNS 캐시를 비우면 인터넷은 정상적으로 연결되어 있는데 특정 웹사이트나 서버에만 접속되지 않는 경우(예: 웹사이트 로딩 시간 초과)에 도움이 됩니다. DNS 캐시 삭제로도 연결 문제가 해결되지 않는다면, 인터넷 연결 문제를 고치는 빠른 문제 해결 팁을 함께 참고해 보세요.
5. GETMAC
IEEE 802 표준을 준수하는 모든 기기에는 고유한 MAC 주소(Media Access Control)가 있습니다. MAC 주소는 제조업체가 할당하여 기기 하드웨어에 저장하며, 일부 사용자는 MAC 주소를 활용해 네트워크에 접속할 수 있는 기기를 제한하기도 합니다.
사용 예시와 출력 결과:
시스템에 네트워크 어댑터가 여러 개 장착되어 있다면 MAC 주소도 여러 개 표시될 수 있습니다. 예를 들어 Wi-Fi와 이더넷 연결은 각각 별도의 MAC 주소를 가집니다. 더 자세히 알고 싶다면 IP 주소와 MAC 주소의 용도를 확인해 보세요.
6. NSLOOKUP
nslookup은 Name Server Lookup의 약자입니다. 강력한 기능을 갖추고 있지만 대부분의 사용자에게는 그 모든 기능이 필요하지 않습니다. 일반 사용자에게 가장 유용한 용도는 특정 도메인 이름 뒤에 숨어 있는 IP 주소를 찾는 것입니다.
사용 예시와 출력 결과:
일부 도메인은 하나의 전용 IP 주소에 묶여 있지 않으므로, 명령을 실행할 때마다 다른 IP 주소가 반환될 수 있습니다. 규모가 큰 웹사이트는 여러 서버에 부하를 분산하기 때문에 발생하는 정상적인 현상입니다.
반대로 IP 주소를 도메인 이름으로 변환하고 싶다면 브라우저에 해당 IP를 입력해 어디로 연결되는지 확인하면 됩니다. 다만 모든 IP 주소가 도메인으로 연결되는 것은 아니며, 웹에서 접근할 수 없는 IP 주소도 많습니다.
7. NETSTAT
netstat는 네트워크 통계, 진단, 분석을 위한 도구입니다. 강력하고 복잡하지만, 불필요한 고급 기능을 무시하면(대규모 기업이나 캠퍼스 네트워크를 관리하는 경우가 아니라면) 충분히 간단하게 사용할 수 있습니다.
사용 예시와 출력 결과:
기본적으로 이 명령은 LAN이든 인터넷이든 시스템의 모든 '활성 연결'을 표시합니다. 활성 연결이 곧 데이터가 오가는 상태를 의미하지는 않으며, 단순히 연결을 받을 준비가 된 열린 포트일 수도 있습니다.
일반 사용자에게 netstat가 가장 유용한 이유는 포트 정보를 보여주기 때문이며, 포트 포워딩이 필요할 때 특히 요긴하게 쓰입니다.
또한 이 명령에는 표시되는 정보의 종류를 변경하는 약 12개의 스위치가 있습니다. 예를 들어 -r 스위치를 사용하면 라우팅 테이블을 대신 표시합니다.
8. NETSH
netsh는 Network Shell의 약자입니다. 앞서 소개한 어떤 명령어보다도 세밀하게 시스템의 거의 모든 네트워크 어댑터를 조회하고 구성할 수 있는 네트워킹 CMD 명령어입니다.
netsh 명령을 단독으로 실행하면 명령 프롬프트가 네트워크 셸 모드로 전환됩니다. 이 셸 안에는 라우팅 관련 명령, DHCP 관련 명령, 진단 등 여러 '컨텍스트'가 있으며, 개별 명령을 바로 실행할 수도 있습니다.
모든 네트워크 셸 컨텍스트를 보려면:
컨텍스트 내의 모든 명령을 보려면:
한 단계 더 들어가 해당 명령들의 하위 명령까지 확인할 수 있습니다:
예를 들어 다음 명령을 실행하면 시스템의 모든 무선 네트워크 드라이버와 그 속성을 확인할 수 있습니다:
netsh wlan show drivers
Network Shell은 복잡해서 이것만으로 별도의 글을 쓸 수 있을 정도입니다. 네트워크 구성을 실질적으로 깊게 다루고 싶다면 이 명령줄 유틸리티가 반드시 필요할 것입니다.
Network Shell을 살펴본 후 CMD 네트워크 명령어 외에 더 탐구하고 싶다면, 모든 사용자가 알아두면 좋은 기본 CMD 명령어도 함께 확인해 보세요.
네트워크 명령어와 다른 네트워킹 해결책
윈도우 네트워킹 명령어가 처음인 분들에게는 치트 시트(요약표)가 큰 도움이 됩니다. 몇 가지만 참고하면 네트워크, Wi-Fi, 인터넷에 관한 다양한 정보를 CMD 명령어로 손쉽게 확인할 수 있습니다. 하지만 선택지를 아는 것도 중요하지만, 상황에 따라서는 다른 방법이 더 적합할 수도 있습니다.
현재 겪고 있는 문제에는 CMD 명령어가 굳이 필요하지 않을 수도 있습니다. 네트워크 문제를 위한 진단 요령과 간단한 해결 방법을 먼저 살펴보고, 그래도 명령어를 더 깊이 파고들어야 한다면 더 나은 사용 경험을 위해 새로운 Windows Terminal을 사용해 보는 것을 추천합니다.