같은 공유기에 연결된 컴퓨터, 스마트폰, 프린터, NAS 등의 네트워크 장치는 서로 통신하기 위해 IP 주소뿐 아니라 MAC 주소와 관련된 정보도 사용합니다. Windows에서는 별도의 네트워크 프로그램을 설치하지 않아도 CMD의 arp 명령어를 이용해 현재 컴퓨터가 알고 있는 IP 주소와 MAC 주소의 대응 정보를 확인할 수 있습니다.
특히 arp -a 명령어를 실행하면 Windows에 저장된 ARP 캐시(ARP 테이블)를 확인할 수 있어 로컬 네트워크를 점검하거나 특정 IP 주소에 대응되는 물리적 주소를 확인할 때 유용합니다.
다만 한 가지 주의할 점이 있습니다. arp -a를 실행했다고 해서 현재 공유기에 연결된 모든 기기가 반드시 표시되는 것은 아닙니다. ARP 테이블은 기본적으로 현재 컴퓨터가 최근 로컬 네트워크 통신 과정에서 학습한 주소 정보를 보여주기 때문입니다.
이번 글에서는 Windows CMD에서 arp 명령어를 사용하는 방법부터 arp -a 결과를 읽는 방법, IP 주소와 MAC 주소의 관계, 동적·정적 항목의 차이와 ARP 테이블 활용 시 주의사항까지 자세히 알아보겠습니다.
ARP란 무엇일까?
ARP는 Address Resolution Protocol의 약자입니다.
IPv4 기반의 로컬 네트워크에서 통신할 때 IP 주소에 대응되는 링크 계층의 주소를 알아내는 데 사용되는 프로토콜입니다.
쉽게 이해하기 위해 같은 네트워크에 두 대의 장치가 있다고 가정해보겠습니다.
컴퓨터 A의 IP 주소가 다음과 같다고 해보겠습니다.
192.168.0.10
컴퓨터 B의 IP 주소는 다음과 같습니다.
192.168.0.20
컴퓨터 A가 같은 로컬 네트워크에 있는 컴퓨터 B와 통신해야 한다면 단순히 IP 주소만 아는 것으로 끝나는 것이 아니라 실제 로컬 네트워크에서 프레임을 전달하기 위해 필요한 주소 정보를 알아내는 과정이 필요합니다.
이때 ARP를 통해 IPv4 주소와 해당 네트워크 인터페이스의 물리적 주소 정보를 연결할 수 있습니다.
Windows는 이렇게 확인한 정보를 일정 시간 ARP 캐시에 저장해 활용할 수 있습니다.
Windows CMD에서 arp 명령어 실행하는 방법
먼저 Windows에서 명령 프롬프트를 실행합니다.
작업 표시줄 검색창에 다음과 같이 입력합니다.
cmd
검색 결과에서 명령 프롬프트를 실행합니다.
또는 Windows 키 + R을 눌러 실행 창을 연 뒤 다음과 같이 입력할 수도 있습니다.
cmd
Enter 키를 누르면 CMD가 실행됩니다.
이제 다음 명령어를 입력합니다.
arp -a
Enter 키를 누르면 현재 Windows에 저장된 ARP 관련 정보가 표시됩니다.
단순히 ARP 테이블을 조회하는 arp -a는 일반적으로 관리자 권한 CMD가 없어도 확인할 수 있습니다.
arp -a 명령어란?
Windows에서 ARP 정보를 확인할 때 가장 자주 사용하는 명령어가 다음과 같습니다.
arp -a
이 명령어를 실행하면 현재 컴퓨터의 ARP 캐시에 저장된 IP 주소와 물리적 주소 등의 정보를 확인할 수 있습니다.
환경에 따라 다음과 비슷한 형태로 표시될 수 있습니다.
Internet Address Physical Address Type
192.168.0.1 00-11-22-33-44-55 dynamic
192.168.0.20 aa-bb-cc-dd-ee-ff dynamic
위 주소들은 설명을 위한 예시입니다.
결과를 읽을 때는 크게 다음 세 가지를 확인하면 됩니다.
Internet Address → IPv4 주소
Physical Address → 물리적 주소
Type → 해당 ARP 항목의 유형
처음에는 숫자가 많아 복잡해 보이지만 세 열의 의미만 이해하면 결과를 읽는 것은 어렵지 않습니다.
Internet Address는 무엇을 의미할까?
arp -a 결과에서 Internet Address 항목은 ARP 테이블에 기록된 IPv4 주소를 의미합니다.
가정용 공유기를 사용하는 환경에서는 다음과 같은 사설 IP 주소를 자주 볼 수 있습니다.
192.168.0.1
192.168.0.10
192.168.0.20
또는 네트워크 환경에 따라 192.168.1.x, 10.x.x.x 등의 주소가 사용될 수도 있습니다.
예를 들어 192.168.0.1이 기본 게이트웨이라면 공유기의 내부 주소일 가능성이 있습니다.
현재 컴퓨터의 IP 주소와 기본 게이트웨이는 다음 명령어로 확인할 수 있습니다.
ipconfig
따라서 ipconfig와 arp -a를 함께 사용하면 자신의 네트워크 정보를 이해하는 데 도움이 됩니다.
Physical Address는 무엇일까?
Physical Address에는 해당 ARP 항목과 연결된 물리적 주소가 표시됩니다.
일반적으로 다음과 같은 형태를 볼 수 있습니다.
00-11-22-33-44-55
이러한 형태의 주소를 흔히 MAC 주소라고 부릅니다.
MAC 주소는 네트워크 인터페이스와 관련된 식별 주소입니다.
다만 여기서 주의할 점이 있습니다.
최근 운영체제와 모바일 기기는 개인정보 보호를 위해 Wi-Fi 연결에서 임의 하드웨어 주소 또는 프라이빗 주소 기능을 사용할 수 있습니다.
따라서 ARP 테이블에 표시된 MAC 주소만 보고 특정 물리적 기기를 항상 정확하게 식별할 수 있다고 생각해서는 안 됩니다.
또한 하나의 컴퓨터에도 Ethernet과 Wi-Fi 등 여러 네트워크 인터페이스가 존재할 수 있어 서로 다른 MAC 주소를 가질 수 있습니다.
dynamic은 무엇을 의미할까?
arp -a 결과의 Type 항목에서 자주 볼 수 있는 값이 dynamic입니다.
동적 ARP 항목은 일반적으로 네트워크 통신 과정에서 Windows가 자동으로 학습한 주소 정보입니다.
즉, 사용자가 직접 IP 주소와 물리적 주소의 대응 관계를 입력한 것이 아니라 ARP 통신을 통해 자동으로 캐시에 저장된 정보라고 이해하면 됩니다.
동적 항목은 영구적으로 보관되는 정보가 아닙니다.
시간이 지나거나 네트워크 상태가 변경되면 캐시에서 사라지거나 다시 학습될 수 있습니다.
따라서 같은 컴퓨터에서 arp -a를 실행하더라도 항상 완전히 동일한 결과가 표시되는 것은 아닙니다.
static은 무엇을 의미할까?
ARP 결과에서는 static 유형의 항목도 볼 수 있습니다.
정적 항목은 동적으로 학습되고 만료되는 일반적인 ARP 캐시 항목과 성격이 다릅니다.
Windows 및 네트워크 구성에 따라 시스템이 사용하는 특정 주소 정보 등이 정적 형태로 표시될 수도 있습니다.
따라서 static이라는 단어가 보인다고 해서 무조건 사용자가 직접 추가한 장치라고 생각하면 안 됩니다.
ARP 결과는 개별 항목 하나만 보기보다 IP 주소, 물리적 주소, 인터페이스와 네트워크 환경을 함께 확인하는 것이 중요합니다.
arp -a로 공유기에 연결된 모든 기기를 찾을 수 있을까?
arp -a를 검색하는 사람들이 가장 많이 궁금해하는 부분입니다.
결론부터 말하면 arp -a 결과를 공유기에 현재 연결된 모든 기기의 완전한 목록이라고 생각하면 안 됩니다.
ARP 테이블은 현재 컴퓨터가 알고 있는 주소 정보를 보여줍니다.
같은 공유기에 연결되어 있더라도 현재 컴퓨터와 최근에 통신하지 않은 장치는 ARP 캐시에 나타나지 않을 수 있습니다.
반대로 이전 통신 과정에서 학습된 정보가 일정 시간 캐시에 남아 있을 수도 있습니다.
따라서 공유기에 연결된 기기의 정확한 전체 목록이 필요하다면 공유기의 관리 페이지에서 제공하는 연결된 장치, DHCP 클라이언트, 네트워크 장치 목록 등의 기능을 확인하는 것이 더 적절할 수 있습니다.
arp -a는 현재 PC 관점에서 알고 있는 로컬 네트워크 주소 대응 관계를 확인하는 도구라고 이해하는 것이 정확합니다.
arp -a에 장치가 안 나오는 이유
같은 네트워크에 분명히 장치가 있는데 arp -a 결과에서 찾을 수 없는 경우가 있습니다.
이것이 반드시 오류를 의미하는 것은 아닙니다.
현재 컴퓨터가 해당 장치와 최근 통신하지 않았다면 ARP 캐시에 관련 정보가 없을 수 있기 때문입니다.
예를 들어 같은 네트워크에 특정 장치가 있고 IP 주소를 알고 있다면 해당 장치와 통신을 시도한 뒤 ARP 테이블을 다시 확인해볼 수 있습니다.
예를 들어 대상이 192.168.0.20이라고 가정하면 다음과 같이 테스트할 수 있습니다.
ping 192.168.0.20
그다음 다시 다음 명령어를 실행합니다.
arp -a
해당 장치가 같은 IPv4 로컬 네트워크에 있고 ARP를 통한 주소 확인 및 통신이 이루어졌다면 관련 항목이 나타날 수 있습니다.
다만 장치의 방화벽이나 네트워크 구성 등에 따라 ping 응답 여부는 달라질 수 있으므로 ping 응답이 없다는 이유만으로 장치가 없다고 단정해서는 안 됩니다.
arp -a에서 인터페이스가 여러 개 나오는 이유
컴퓨터에 Wi-Fi와 Ethernet이 모두 있거나 VPN, 가상 머신 등의 네트워크 기능이 설치되어 있다면 arp -a 결과가 여러 인터페이스로 구분되어 표시될 수 있습니다.
예를 들어 다음과 비슷한 형태입니다.
Interface: 192.168.0.10 --- 0x...
그 아래에 해당 인터페이스와 관련된 ARP 항목이 나타납니다.
따라서 ARP 결과를 볼 때는 IP와 MAC 주소만 확인하지 말고 어떤 인터페이스 아래에 표시되는 정보인지도 함께 살펴보는 것이 좋습니다.
현재 Wi-Fi를 사용하고 있다면 Wi-Fi 인터페이스와 관련된 네트워크 범위를 우선 확인하면 됩니다.
내 컴퓨터의 MAC 주소와 arp 결과는 어떻게 다를까?
arp -a를 실행하면 여러 MAC 주소가 표시되기 때문에 이 중 하나가 자신의 컴퓨터 MAC 주소라고 생각할 수 있습니다.
하지만 ARP 테이블은 기본적으로 다른 IPv4 주소와 연결된 물리적 주소 정보를 캐시한 표입니다.
자신의 네트워크 어댑터 MAC 주소를 확인하려면 다음과 같은 명령어가 더 적합합니다.
getmac
또는 다음 명령어에서도 물리적 주소를 확인할 수 있습니다.
ipconfig /all
즉, 목적에 따라 명령어를 구분하면 됩니다.
arp -a → ARP 캐시에 저장된 IP와 물리적 주소 대응 정보 확인
getmac → 내 컴퓨터의 네트워크 어댑터 MAC 주소 확인
ipconfig /all → IP, DNS, DHCP, 물리적 주소 등 상세 네트워크 구성 확인
이 차이를 알아두면 여러 CMD 네트워크 명령어를 혼동하지 않게 됩니다.
ARP 테이블과 DHCP 목록은 같은 것일까?
ARP 테이블과 DHCP 클라이언트 목록은 서로 다른 개념입니다.
ARP 테이블은 로컬 네트워크 통신 과정에서 필요한 IP 주소와 링크 계층 주소의 대응 정보를 담고 있습니다.
반면 DHCP는 네트워크 장치에 IP 주소와 기타 네트워크 설정을 자동으로 제공하는 데 사용됩니다.
따라서 공유기의 DHCP 클라이언트 목록에는 IP를 할당받은 장치 정보가 표시될 수 있지만 ARP 테이블은 현재 PC 또는 네트워크 장비가 통신 과정에서 학습한 주소 정보를 보여줍니다.
두 목록이 비슷하게 보일 수 있지만 목적과 생성 방식이 다르므로 같은 정보라고 생각해서는 안 됩니다.
arp -d는 무엇일까?
Windows의 arp 명령어에는 ARP 캐시 항목을 삭제하는 기능도 있습니다.
예를 들어 다음과 같은 형식이 존재합니다.
arp -d 주소
또는 환경과 권한에 따라 ARP 캐시를 관리하는 다른 Windows 명령을 사용할 수도 있습니다.
하지만 단순히 ARP 정보를 확인하려는 사용자라면 캐시를 삭제할 필요가 없습니다.
ARP 캐시 삭제는 현재 네트워크 통신에 영향을 줄 수 있고 이후 필요한 주소 정보를 다시 학습하는 과정이 발생할 수 있습니다.
따라서 인터넷에서 “네트워크가 이상하면 무조건 ARP를 삭제하라”는 식의 설명을 보고 의미를 모른 채 실행하는 것은 권장하지 않습니다.
먼저 현재 문제의 원인을 확인하고 필요한 경우에만 사용하는 것이 좋습니다.
arp -s는 무엇일까?
ARP 명령어에는 정적 ARP 항목을 추가하는 기능도 존재합니다.
기본적으로 arp -s 형태의 명령어를 볼 수 있습니다.
하지만 일반적인 가정용 Windows 사용자가 ARP 테이블을 확인하기 위해 직접 정적 항목을 설정해야 할 일은 많지 않습니다.
잘못된 IP 주소와 물리적 주소를 연결하면 네트워크 통신에 문제가 발생할 수 있으므로 정확한 목적과 네트워크 구조를 알고 있을 때 사용해야 합니다.
이 글에서는 네트워크 정보를 확인하는 것이 목적이므로 우선 arp -a의 결과를 정확하게 읽는 방법부터 익히는 것을 추천합니다.
ARP 테이블에서 모르는 MAC 주소가 나오면 해킹일까?
ARP 테이블을 처음 확인한 뒤 모르는 IP 주소와 MAC 주소가 여러 개 표시되면 누군가 자신의 Wi-Fi를 몰래 사용하고 있다고 생각할 수 있습니다.
하지만 모르는 주소가 표시된다는 사실만으로 보안 침해라고 판단할 수는 없습니다.
공유기, 스마트폰, 스마트TV, 프린터, 셋톱박스, IoT 기기 등 사용자가 잊고 있던 장치가 있을 수 있습니다.
또한 일부 ARP 항목은 일반적인 네트워크 동작에 필요한 주소와 관련될 수 있습니다.
정확하게 연결된 기기를 확인하려면 공유기 관리 페이지의 장치 목록과 자신이 보유한 기기의 네트워크 정보를 함께 비교하는 것이 좋습니다.
그리고 실제로 알 수 없는 기기가 자신의 무선 네트워크에 연결되어 있다고 확인된다면 공유기 관리자 비밀번호와 Wi-Fi 보안 설정 등을 점검하는 것이 좋습니다.
MAC 주소만으로 기기의 정확한 위치를 알 수 있을까?
일반적으로 ARP 테이블에서 확인한 MAC 주소만으로 해당 기기의 실제 물리적 위치를 알아낼 수 있는 것은 아닙니다.
MAC 주소의 일부 정보를 통해 제조사와 관련된 단서를 얻는 경우가 있을 수 있지만, 그것만으로 특정 사용자의 신원이나 정확한 장치 종류를 확정할 수는 없습니다.
앞에서 설명했듯 최근 기기에서는 개인정보 보호를 위해 임의 MAC 주소 기능을 사용하는 경우도 있습니다.
따라서 MAC 주소 = 특정 사람 또는 특정 기기라고 단정하는 것은 적절하지 않습니다.
arp와 netstat의 차이
앞에서 살펴본 netstat와 arp는 모두 네트워크 정보를 확인하지만 목적이 다릅니다.
netstat는 현재 컴퓨터의 네트워크 연결, 로컬·외부 주소, 포트, TCP 상태 등을 확인하는 데 사용합니다.
반면 arp는 로컬 네트워크에서 사용하는 IPv4 주소와 물리적 주소의 대응 정보를 확인하는 데 사용합니다.
쉽게 구분하면 다음과 같습니다.
netstat → 현재 어떤 네트워크 연결이 이루어지고 있는지 확인
arp → 로컬 네트워크의 IP와 물리적 주소 대응 정보 확인
따라서 두 명령어는 서로 대체하는 관계가 아니라 서로 다른 네트워크 정보를 확인하는 도구입니다.
arp, ipconfig, ping을 함께 활용하는 방법
ARP 정보를 확인할 때 다른 CMD 명령어를 함께 사용하면 네트워크 구조를 이해하기 쉬워집니다.
먼저 현재 자신의 IP 주소와 기본 게이트웨이를 확인합니다.
ipconfig
그다음 ARP 캐시를 확인합니다.
arp -a
특정 로컬 IP와 통신을 테스트해야 한다면 다음과 같이 사용할 수 있습니다.
ping 192.168.0.20
그리고 다시 ARP 테이블을 확인합니다.
arp -a
이 과정을 통해 내 네트워크 설정 확인 → ARP 정보 확인 → 특정 장치와 통신 시도 → ARP 정보 재확인이라는 기본적인 흐름을 이해할 수 있습니다.
arp 명령어를 사용할 때 주의할 점
ARP 명령어를 제대로 활용하려면 몇 가지를 기억하는 것이 좋습니다.
첫째, arp -a 결과를 공유기에 연결된 모든 기기의 전체 목록이라고 생각하지 않습니다.
둘째, 모르는 MAC 주소가 있다고 곧바로 해킹이라고 판단하지 않습니다.
셋째, ARP 테이블의 동적 항목은 네트워크 통신과 시간에 따라 변경될 수 있습니다.
넷째, MAC 주소만으로 특정 사용자의 신원이나 정확한 위치를 알 수 있다고 생각하지 않습니다.
다섯째, 정확한 목적 없이 ARP 항목을 삭제하거나 정적 항목을 추가하지 않습니다.
ARP는 로컬 네트워크를 이해하고 문제를 점검하는 데 유용하지만 결과의 의미를 정확하게 이해하고 사용하는 것이 중요합니다.
arp 명령어 핵심 정리
현재 ARP 테이블을 확인하는 가장 기본적인 명령어는 다음과 같습니다.
arp -a
결과에서 주로 확인할 항목은 세 가지입니다.
Internet Address
ARP 캐시에 기록된 IPv4 주소입니다.
Physical Address
해당 IP 주소와 연결된 물리적 주소 정보입니다.
Type
동적 또는 정적 등 ARP 항목의 유형을 나타냅니다.
그리고 자신의 MAC 주소가 궁금하다면 arp -a보다 다음 명령어가 적합합니다.
getmac
더 자세한 네트워크 정보까지 확인하려면 다음 명령어를 사용할 수 있습니다.
ipconfig /all
이처럼 목적에 맞는 명령어를 구분해서 사용하는 것이 중요합니다.
마무리
Windows의 arp 명령어는 로컬 IPv4 네트워크에서 사용되는 IP 주소와 물리적 주소의 대응 정보를 확인할 수 있는 CMD 네트워크 도구입니다.
가장 자주 사용하는 arp -a 명령어를 실행하면 현재 Windows의 ARP 캐시에 저장된 IP 주소, MAC 주소와 관련된 정보, ARP 항목 유형 등을 확인할 수 있습니다.
다만 가장 중요한 점은 arp -a가 공유기에 연결된 모든 기기를 실시간으로 검색해서 보여주는 명령어는 아니라는 것입니다.
현재 PC가 네트워크 통신 과정에서 학습하고 캐시에 저장한 정보가 중심이기 때문에 같은 네트워크에 있는 장치라도 결과에 나타나지 않을 수 있습니다.
정확한 전체 연결 기기 목록이 필요하다면 공유기 관리 페이지의 연결 장치 또는 DHCP 관련 목록 등을 함께 확인하는 것이 좋습니다.
지금까지 배운 명령어의 역할을 정리하면 ipconfig는 내 네트워크 설정, ping은 대상과의 통신 상태, tracert는 목적지까지의 경로, nslookup은 DNS 정보, netstat는 현재 네트워크 연결과 포트, arp는 로컬 네트워크의 IP와 물리적 주소 대응 정보를 확인하는 데 사용합니다.
arp 사용법까지 이해했다면 다음 단계에서는 getmac 명령어를 이용해 내 컴퓨터의 Ethernet 및 Wi-Fi 네트워크 어댑터 MAC 주소를 빠르게 확인하는 방법을 알아보겠습니다.