Windows에는 유용한 네트워크 유틸리티가 여러 개 내장되어 있습니다. 이러한 프로그램들은 네트워크 연결에 관한 중요한 정보를 얻고 문제를 진단하는 데 큰 도움이 됩니다. 모든 Windows 사용자가 반드시 알아야 할 TCP/IP 네트워크 유틸리티는 다음 네 가지입니다.
- Netstat
- Tracert
- IPconfig
- NSlookup
이 유틸리티들이 각각 어떤 역할을 하고, 실제로 어떻게 활용되는지 하나씩 살펴보겠습니다.
TCP/IP 간단 복습
네 가지 유틸리티 모두 TCP/IP 네트워크 프로그램입니다. 그렇다면 TCP/IP란 무엇일까요?
TCP/IP는 Transmission Control Protocol/Internet Protocol(전송 제어 프로토콜/인터넷 프로토콜)의 약자입니다. 프로토콜이란 어떤 작업이 진행되는 방식을 규정하는 규칙과 사양의 집합을 의미합니다.
예를 들어, 직장에서는 아무 때나 무작정 상사의 사무실에 들어가기보다 먼저 비서를 통해 약속을 잡는 것이 매너일 것입니다. 마찬가지로 TCP/IP는 인터넷에 연결된 수많은 장치들이 질서 있게 서로 통신할 수 있는 방법을 정의하는 규약입니다.
명령줄과 친해지기
오늘날 컴퓨터 인터페이스의 대부분은 그래픽 방식이지만, 텍스트 기반 명령줄 도구의 필요성은 여전히 남아 있습니다. 대부분의 TCP/IP 유틸리티는 명령줄을 통해 작동하며, 유틸리티 이름과 실행할 동작을 직접 입력해야 합니다.
Windows에서는 전통적으로 명령 프롬프트(Command Prompt)가 사용되어 왔지만, 현재는 점차 대체되고 있습니다. 요즘 권장되는 명령줄 인터페이스는 Windows PowerShell입니다.
PowerShell을 실행하는 방법은 다음과 같습니다.
- 시작 버튼을 마우스 오른쪽 버튼으로 클릭합니다.
- Windows PowerShell(관리자)을 선택합니다.
이제 PowerShell 명령줄에 원하는 명령을 자유롭게 입력할 수 있습니다. PowerShell을 제대로 익히고 싶다면 초보자용 가이드부터 차근차근 시작해 보는 것이 좋습니다.
그럼 이제 네 가지 유틸리티를 자세히 알아보겠습니다.
Netstat란 무엇인가?
Netstat는 Network Statistics(네트워크 통계)의 줄임말로, 네트워크 연결이 특정 시점에 어떤 상태인지에 대한 중요한 정보를 제공하는 강력한 유틸리티입니다. 어떤 포트가 열려 있고 사용 중인지, 어떤 연결이 활성화되어 실행 중인지 등 핵심 네트워크 활동에 대한 기본 통계를 보여줍니다.
Netstat는 Windows 전용이 아니라 Linux, Unix, Mac에서도 사용할 수 있습니다. Unix에서 탄생하여 지금은 네트워크 관리자의 필수 도구로 자리 잡았습니다.
Microsoft TCPView라는 그래픽 대안도 있지만, netstat 사용법을 알아두면 언제나 유용합니다. 활용 사례는 다양하지만, 요즘 특히 흔한 용도는 악성코드 탐지입니다. 트로이목마 같은 악성 소프트웨어는 포트를 열어두고 제작자의 추가 지시를 기다리는 경우가 많습니다. netstat를 사용하면 컴퓨터에서 외부로 나가는 의심스러운 연결을 빠르게 확인할 수 있습니다.
주요 Netstat 명령
Netstat는 가장 사용하기 쉬운 TCP/IP 유틸리티 중 하나입니다. "netstat"(따옴표 제외)만 입력하면 활성 연결 목록이 표준 형식으로 출력됩니다.
네트워크 연결을 간단히 개관하기에는 충분하지만, 옵션을 활용하면 출력 결과를 원하는 대로 바꿀 수 있습니다. 예를 들어 "netstat -a"는 모든 활성 포트를 표시하고, "netstat -b"는 각 수신 대기 포트와 연결된 실행 파일을 보여줍니다. 그 외 주요 명령은 다음과 같습니다.
- netstat -e – 전송된 패킷의 상세 정보를 표시합니다.
- netstat -n – 현재 연결된 호스트 목록을 보여줍니다.
- netstat -p – 확인할 프로토콜 유형을 지정할 수 있습니다.
- netstat -r – 라우팅 테이블 목록을 제공합니다.
- netstat -s – IPv4, IPv6, ICMP, TCP 등 프로토콜별 통계를 보여줍니다.
Tracert란 무엇인가?
Tracert는 traceroute의 줄임말로, 컴퓨터의 네트워크 인터페이스에서 목적지 장치까지 이동하는 경로상의 모든 지점(홉)에 대한 정보를 보여주는 유틸리티입니다.
Tracert를 실행하면 특수한 ICMP(Internet Control Message Protocol) 패킷을 전송하여 경로상의 각 장치가 정보를 되돌려 보내도록 합니다. 각 홉에서 패킷이 도착한 정확한 시간을 수집한 뒤, 이를 바탕으로 구간별 이동 시간을 계산합니다.
Tracert의 대표적인 용도는 세 가지입니다.
- 패킷이 어느 지점에서 손실되는지 확인합니다.
- 패킷이 어느 구간에서 지연되는지 파악합니다.
- 패킷 경로상 각 홉의 IP 주소를 확인합니다.
주요 Tracert 명령
가장 기본적인 Tracert 명령은 유틸리티 이름과 목적지만 지정하면 됩니다. 목적지는 IP 주소 또는 웹사이트 URL로 표현할 수 있습니다. 예를 들어 Tracert www.google.com과 같이 입력합니다.
Tracert에도 몇 가지 유용한 옵션이 있습니다.
- tracert -d: 주소를 호스트 이름으로 변환하지 않고 표시합니다.
- tracert -h 최대홉수: 기본 홉 수를 변경합니다. 예: -h 30
- tracert -j 호스트목록: 지정한 호스트 목록을 따르는 LSR(완화된 원본 경로)을 설정합니다.
- -w 시간: 각 홉에서 시간 초과로 판정하기까지 대기할 시간(밀리초)을 지정합니다. 예: tracert -w 1000
간단한 도구이지만, 네트워크 문제를 추적할 때는 놀랍도록 유용하게 쓰입니다.
IPconfig란 무엇인가?
가장 널리 쓰이는 TCP/IP 유틸리티 중 하나인 IPconfig는 컴퓨터에 설치된 네트워크 장치의 현재 구성 정보를 보여줍니다. 또한 네트워크 연결과 관련된 특정 작업을 수동으로 강제 실행하는 데에도 활용할 수 있습니다.
특히 IP 주소가 동적으로 할당되는 환경이라면 IPconfig가 매우 유용합니다. 시스템에 현재 부여된 IP 주소를 즉시 확인할 수 있기 때문입니다.
주요 IPconfig 명령
IPconfig는 일반적으로 매개변수와 함께 사용되며, 매개변수에 따라 네트워크 정보를 표시하거나 네트워크 관련 작업을 수행합니다. 꼭 알아두어야 할 핵심 명령은 다음과 같습니다.
- ipconfig /all: 모든 물리적·가상 네트워크 어댑터의 연결 정보를 표시합니다.
- ipconfig /flushdns: DNS 확인자 캐시를 초기화합니다. DNS 관련 문제 해결에 효과적입니다.
- ipconfig /renew: 새 IP 주소 할당을 강제합니다.
IPconfig는 인터넷 연결 문제 해결의 기본 도구이므로, 주요 명령을 미리 익혀두는 것이 좋습니다.
NSLookup이란 무엇인가?
NSlookup은 nameserver lookup(네임서버 조회)의 줄임말입니다. 네임서버는 DNS(도메인 이름 시스템)의 핵심 서버로, 브라우저에 입력한 URL을 해당 콘텐츠를 호스팅하는 서버의 IP 주소와 연결해 주는 역할을 합니다.
평소에는 이 과정이 사용자에게 보이지 않지만, NSlookup을 사용하면 다음 두 가지를 직접 확인할 수 있습니다.
- 특정 웹사이트 주소 뒤에 숨어 있는 IP 주소를 찾습니다.
- 특정 IP 주소에 연결된 URL을 찾습니다.
즉, 웹 주소나 IP 주소 중 하나만 알고 있어도 NSlookup으로 나머지 정보를 확인할 수 있습니다. 여기에 Tracert나 Netstat의 결과를 함께 활용하면, 특정 IP 주소에 어떤 웹 서버가 연결되어 있는지까지 파악할 수 있습니다.
주요 NSLookup 명령
NSlookup의 핵심 명령은 크게 세 가지입니다. 첫 번째는 단순히 "nslookup"을 입력하는 것으로, 현재 사용 중인 네임서버와 그 IP 주소를 표시합니다.
이때 NSlookup이 아직 실행 중이며, PowerShell이 아닌 NSlookup 자체의 명령줄에 있다는 점에 유의하세요. PowerShell로 돌아가려면 exit를 입력하고 Enter 키를 누르면 됩니다.
그럼 잠시 NSlookup에 머물면서 네임서버에 google.com의 주소를 물어보겠습니다. google.com을 입력하고 Enter 키를 누릅니다.
실행 결과로 IP 주소 172.217.170.46이 반환됩니다. 이 주소를 웹 브라우저에 입력하면 Google 검색 페이지로 바로 이동합니다. 반대로 IP 주소를 입력하면 해당 서버와 연결된 URL을 역으로 확인할 수도 있습니다.
이제 네트워크에서 벌어지는 일을 이해하고 인터넷의 신비로운 베일을 걷어내는 데 도움이 되는 네 가지 기본 TCP/IP 유틸리티를 모두 익혔습니다. 즐거운 탐색 되세요!