Apakah ada cara untuk melakukan ping ARP di Windows?

26

Di Linux dan sistem lain, ada sebuah utilitas bernama arping yang dapat digunakan untuk mengirim permintaan ARP ("ping") dan menunjukkan jawabannya, mirip dengan utilitas "ping" tetapi menggunakan ARP alih-alih ICMP.

Apakah ada cara untuk melakukan hal yang sama pada Windows? (Saya menggunakan Windows 7)

Etienne Dechamps
sumber

Jawaban:

15

Arping untuk windows sebenarnya ada.

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

Koreksi: ini untuk Linux, MAC OSX, dll ... tetapi dapat diinstal pada windows melalui cygwin.

Ryaner
sumber
Untuk menjadi jelas, apa pun di jaringan saat ini perlu merespons ARP, oleh karena itu apa saja "mendukung" ping ARP. Apakah mereka memiliki atau tidak utilitas paket yang bagus untuk melakukannya adalah pertanyaan.
Qix
14

Jika Anda menghapus cache arp Window (arp -d) dan kemudian mencoba untuk melakukan ping alamat ip, itu akan mengeluarkan siaran arp.

Lihatlah dengan Wireshark.

Stef Heylen
sumber
Apakah perilaku ini dijamin?
Pacerier
2
@Pacerier: Ya, karena ICMP (ping) dibangun di atas lapisan IP. Lapisan IP membutuhkan alamat perangkat keras untuk alamat IP yang diberikan untuk mengetahui kepada siapa akan dikirim paketnya. Jika cache ARP kosong, layer IP tidak punya pilihan selain mengeluarkan permintaan ARP sebelum dapat mengirim paket.
Cameron
1
Perilaku ini TIDAK dijamin. Ini hanya akan terjadi jika alamat IP dapat dijangkau sesuai dengan aturan subnet; jika tidak maka akan menggunakan alamat IP gateway default untuk mengeluarkan permintaan ARP.
Peter Crabtree
6

Perintah ARP WinXP adalah untuk menampilkan data saja. Coba Nmap, gratis dan cukup mudah untuk jenis pemindaian ini. Nmap tersedia di insecure.org.


sumber
4
Itu mungkin yang terdekat yang bisa saya dapatkan dengan utilitas arping (menggunakan nmap -PR -sP <host>). Selamat, kamu menang.
Etienne Dechamps
1
@ e-t172 Dengan versi nmap yang lebih baru, perintah nmap -PR -sn <host>lebih disukai. -sPsudah ditinggalkan. Juga, ini hanya bekerja untuk saya ketika saya menjalankannya sebagai root.
Nic
5

Cara bawaan untuk melakukan ini di 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! "
bunga api
sumber
Wow, ini hardcore - Aku cinta aku! Dan hampir berhasil di sini. Sebenarnya saya harus menambahkan spasi antara -ndan 1itu menjadi:... @ping -n 1 ...
saulius2
Loop ini berjalan selamanya. Saya pikir apa yang Anda maksudkan adalah 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! "yang berjalan dua kali dan mengambil duplikat alamat MAC.
parsley72
3

Ini bukan ARP "ping" tetapi menjalankan "arp inet_addr (alamat ip)" dari prompt perintah akan mengirimkan permintaan ARP tunggal ke host yang ditentukan dalam (alamat ip). Anda kemudian dapat menjalankan "arp -a" untuk melihat hasilnya.

joeqwerty
sumber
Tidak berhasil. Saya mendapatkan prompt saya kembali tetapi tidak ada yang terjadi. Pelacak tidak menunjukkan permintaan ARP keluar. Hasil yang sama jika alamat IP belum ada di tabel ARP.
Etienne Dechamps
Benar, Anda tidak mendapatkan hasil kembali. Perintah mengirim permintaan ARP tunggal ke alamat ip, yang kemudian Anda dapat melihat hasilnya dengan mengeluarkan perintah arp -a. Saya mengatakan itu bukan ping arp, tapi itu mengirim permintaan arp tunggal.
joeqwerty
Tidak, tidak. Seperti yang saya katakan, sniffer jaringan tidak menunjukkan permintaan ARP keluar, dan tidak ada entri yang ditambahkan ke arp -a.
Etienne Dechamps
Itu aneh. Ini bekerja persis seperti yang saya jelaskan pada Windows 7 tetapi tidak pada Windows XP. Maaf.
joeqwerty
1
Tidak berhasil untuk saya di Win7, maaf.
Cameron
3

Coba "arp-ping.exe"

Kupikir saya akan menambahkan alat ini yang berjalan langsung dari command prompt:

opsi baris perintah 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

Lawan opsi baris perintah 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
Valamas
sumber
1

Cara Mendapatkan Tabel ARP dengan API IP Helper http://www.codeguru.com/cpp/in/internet/internetprotocolip/article.php/c6153

GetIpNetTable: Mengambil informasi tabel resolusi alamat.

SetIpNetEntry: Menambahkan entri ke tabel ARP.

DeleteIpNetEntry: Menghapus entri dari tabel ARP.

CreateIpNetEntry: Membuat entri di tabel ARP.

FlushIpNetTable: Menghapus semua entri ARP untuk antarmuka yang ditentukan dari tabel ARP

SendARP: Mengirim permintaan ARP untuk mendapatkan alamat fisik yang sesuai dengan alamat IP tujuan yang ditentukan.

Calloatti
sumber
0

Sayangnya tidak ada alat bawaan untuk melakukan ini di Windows, ada beberapa alat pihak ketiga yang akan melakukan ini seperti Netscan , tetapi tidak gratis

Sam Cogan
sumber
0

Saya yakin Anda dapat melakukan arp-ping dengan CAIN , yang gratis.

GregD
sumber
0

Hardping adalah program yang layak yang melakukan ini.

Ada versi lengkap yang memerlukan biaya lebih dari program ping sweep, tapi saya hanya menggunakan versi freeware. Yang gratis hanya melakukan 1 ip pada satu waktu, tetapi hanya itu yang saya butuhkan.

Anda akan menggunakannya seperti c:> hardping 192.168.1.1 dan itu akan menjawab dengan mac atau tidak.

Saya pikir mereka mengambilnya dari situs mereka, tetapi Anda masih bisa menemukannya dengan googling "hardping freeware"


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

ex: arp -a 192.168.0.1

sederhana
sumber
Perintah ini hanya akan mencari terhadap cache arp saat ini, tidak mengeluarkan arp baru "Siapa yang memiliki 192.168.0.1?" request
Chriz