บน Linux และระบบอื่น ๆ มียูทิลิตีที่เรียกว่า arping ซึ่งสามารถใช้ส่งคำขอ ARP ("pings") และแสดงคำตอบเหมือนกับยูทิลิตี้ "ping" แต่ใช้ ARP แทน ICMP
มีวิธีใดบ้างที่จะทำสิ่งเดียวกันบน Windows? (ฉันใช้ Windows 7)
บน Linux และระบบอื่น ๆ มียูทิลิตีที่เรียกว่า arping ซึ่งสามารถใช้ส่งคำขอ ARP ("pings") และแสดงคำตอบเหมือนกับยูทิลิตี้ "ping" แต่ใช้ ARP แทน ICMP
มีวิธีใดบ้างที่จะทำสิ่งเดียวกันบน Windows? (ฉันใช้ Windows 7)
คำตอบ:
Arping สำหรับ windows มีอยู่จริง
http://freshmeat.net/projects/arping/
การแก้ไข: นี่สำหรับ Linux, MAC OSX, ฯลฯ ... แต่สามารถติดตั้งบน windows ผ่าน cygwin
หากคุณล้างแคช arp ของ Window (arp -d) แล้วลอง ping ที่อยู่ ip มันจะออก arp Broadcast
ตรวจสอบกับ Wireshark
คำสั่ง ARP ของ WinXP ใช้สำหรับแสดงข้อมูลเท่านั้น ลอง Nmap ได้ฟรีและค่อนข้างง่ายสำหรับการสแกนประเภทนี้ Nmap มีให้ที่ insecure.org
nmap -PR -sn <host>
นี้เป็นที่ต้องการ -sP
เลิกใช้แล้ว นอกจากนี้ยังใช้งานได้เฉพาะกับฉันเมื่อฉันเรียกใช้เป็นราก
วิธีสร้างสิ่งนี้ใน 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! "
-n
และ1
มันจึงกลายเป็น:... @ping -n 1 ...
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 ที่ซ้ำกัน
นี่ไม่ใช่ ARP "ping" อย่างแน่นอน แต่การเรียกใช้ "arp inet_addr (ที่อยู่ ip)" จากพรอมต์คำสั่งจะส่งคำขอ ARP เดียวไปยังโฮสต์ที่ระบุใน (ที่อยู่ IP) จากนั้นคุณสามารถเรียกใช้ "arp -a" เพื่อดูผลลัพธ์
คิดว่าฉันจะเพิ่มเครื่องมือนี้ที่ทำงานโดยตรงจากพรอมต์คำสั่ง:
ตัวเลือกบรรทัดคำสั่ง 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
เมื่อเทียบกับตัวเลือกบรรทัดคำสั่ง "arping" ของ Linux
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
วิธีรับตาราง ARP ด้วย IP Helper API http://www.codeguru.com/cpp/in/internet/internetprotocolip/article.php/c6153
GetIpNetTable: ดึงข้อมูลตารางการแก้ปัญหาที่อยู่
SetIpNetEntry: เพิ่มรายการในตาราง ARP
DeleteIpNetEntry: ลบรายการจากตาราง ARP
CreateIpNetEntry: สร้างรายการในตาราง ARP
FlushIpNetTable: ลบรายการ ARP ทั้งหมดสำหรับอินเตอร์เฟสที่ระบุจากตาราง ARP
SendARP: ส่งคำขอ ARP เพื่อรับที่อยู่ทางกายภาพที่สอดคล้องกับที่อยู่ IP ปลายทางที่ระบุ
น่าเสียดายที่ไม่มีเครื่องมือในตัวที่จะทำสิ่งนี้ใน Windows มีเครื่องมือของบุคคลที่สามที่จะทำเช่นNetscanแต่ไม่ฟรี
ฉันเชื่อว่าคุณสามารถ arp-ping กับCAINซึ่งเป็นอิสระ
การ Hardping เป็นโปรแกรมที่เหมาะสมที่ทำสิ่งนี้
มีเวอร์ชั่นเต็มรูปแบบที่เสียค่าใช้จ่ายซึ่งเป็นมากกว่าโปรแกรม ping sweep แต่ฉันแค่ใช้รุ่นฟรีแวร์ ฟรีเพียงครั้งเดียวใช้ 1 ip ต่อครั้ง แต่นั่นคือทั้งหมดที่ฉันต้องการ
คุณต้องการใช้มันเช่น c:> hardping 192.168.1.1 และมันจะตอบกลับด้วย mac หรือไม่
ฉันคิดว่าพวกเขาเอามันออกจากเว็บไซต์ของพวกเขา แต่คุณยังสามารถหาได้โดย googling "hardping freeware"
arp -a your.ip.here.jo
อดีต: arp -a 192.168.0.1