arp-scan - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

arp-scan - ส่งคำขอ ARP ไปยังโฮสต์เป้าหมายและแสดงการตอบกลับ

เรื่องย่อ

arp-scan [options] [hosts...]

Target hosts must be specified on the command line unless the --file or --localnet option is used.

Targets can be IPv4 addresses or hostnames. You can also use CIDR notation (10.0.0.0/24) (network and broadcast included), ranges (10.0.0.1-10.0.0.10), and network:mask (10.0.0.0:255.255.255.0).

คำอธิบาย

arp-scan ส่งแพ็คเก็ตคำขอ ARP ไปยังโฮสต์ที่ระบุและแสดงการตอบกลับที่ได้รับ สามารถระบุอินเทอร์เฟซเครือข่ายได้ด้วยตัวเลือก --อินเทอร์เฟซ หากไม่ได้ระบุอินเทอร์เฟซ arp-scan จะเลือกอินเทอร์เฟซที่มีการกำหนดค่าเป็นตัวเลขต่ำสุด (ไม่รวมลูปแบ็ค)

arp-scan ใช้ซ็อกเก็ตดิบ ซึ่งต้องใช้สิทธิ์ในบางระบบ:

Linux with POSIX.1e capabilities support using libcap:

arp-scan รับรู้ถึงความสามารถ ต้องใช้ CAP_NET_RAW ในชุดที่อนุญาต และเปิดใช้ความสามารถนั้นสำหรับฟังก์ชันที่จำเป็นเท่านั้น ใช้ setcap cap_net_raw+p /path/to/arp-scan เพื่อเพิ่ม CAP_NET_RAW ไปยังชุดที่อนุญาตของ arp-scan executable การสนับสนุนความสามารถยังทำให้การรูท SUID ปลอดภัยยิ่งขึ้น เนื่องจาก arp-scan จะยกเลิกความสามารถทั้งหมดยกเว้น CAP_NET_RAW และจะไม่ทำงานด้วยสิทธิ์ระดับรูทเต็มรูปแบบ

BSD and macOS:

คุณต้องมีสิทธิ์อ่าน/เขียน /dev/bpf*

Any operating system:

การเรียกใช้ในฐานะรูทหรือรูท SUID จะทำงานบนระบบปฏิบัติการใดก็ได้ แต่ควรใช้วิธีการอื่นหากเป็นไปได้

ARP ทำงานบนเครือข่ายท้องถิ่นเท่านั้น และไม่สามารถกำหนดเส้นทางได้ แม้ว่าโปรโตคอล ARP จะใช้ที่อยู่ IPv4 แต่ก็ไม่ใช่โปรโตคอล IP และสามารถใช้ arp-scan บนอินเทอร์เฟซที่ไม่มีที่อยู่ IPv4

ส่งหนึ่งคำขอ ARP สำหรับแต่ละเป้าหมาย หากโฮสต์ไม่ตอบสนอง คำขอจะถูกส่งใหม่อีกครั้ง คุณสามารถเปลี่ยนจำนวนการลองใหม่ได้ด้วยตัวเลือก -- ลองใหม่ การลดจำนวนครั้งในการลองใหม่จะลดเวลาการสแกนที่เสี่ยงต่อการพลาดผลลัพธ์บางอย่างเนื่องจากการสูญหายของแพ็คเก็ต

คุณสามารถระบุแบนด์วิดท์ที่ arp-scan จะใช้ได้ด้วยตัวเลือก --bandwidth ค่าเริ่มต้นคือ 256,000 บิตต่อวินาที การเพิ่มแบนด์วิดท์จะลดเวลาในการสแกน แต่การตั้งค่าแบนด์วิดท์สูงเกินไปอาจทำให้อัตราแพ็กเก็ตออกอากาศสูง อีกวิธีในการระบุอัตราแพ็กเก็ตคือการใช้ตัวเลือก --interval

เวลาสำหรับการสแกนแบบรอบเดียว (เช่น ด้วย --retry=1) คือ:

เวลา=n คูณ i + t + o

โดยที่ n คือจำนวนโฮสต์ i คือช่วงเวลา (กำหนดด้วย --interval หรือคำนวณจาก --bandwidth), t คือระยะหมดเวลา (ระบุด้วย --หมดเวลา) และ o คือเวลาโอเวอร์เฮดที่ใช้ในการโหลดรายการเป้าหมายและอ่าน ไฟล์การแมป MAC/ผู้ขาย ค่าโสหุ้ยโดยปกติจะเล็กน้อย (โดยทั่วไปประมาณ 100 มิลลิวินาที) แต่สามารถลดลงได้อีกโดยใช้ตัวเลือก --เงียบ สำหรับรายการโฮสต์ขนาดเล็ก ค่าการหมดเวลาจะครอบงำ แต่สำหรับรายการขนาดใหญ่ ช่วงแพ็กเก็ตเป็นค่าที่สำคัญที่สุด

ส่วนใดๆ ของคำขอ ARP อาจแก้ไขได้โดยใช้ตัวเลือก --arpXXX ตามที่แสดงในตารางด้านล่าง:

โต๊ะ

ตัวเลือกที่พบบ่อยที่สุดคือ --arpspa ซึ่งจะตั้งค่าที่อยู่ IPv4 ต้นทางในคำขอ ARP ทำให้คำขอ ARP ใช้ที่อยู่ต้นทางที่แตกต่างจากที่อยู่อินเทอร์เฟซ ซึ่งช่วยให้สามารถใช้ arp-scan บนอินเทอร์เฟซที่ไม่มีที่อยู่ IPv4 หมายเหตุ: การตั้งค่า ar$spa เป็นที่อยู่ IP ของเป้าหมายทำให้ระบบปฏิบัติการบางระบบรายงานความขัดแย้งของที่อยู่เมื่อได้รับคำขอ ARP สำหรับที่อยู่ของตนเอง

คุณยังสามารถเปลี่ยนค่าในส่วนหัวของเฟรมอีเธอร์เน็ตได้ดังที่แสดงด้านล่าง:

โต๊ะ

ตัวเลือก --destaddr ซึ่งกำหนดที่อยู่อีเทอร์เน็ตปลายทางเป็นเพียงตัวเลือกเดียวที่ใช้กันทั่วไป

ตามค่าเริ่มต้น การตอบสนอง ARP จะแสดงในรูปแบบต่อไปนี้:

<IPv4 Address> <MAC Address> <Vendor Details>

โดยที่ ที่อยู่ IPv4 คือที่อยู่ IP ของเป้าหมายที่ตอบกลับ ที่อยู่ MAC คือที่อยู่ลิงค์เลเยอร์ และ รายละเอียดผู้ขาย คือรายละเอียดผู้ขายที่ถอดรหัสจาก ที่อยู่ฮาร์ดแวร์ ฟิลด์เอาต์พุตถูกคั่นด้วยอักขระแท็บเดียว คุณสามารถเปลี่ยนรูปแบบผลลัพธ์ได้ด้วยตัวเลือก -- รูปแบบ

การตอบกลับจะแสดงตามลำดับที่ได้รับ ซึ่งอาจแตกต่างจากลำดับที่ส่งคำขอ เนื่องจากบางโฮสต์อาจตอบสนองเร็วกว่าโฮสต์อื่น

การถอดรหัสผู้ขายจะใช้ไฟล์ ieee-oui.txt และ mac-vendor.txt ieee-oui.txt สร้างจาก IEEE MA-L (OUI), MA-M, MA-S (OUI36) และ IAB การลงทะเบียน mac-vendor.txt มีการแมป MAC กับผู้ขายเพิ่มเติม และสามารถใช้เพื่อเพิ่มการแมปแบบกำหนดเอง สามารถใช้ get-oui เพื่ออัปเดต ieee-oui.txt ด้วยข้อมูลล่าสุดจากการลงทะเบียน IEEE

โฮสต์ IPv4 ทั้งหมดควรตอบสนองต่อแพ็กเก็ตคำขอ ARP รวมถึงโฮสต์ที่มีการกรองแพ็กเก็ต เช่น ไฟร์วอลล์ ทำให้ arp-scan เป็นเครื่องมือที่มีประโยชน์ในการค้นหาโฮสต์ IPv4 ที่ใช้งานอยู่ทั้งหมดบนเครือข่ายท้องถิ่น

ตัวเลือก

เมื่อตัวเลือกรับค่า ค่านั้นจะถูกระบุเป็นตัวอักษรในวงเล็บมุม จดหมายระบุประเภทของข้อมูลที่คาดหวัง:

<s>

สายอักขระ.

<i>

จำนวนเต็มทศนิยม หรือ hex ถ้านำหน้าด้วย 0x เช่น 2048 หรือ 0x800

<f>

เลขทศนิยมทศนิยม

<m>

ที่อยู่ MAC เช่น 01:23:45:67:89:ab หรือ 01-23-45-67-89-ab (ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่)

<a>

ที่อยู่ IPv4 เช่น 10.0.0.1

<h>

ข้อมูลไบนารีที่เข้ารหัสฐานสิบหก ไม่มี 0x นำหน้า (ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่).

<x>

อย่างอื่น - ดูรายละเอียดตัวเลือก

ตัวเลือกทั่วไป

--help or -h

แสดงข้อความการใช้งานนี้และออก

--verbose or -v

แสดงข้อความความคืบหน้าโดยละเอียด สามารถใช้มากกว่าหนึ่งครั้งเพื่อเพิ่มความฟุ่มเฟือย สูงสุด=3.

--version or -V

แสดงเวอร์ชันของโปรแกรมและออก แสดงเวอร์ชัน รายละเอียดสิทธิ์การใช้งาน เวอร์ชัน libpcap และระบุว่ามีการรองรับความสามารถ POSIX.1e หรือไม่

--interface=<s> or -I <s>

ใช้อินเทอร์เฟซเครือข่าย <s> หากไม่ได้ระบุตัวเลือกนี้ arp-scan จะค้นหารายการอินเทอร์เฟซระบบสำหรับอินเทอร์เฟซที่มีการกำหนดค่าและกำหนดค่าไว้ต่ำสุด (ไม่รวมลูปแบ็ค)

การเลือกโฮสต์

--file=<s> or -f <s>

อ่านชื่อโฮสต์หรือแอดเดรสจากไฟล์ที่ระบุ หนึ่งชื่อหรือรูปแบบที่อยู่ต่อบรรทัด ใช้ "-" สำหรับ stdin

--localnet or -l

สร้างที่อยู่จากการกำหนดค่าอินเทอร์เฟซ สร้างรายการจากที่อยู่อินเทอร์เฟซและเน็ตมาสก์ (รวมเครือข่ายและการออกอากาศ) คุณไม่สามารถใช้ตัวเลือก --file หรือกำหนดเป้าหมายในบรรทัดคำสั่งได้ ใช้ --อินเทอร์เฟซ เพื่อระบุอินเทอร์เฟซ

ไฟล์การแมป MAC/ผู้ขาย

--ouifile=<s> or -O <s>

ใช้ไฟล์การจับคู่ผู้ให้บริการรีจิสทรี IEEE <s> ค่าเริ่มต้นคือ ieee-oui.txt ในไดเรกทอรีปัจจุบัน หากไม่พบ /usr/share/arp-scan/ieee-oui.txt ให้ใช้

--macfile=<s> or -m <s>

ใช้ไฟล์การแมปผู้จำหน่ายแบบกำหนดเอง <s> ค่าเริ่มต้นคือ mac-vendor.txt ในไดเรกทอรีปัจจุบัน หากไม่พบ /etc/arp-scan/mac-vendor.txt ให้ใช้

การควบคุมรูปแบบเอาต์พุต

--quiet or -q

แสดงเอาต์พุตขั้นต่ำสำหรับแต่ละโฮสต์ที่ตอบสนอง แสดงเฉพาะที่อยู่ IP และที่อยู่ MAC เท่านั้น ลดการใช้หน่วยความจำลงประมาณ 5MB เนื่องจากไม่ได้ใช้ไฟล์การแมปผู้ขาย เฉพาะช่อง $ {ip} และ $ {mac} เท่านั้นที่ใช้ได้กับตัวเลือก -- รูปแบบ ถ้า - - เงียบ ถูกระบุ

--plain or -x

ระงับข้อความส่วนหัวและส่วนท้าย แสดงรายละเอียดโฮสต์ที่ตอบกลับเท่านั้น มีประโยชน์หากสคริปต์แยกวิเคราะห์เอาต์พุต

--ignoredups or -g

อย่าแสดงแพ็กเก็ตที่ซ้ำกัน ตามค่าเริ่มต้น แพ็คเก็ตที่ซ้ำกันจะถูกตั้งค่าสถานะด้วย (DUP: n) โดยที่ n คือจำนวนครั้งที่โฮสต์นี้ตอบสนอง

--rtt or -D

คำนวณและแสดงเวลาไป-กลับของแพ็คเก็ต เวลาจะแสดงเป็นมิลลิวินาทีและเศษเสี้ยวไมโครวินาที ทำให้ฟิลด์ $ {rtt} พร้อมใช้งานสำหรับ -- รูปแบบ

--format=<s> or -F <s>

ระบุสตริงรูปแบบเอาต์พุต รูปแบบคือสตริงที่จะส่งออกสำหรับแต่ละโฮสต์ที่ตอบสนอง สามารถรวมรายละเอียดโฮสต์ได้โดยการแทรกการอ้างอิงไปยังฟิลด์โดยใช้ไวยากรณ์ "$ {field[;width]}" ฟิลด์จะแสดงชิดขวา เว้นแต่ความกว้างเป็นค่าลบ ซึ่งในกรณีนี้จะใช้การจัดชิดซ้าย ชื่อฟิลด์ที่ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ต่อไปนี้เป็นที่รู้จัก:

IP Host IPv4 address in dotted quad format
Name Host name if --resolve option given
MAC Host MAC address xx:xx:xx:xx:xx:xx
HdrMAC Ethernet source addr if different
Vendor Vendor details string
Padding Padding after ARP packet in hex if nonzero
Framing Framing type if not Ethernet_II
VLAN 802.1Q VLAN ID if present
Proto ARP protocol if not 0x0800
DUP Packet number for duplicate packets (>1)
RTT Round trip time if --rtt option given

เฉพาะฟิลด์ $ {ip} และ $ {mac} เท่านั้นที่สามารถใช้ได้ หากระบุตัวเลือก --quiet

อักขระใดๆ ที่ไม่ใช่เขตข้อมูลจะเป็นเอาต์พุตแบบคำต่อคำ "\" แนะนำการหลีก:

\n newline
\r carriage return
\t tab
\ suppress special meaning for following character

คุณควรใส่อาร์กิวเมนต์ -- รูปแบบ ใน 'เครื่องหมายคำพูดเดี่ยว' เพื่อป้องกันอักขระพิเศษจากเชลล์

ตัวอย่าง: --format='$ {ip}\t$ {mac}\t$ {ผู้ขาย}'

การสุ่มรายชื่อโฮสต์

--random or -R

สุ่มรายชื่อโฮสต์เป้าหมาย

--randomseed=<i>

เพาะตัวสร้างตัวเลขสุ่มหลอก มีประโยชน์หากคุณต้องการคำสั่ง -- สุ่ม ที่ทำซ้ำได้

กำหนดเวลาเอาต์พุตและลองใหม่

--retry=<i> or -r <i>

ตั้งค่าจำนวนความพยายามทั้งหมดต่อโฮสต์เป็น <i> ค่าเริ่มต้น=2

--backoff=<f> or -b <f>

ตั้งค่าแบ็คออฟแฟกเตอร์เป็น <f> ค่าเริ่มต้น=1.50 คูณการหมดเวลาด้วย <f> สำหรับแต่ละรอบ

--timeout=<i> or -t <i>

ตั้งค่าการหมดเวลาเริ่มต้นต่อโฮสต์เป็น <i> ms, default=500 การหมดเวลานี้ใช้สำหรับแพ็กเก็ตแรกที่ส่งไปยังแต่ละโฮสต์ การหมดเวลาที่ตามมาจะคูณด้วยปัจจัยการถอยกลับซึ่งตั้งค่าเป็น -- การถอยกลับ

--interval=<x> or -i <x>

ตั้งค่าช่วงเวลาแพ็กเก็ตขั้นต่ำเป็น <x> ซึ่งจะควบคุมการใช้แบนด์วิธขาออกโดยการจำกัดอัตราแพ็กเก็ต หากคุณต้องการใช้แบนด์วิดท์สูงสุดให้ใช้ตัวเลือก --bandwidth แทน ช่วงเวลาจะมีหน่วยเป็นมิลลิวินาที หรือไมโครวินาที หากมี "u" ต่อท้าย

--bandwidth=<x> or -B <x>

ตั้งค่าแบนด์วิธขาออกเป็น <x>, default=256000 ค่าเป็นบิตต่อวินาที ต่อท้าย K สำหรับกิโลบิต หรือ M สำหรับเมกะบิต (การคูณทศนิยม) คุณไม่สามารถระบุทั้ง --interval และ --bandwidth

การแก้ไข DNS

--numeric or -N

เป้าหมายต้องเป็นที่อยู่ IP ไม่ใช่ชื่อโฮสต์ สามารถลดเวลาเริ่มต้นสำหรับรายการเป้าหมายขนาดใหญ่

--resolve or -d

แก้ไขที่อยู่ตอบกลับไปยังชื่อโฮสต์ รูปแบบเอาต์พุตเริ่มต้นจะแสดงชื่อโฮสต์แทนที่อยู่ IPv4 ตัวเลือกนี้ทำให้ฟิลด์ $ {name} พร้อมใช้งานสำหรับตัวเลือก -- รูปแบบ

เอาต์พุต ARP แพ็กเก็ต

--arpsha=<m> or -u <m>

ตั้งค่าที่อยู่อีเธอร์เน็ตต้นทาง ARP ตั้งค่าฟิลด์ ar$sha 48 บิต แต่ไม่เปลี่ยนที่อยู่ของฮาร์ดแวร์ในส่วนหัวของเฟรม ดูวิธีเปลี่ยนที่อยู่นั้นใน --srcaddr ค่าเริ่มต้นคือที่อยู่อีเธอร์เน็ตของอินเทอร์เฟซขาออก

--arptha=<m> or -w <m>

ตั้งค่าที่อยู่อีเทอร์เน็ตเป้าหมาย ARP ตั้งค่าฟิลด์ ar$tha 48 บิต ค่าเริ่มต้นคือศูนย์ เนื่องจากฟิลด์นี้ไม่ได้ใช้สำหรับแพ็กเก็ตคำขอ ARP

--arphrd=<i> or -H <i>

ตั้งค่าประเภทฮาร์ดแวร์ ARP, default=1 ตั้งค่าฟิลด์ ar$hrd แบบ 16 บิต ค่าเริ่มต้นคือ 1 (ARPHRD_ETHER) ระบบปฏิบัติการจำนวนมากยังตอบสนองต่อ 6 (ARPHRD_IEEE802)

--arppro=<i> or -p <i>

ตั้งค่าประเภทโปรโตคอล ARP, default=0x0800 ตั้งค่าฟิลด์ ar$pro แบบ 16 บิต ระบบปฏิบัติการส่วนใหญ่ตอบสนองต่อ 0x0800 (IPv4) เท่านั้น

--arphln=<i> or -a <i>

ตั้งค่าความยาวของที่อยู่ฮาร์ดแวร์ default=6 ตั้งค่าฟิลด์ ar$hln 8 บิต ความยาวของฟิลด์ ar$sha และ ar$tha จะไม่เปลี่ยนแปลงโดยตัวเลือกนี้ มันเปลี่ยนฟิลด์ ar$hln เท่านั้น

--arppln=<i> or -P <i>

ตั้งค่าความยาวของที่อยู่โปรโตคอล default=4 ตั้งค่าฟิลด์ ar$pln 8 บิต ตัวเลือกนี้จะไม่เปลี่ยนความยาวของช่อง ar$spa และ ar$tpa มันเปลี่ยนฟิลด์ ar$pln เท่านั้น

--arpop=<i> or -o <i>

ระบุการทำงานของ ARP, default=1 ตั้งค่าฟิลด์ ar$op 16 บิต ระบบปฏิบัติการส่วนใหญ่ตอบสนองต่อค่า 1 เท่านั้น (ARPOP_REQUEST)

--arpspa=<a> or -s <a>

ตั้งค่าที่อยู่ IPv4 ต้นทาง ที่อยู่ควรอยู่ในรูปแบบสี่เหลี่ยมจุด หรือสตริง "ปลายทาง" ซึ่งจะตั้งค่าที่อยู่ต้นทางเป็นที่อยู่โฮสต์เป้าหมาย ค่าเริ่มต้นคือที่อยู่อินเทอร์เฟซขาออก ตั้งค่าฟิลด์ ar$spa แบบ 32 บิต ระบบปฏิบัติการบางระบบจะตอบสนองก็ต่อเมื่อที่อยู่ต้นทางอยู่ภายในเครือข่ายของอินเทอร์เฟซการรับเท่านั้น การตั้งค่า ar$spa เป็นที่อยู่ IP ปลายทางอาจทำให้ระบบปฏิบัติการบางระบบรายงานการขัดแย้งกันของที่อยู่

เอาต์พุตอีเธอร์เน็ตเฮดเดอร์

--srcaddr=<m> or -S <m>

ตั้งค่าที่อยู่ MAC ของอีเทอร์เน็ตต้นทาง เริ่มต้นคือที่อยู่ MAC ของอินเทอร์เฟซ ซึ่งจะตั้งค่าที่อยู่ในส่วนหัวของอีเทอร์เน็ต มันไม่ได้เปลี่ยนที่อยู่ในแพ็กเก็ต ARP: ใช้ --arpsha เพื่อเปลี่ยนที่อยู่นั้น

--destaddr=<m> or -T <m>

กำหนดที่อยู่ MAC ปลายทาง ตั้งค่าที่อยู่ปลายทางในส่วนหัวของอีเทอร์เน็ต ค่าเริ่มต้นคือ ff:ff:ff:ff:ff:ff (ออกอากาศ) โฮสต์ยังตอบสนองหากคำขอถูกส่งไปยังที่อยู่แบบยูนิคาสต์หรือไปยังที่อยู่แบบหลายผู้รับที่พวกเขากำลังฟังอยู่

--prototype=<i> or -y <i>

ตั้งค่าประเภทโปรโตคอลอีเธอร์เน็ต default=0x0806 สิ่งนี้ตั้งค่าฟิลด์ประเภทโปรโตคอลในส่วนหัวของอีเทอร์เน็ต

--llc or -L

ใช้การห่อหุ้ม RFC 1042 LLC/SNAP สำหรับเครือข่าย 802.2 arp-scan จะถอดรหัสและแสดงการตอบสนอง ARP ทั้งในรูปแบบ Ethernet-II และ IEEE 802.2 โดยไม่คำนึงถึงตัวเลือกนี้

--vlan=<i> or -Q <i>

ใช้การติดแท็ก 802.1Q ด้วย VLAN id <i> รหัสควรอยู่ในช่วง 0 ถึง 4095 arp-scan จะถอดรหัสและแสดงการตอบสนอง ARP ในรูปแบบ 802.1Q โดยไม่คำนึงถึงตัวเลือกนี้

ตัวเลือกอื่น ๆ

--limit=<i> or -M <i>

ออกหลังจากโฮสต์ตอบสนองตามจำนวนที่ระบุ arp-scan จะออกด้วยสถานะ 1 หากจำนวนโฮสต์ที่ตอบสนองน้อยกว่าขีดจำกัด สามารถใช้ในสคริปต์เพื่อตรวจสอบว่าโฮสต์น้อยลงตอบสนองหรือไม่โดยไม่ต้องแยกวิเคราะห์ผลลัพธ์

--pcapsavefile=<s> or -W <s>

เขียนแพ็กเก็ตที่ได้รับไปยัง pcap savefile <s> การตอบสนองของ ARP จะถูกเขียนไปยังไฟล์ที่ระบุ เช่นเดียวกับการถอดรหัสและแสดงผล

--snap=<i> or -n <i>

ตั้งค่าความยาวของ pcap snap เป็น <i> ค่าเริ่มต้น=64 ระบุความยาวของการจับภาพเฟรม รวมถึงส่วนหัวของอีเทอร์เน็ต โดยปกติค่าดีฟอลต์จะเพียงพอ

--retry-send=<i> or -Y <i>

กำหนดจำนวนครั้งในการส่ง ค่าเริ่มต้น=20

--retry-send-interval=<i> or -E <i>

กำหนดช่วงเวลาระหว่างความพยายามในการส่ง ช่วงเวลาเป็นมิลลิวินาทีหรือไมโครวินาที ถ้าต่อท้ายด้วย "u" ค่าเริ่มต้น=5

--padding=<h> or -A <h>

ระบุการเติมหลังจากข้อมูลแพ็กเก็ต ตั้งค่าการเติมหลังจากคำขอ ARP เป็นค่าฐานสิบหก

ออกจากสถานะ

arp-scan จะออกด้วย 0 เมื่อเสร็จสิ้นหรือ >0 หากพบข้อผิดพลาด

หากระบุตัวเลือก --limit arp-scan จะออกด้วยรหัสทางออกที่ไม่ใช่ศูนย์ ถ้าจำนวนโฮสต์ที่ตอบสนองน้อยกว่าขีดจำกัดที่ระบุ

ไฟล์

/usr/share/arp-scan/ieee-oui.txt

รายการ IEEE OUI (ตัวระบุเฉพาะขององค์กร) กับการจับคู่ผู้ขาย

/etc/arp-scan/mac-vendor.txt

รายการอีเทอร์เน็ต MAC อื่น ๆ กับการแม็พผู้ขาย รวมทั้งการเพิ่มเติมในเครื่อง

ตัวอย่าง

สแกนอย่างง่าย

สแกนเครือข่ายเริ่มต้นโดยใช้การกำหนดค่าอินเทอร์เฟซ IPv4 เพื่อสร้างรายการโฮสต์ที่จะสแกน

$ arp-scan --localnet
Interface: eth0, type: EN10MB, MAC: 50:65:f3:f0:6d:7c, IPv4: 10.0.0.106
Starting arp-scan 1.9.9 with 256 hosts (https://github.com/royhills/arp-scan)
10.0.0.14       a4:1f:72:7f:25:bb       Dell Inc.
10.0.0.22       10:60:4b:73:43:de       Hewlett Packard
10.0.0.74       00:0c:29:90:07:e9       VMware, Inc.
10.0.0.75       00:0c:29:66:9e:c2       VMware, Inc.
10.0.0.76       00:0c:29:d0:e1:ea       VMware, Inc.
10.0.0.82       9c:b6:54:bb:f3:ec       Hewlett Packard
10.0.0.84       00:21:9b:fd:b9:b3       Dell Inc.
10.0.0.85       00:02:b3:eb:5a:f8       Intel Corporation
10.0.0.91       00:9c:02:a5:7b:29       Hewlett Packard
10.0.0.92       d4:ae:52:d0:07:6f       Dell Inc.
10.0.0.93       d4:ae:52:d0:04:9b       Dell Inc.
10.0.0.96       9c:b6:54:bb:f5:35       Hewlett Packard
10.0.0.97       00:0c:29:0e:95:20       VMware, Inc.
10.0.0.104      50:65:f3:f0:70:a4       Hewlett Packard

15 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.9: 256 hosts scanned in 1.532 seconds (167.10 hosts/sec). 14 responded

การจัดรูปแบบเอาต์พุต

สแกนโฮสต์ทั้งหมดใน 10.0.0.0/24 โดยใช้อินเทอร์เฟซ eth0 คำนวณเวลาไป-กลับและแสดงในคอลัมน์ที่จัดเรียงโดยใช้รูปแบบที่กำหนดเอง

$ arp-scan -I eth0 --rtt --format='|${ip;-15}|${mac}|${rtt;8}|' 10.0.0.0/24
Interface: eth0, type: EN10MB, MAC: 50:65:f3:f0:6d:7c, IPv4: 10.0.0.106
Starting arp-scan 1.9.9 with 256 hosts (https://github.com/royhills/arp-scan)
|10.0.0.14      |a4:1f:72:7f:25:bb|   0.280|
|10.0.0.22      |10:60:4b:73:43:de|   0.293|
|10.0.0.74      |00:0c:29:90:07:e9|   0.380|
|10.0.0.75      |00:0c:29:66:9e:c2|   0.311|
|10.0.0.76      |00:0c:29:d0:e1:ea|   0.326|
|10.0.0.82      |9c:b6:54:bb:f3:ec|   0.216|
|10.0.0.84      |00:21:9b:fd:b9:b3|   0.244|
|10.0.0.85      |00:02:b3:eb:5a:f8|   0.244|
|10.0.0.91      |00:9c:02:a5:7b:29|   0.209|
|10.0.0.92      |d4:ae:52:d0:07:6f|   0.289|
|10.0.0.93      |d4:ae:52:d0:04:9b|   0.278|
|10.0.0.96      |9c:b6:54:bb:f5:35|   0.255|
|10.0.0.97      |00:0c:29:0e:95:20|   0.288|
|10.0.0.104     |50:65:f3:f0:70:a4|   0.263|

14 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.9: 256 hosts scanned in 2.032 seconds (125.98 hosts/sec). 14 responded

เอาต์พุต CSV

--ธรรมดา ลบเอาต์พุตภายนอก

$ arp-scan -I eth0 --plain --format='${ip},${mac},"${vendor}"' 10.0.0.0/24
10.0.0.14,a4:1f:72:7f:25:bb,"Dell Inc."
10.0.0.22,10:60:4b:73:43:de,"Hewlett Packard"
10.0.0.74,00:0c:29:90:07:e9,"VMware, Inc."
10.0.0.75,00:0c:29:66:9e:c2,"VMware, Inc."
10.0.0.76,00:0c:29:d0:e1:ea,"VMware, Inc."
10.0.0.82,9c:b6:54:bb:f3:ec,"Hewlett Packard"
10.0.0.84,00:21:9b:fd:b9:b3,"Dell Inc."
10.0.0.85,00:02:b3:eb:5a:f8,"Intel Corporation"
10.0.0.91,00:9c:02:a5:7b:29,"Hewlett Packard"
10.0.0.92,d4:ae:52:d0:07:6f,"Dell Inc."
10.0.0.93,d4:ae:52:d0:04:9b,"Dell Inc."
10.0.0.96,9c:b6:54:bb:f5:35,"Hewlett Packard"
10.0.0.97,00:0c:29:0e:95:20,"VMware, Inc."
10.0.0.104,50:65:f3:f0:70:a4,"Hewlett Packard"

ดูสิ่งนี้ด้วย

get-oui(1)

arp-fingerprint(1)

http://www.royhills.co.uk/wiki/ The arp-scan wiki page.

https://github.com/royhills/arp-scan The arp-scan homepage.