Windows에서 ARP Ping을 수행 할 수있는 방법이 있습니까?


26

Linux 및 기타 시스템에는 arping이라는 유틸리티가 있습니다.이 유틸리티는 "ping"유틸리티와 유사하지만 ICMP 대신 ARP를 사용하여 ARP 요청 ( "pings")을 보내고 응답을 표시하는 데 사용할 수 있습니다.

Windows에서 동일한 작업을 수행 할 수있는 방법이 있습니까? (저는 Windows 7을 사용합니다)

답변:


15

창문에 대한 아핑은 실제로 존재합니다.

http://freshmeat.net/projects/arping/

수정 : 이것은 Linux, MAC OSX 등을위한 것이지만 cygwin을 통해 Windows에 설치할 수 있습니다.


분명하게 말하면, 오늘날 네트워크상의 모든 것은 ARP에 응답해야하므로 ARP 핑을 "지원하는"것은 거의 모든 것입니다. 그들이 그렇게하기위한 멋진 포장 된 보우 유틸리티가 있는지 여부는 문제입니다.
Qix

14

Window의 arp 캐시 (arp -d)를 지우고 ip 주소를 핑하려고하면 arp 브로드 캐스트가 발행됩니다.

Wireshark로 확인하십시오.


이 동작이 보장됩니까?
Pacerier

2
@Pacerier : 예. ICMP (ping)는 IP 계층 위에 구축되므로 그렇습니다. IP 계층은 패킷을 보낼 사람을 알기 위해 주어진 IP 주소에 대한 하드웨어 주소가 필요합니다. ARP 캐시가 비어 있으면 IP 계층은 패킷을 보내기 전에 ARP 요청을 발행 할 수밖에 없습니다.
카메론

1
이 동작은 보장 되지 않습니다 . 서브넷 규칙에 따라 IP 주소에 도달 할 수있는 경우에만 발생합니다. 그렇지 않으면 기본 게이트웨이의 IP 주소를 사용하여 ARP 요청을 발행합니다.
Peter Crabtree

6

WinXP의 ARP 명령은 데이터 만 표시합니다. Nmap을 사용해보십시오.이 유형의 스캔에는 무료이며 상당히 쉽습니다. Nmap은 insecure.org에 있습니다.


4
아마도 아마도 armap 유틸리티 (nmap -PR -sP <host> 사용)에 가장 가깝습니다. 축하합니다.
Etienne Dechamps

1
@ e-t172 최신 버전의 nmap에서는 명령 nmap -PR -sn <host>이 선호됩니다. -sP더 이상 사용되지 않습니다. 또한 루트로 실행할 때만 작동했습니다.
Nic

5

Windows에서이를 수행하는 내장 된 방법 :

cmd /V /C "set "IP=10.0.2.2" & FOR /L %i in (1,0,2) do @ping -n1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! "

와우, 이건 하드 코어 야-난 사랑해! 그리고 그것은 거의 여기서 일하고 있습니다. 실제로 나는 사이에 공백을 추가해야했고 다음 -n1같이되었다 :... @ping -n 1 ...
saulius2

이 루프는 영원히 실행됩니다. 나는 당신이 의도 한 것은 cmd /V /C "set "IP=10.0.2.2" & FOR /L %i in (1,1,2) do @ping -n 1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! "두 번 실행되므로 중복 MAC 주소를 선택 한다고 생각 합니다.
parsley72

3

이것은 정확히 ARP "ping"은 아니지만 명령 프롬프트에서 "arp inet_addr (ip address)"을 실행하면 (ip address)에 지정된 호스트에 단일 ARP 요청을 보냅니다. 그런 다음 "arp -a"를 실행하여 결과를 볼 수 있습니다.


작동하지 않습니다. 프롬프트가 다시 표시되지만 아무 반응이 없습니다. 스니퍼는 나오는 ARP 요청을 보여주지 않았습니다. IP 주소가 ARP 테이블에없는 경우 동일한 결과입니다.
Etienne Dechamps

맞다, 당신은 결과를 다시 얻지 못합니다. 이 명령은 단일 ARP 요청을 ip 주소로 보내면 arp -a 명령을 실행하여 결과를 볼 수 있습니다. 정확히 arp ping은 아니지만 단일 arp 요청을 보냅니다.
joeqwerty

아닙니다. 내가 말했듯이, 네트워크 스니퍼는 나가는 ARP 요청을 표시하지 않으며 arp -a에 항목이 추가되지 않습니다.
Etienne Dechamps

이상하다. Windows 7에서는 설명했지만 Windows XP에서는 설명하지 않았습니다. 죄송합니다.
joeqwerty

1
Win7에서도 작동하지 않습니다. 죄송합니다.
카메론


3

"arp-ping.exe"를 사용해보십시오.

명령 프롬프트에서 직접 실행되는이 도구를 추가 할 것이라고 생각했습니다.

arp-ping.exe 명령 줄 옵션

Usage: arp-ping.exe [options] target
        -s ip : specify source ip
        -n X  : ping X times
        -t    : ping until stopped with CTRL-C
        -x    : exit immediately after successful ping
        -i X  : ping every X seconds
        -d    : do an 'arp -d *' between pings (requires Administrator)
                (-d prevents cached ARP responses on Windows XP.)
        -c    : include date and time on each line
        -m X  : ignore failures that take less than X milliseconds
        -.      : print a dot (.) for every ignored failure
        -l    : print debug log
        -v    : print version and exit

Linux "arping"명령 줄 옵션과 비교

Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
-f : quit on first reply
-q : be quiet
-b : keep broadcasting, don't go unicast
-D : duplicate address detection mode
-U : Unsolicited ARP mode, update your neighbours
-A : ARP answer mode, update your neighbours
-V : print version and exit
-c count : how many packets to send
-w timeout : how long to wait for a reply
-I device : which ethernet device to use (eth0)
-s source : source ip address
destination : ask for what ip address

1

IP 헬퍼 API를 사용하여 ARP 테이블을 얻는 방법 http://www.codeguru.com/cpp/in/internet/internetprotocolip/article.php/c6153

GetIpNetTable : 주소 확인 테이블 정보를 검색합니다.

SetIpNetEntry : ARP 테이블에 항목을 추가합니다.

DeleteIpNetEntry : ARP 테이블에서 항목을 삭제합니다.

CreateIpNetEntry : ARP 테이블에 항목을 작성합니다.

FlushIpNetTable : ARP 테이블에서 지정된 인터페이스에 대한 모든 ARP 항목을 삭제합니다.

SendARP : 지정된 대상 IP 주소에 해당하는 물리적 주소를 얻기 위해 ARP 요청을 보냅니다.


0

불행히도 Windows에는이 도구를 제공하는 내장 도구가 없지만 Netscan 과 같은 타사 도구가 있지만 무료는 아닙니다.



0

Hardping은이를 수행하는 적절한 프로그램입니다.

핑 스윕 프로그램보다 많은 비용이 드는 정식 버전이 있지만 프리웨어 버전 만 사용합니다. 무료는 한 ​​번에 1 ip 만 수행하지만 그것이 필요한 전부입니다.

c :> hardping 192.168.1.1과 같이 사용하면 mac으로 응답하거나 응답하지 않습니다.

그들이 사이트에서 가져간 것으로 생각하지만 "하드웨어 프리웨어"를 인터넷 검색하여 찾을 수 있습니다.


-1
arp -a your.ip.here.jo

전의: arp -a 192.168.0.1


이 명령은 현재 arp 캐시에 대해서만 조회하며 "arp 192.168.0.1?"을 가진 새로운 arp를 발행하지 않습니다. 요청
Chriz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.