arp-scan - kézikönyv, opciók, parancspéldák


NÉV

arp-scan - ARP kérések küldése a célállomásoknak és válaszok megjelenítése

SZINOPSZIS

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).

LEÍRÁS

Az arp-scan ARP-kéréscsomagokat küld a megadott gazdagépeknek, és megjeleníti a kapott válaszokat. A hálózati interfész a --interface opcióval adható meg. Ha nincs megadva interfész, az arp-scan a legalacsonyabb számú, konfigurált interfészt választja (kivéve a visszahurkolást).

Az arp-scan nyers socketeket használ, ami bizonyos rendszereken jogosultságokat igényel:

Linux with POSIX.1e capabilities support using libcap:

Az arp-scan ismeri a képességeket. A CAP_NET_RAW szükséges az engedélyezett készletben, és csak a szükséges funkciókhoz engedélyezi ezt a képességet. használja a setcap cap_net_raw+p /path/to/arp-scan parancsot a CAP_NET_RAW hozzáadásához az arp-scan végrehajtható fájl engedélyezett készletéhez. A képességek támogatása a SUID root rendszert is sokkal biztonságosabbá teszi, mivel az arp-scan a CAP_NET_RAW kivételével minden funkciót eldob, és nem fut teljes root jogosultsággal.

BSD and macOS:

Olvasási/írási hozzáférésre van szüksége a következőhöz: /dev/bpf*

Any operating system:

A root vagy a SUID rootként való futtatás bármely operációs rendszeren működik, de ahol lehetséges, más módszereket kell előnyben részesíteni.

Az ARP csak a helyi hálózaton működik, és nem irányítható. Bár az ARP protokoll IPv4-címeket használ, ez nem IP-protokoll, és az arp-scan használható IPv4-cím nélküli interfészeken.

Minden célhoz egy ARP-kérés kerül elküldésre. Ha egy gazdagép nem válaszol, a kérést még egyszer elküldi. Az újrapróbálkozások száma a --retry opcióval módosítható. Az újrapróbálkozások számának csökkentése csökkenti a szkennelési időt, azzal a kockázattal, hogy a csomagvesztés miatt néhány eredmény elmarad.

A --bandwidth opcióval megadhatja az arp-scan által használni kívánt sávszélességet. Az alapértelmezett 256 000 bit/s. A sávszélesség növelése csökkenti a pásztázási időt, de a sávszélesség túl nagy beállítása magas sugárzási csomagsebességet okozhat. A csomagsebesség másik módja a --interval opció.

Az egyszeri szkennelés ideje (azaz --retry=1 esetén):

idő=n-szer i + t + o

Ahol az n a gazdagépek száma, az i pedig az intervallum (a --interval paraméterrel megadva, vagy a --sávszélességből számítva), t az időtúllépés (a --timeout paraméterrel van megadva), az o pedig a céllista betöltéséhez és olvasásához szükséges többletidő a MAC/Vendor leképezési fájlokat. A többletköltség általában elhanyagolható (általában 100 ms körüli), de tovább csökkenthető a --quiet opcióval. Kis hosztlisták esetén az időtúllépési érték dominál, de nagy listáknál a csomagintervallum a legfontosabb érték.

Az ARP-kérés bármely része módosítható az --arpXXX opciók használatával, az alábbi táblázatban látható módon:

ASZTAL

A leggyakoribb lehetőség az --arpspa, amely beállítja a forrás IPv4-címét az ARP-kérésben, lehetővé téve az ARP-kérés számára, hogy az interfész címétől eltérő forráscímet használjon. Ez lehetővé teszi az arp-scan használatát IPv4-cím nélküli interfészeken. Megjegyzés: Ha az ar$spa értéket a cél IP-címére állítja, egyes operációs rendszerek címütközést jelentenek, amikor ARP-kérést kapnak saját címükre.

Az Ethernet-keret fejlécének értékeit az alábbiak szerint is módosíthatja:

ASZTAL

A cél Ethernet-címét beállító --destaddr opció az egyetlen általánosan használt beállítás.

Alapértelmezés szerint az ARP-válaszok a következő formátumban jelennek meg:

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

Ahol az IPv4-cím a válaszoló cél IP-címe, a MAC-cím a hivatkozási réteg címe, a Szállító adatai pedig a szállító adatai, amelyeket dekódoltak a hardver címét. A kimeneti mezőket egyetlen tabulátor karakter választja el. A kimeneti formátumot a --format opcióval módosíthatja.

A válaszok a beérkezésük sorrendjében jelennek meg, ami eltérhet a kérések elküldésének sorrendjétől, mert egyes gazdagépek gyorsabban válaszolhatnak, mint mások.

A szállítói dekódolás az ieee-oui.txt és a mac-vendor.txt fájlokat használja. Az ieee-oui.txt az IEEE MA-L (OUI), MA-M, MA-S fájlokból jön létre (OUI36) és IAB nyilvántartások. A mac-vendor.txt további MAC-t tartalmaz a szállítói leképezésekhez, és egyéni leképezések hozzáadására használható. A get-oui segítségével frissítheti az ieee-oui.txt fájlt az IEEE nyilvántartások legfrissebb adataival.

Minden IPv4-állomásnak válaszolnia kell az ARP-kéréscsomagokra, beleértve a csomagszűréssel rendelkező gépeket is, például a tűzfalakat. Ezáltal az arp-scan hasznos eszköz a helyi hálózat összes aktív IPv4 gazdagépének felfedezéséhez.

LEHETŐSÉGEK

Ha egy opció értéket vesz fel, az érték szögletes zárójelben lévő betűként van megadva. A levél a várt adatok típusát jelzi:

<s>

Karakterlánc.

<i>

Decimális egész szám, vagy hex, ha 0x előzi meg pl. 2048 vagy 0x800.

<f>

Lebegőpontos tizedes szám.

<m>

MAC cím, pl. 01:23:45:67:89:ab vagy 01-23-45-67-89-ab (kis- és nagybetűk megkülönböztetése)

<a>

IPv4 cím pl. 10.0.0.1

<h>

Hex kódolású bináris adat. Nincs vezető 0x. (nem érzékeny a kis- és nagybetűkre).

<x>

Valami más – lásd az opció leírását.

Általános opciók

--help or -h

Jelenítse meg ezt a használati üzenetet, és lépjen ki.

--verbose or -v

Bőbeszédű folyamatüzenetek megjelenítése. Egyszer is használható a bőbeszédűség növelésére. Max=3.

--version or -V

A program verziójának megjelenítése és kilépés. Megjeleníti a verziót, a licenc részleteit, a libpcap verziót, és azt, hogy a POSIX.1e támogatást tartalmazza-e.

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

Használja a <s> hálózati interfészt. Ha ez az opció nincs megadva, az arp-scan megkeresi a rendszerinterfész listában a legalacsonyabb számú, konfigurált felfelé irányuló interfészt (kivéve a visszahurkolást).

Gazdaválasztás

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

Hostnevek vagy címek olvasása a megadott fájlból. Soronként egy név vagy címminta. Használja a "-" jelet az stdin-hez.

--localnet or -l

Címek generálása az interfész konfigurációjából. Listát generál az interfész címéből és hálózati maszkból (a hálózatot és a szórást is beleértve). Nem használhatja a --file opciót, és nem adhat meg célokat a parancssorban. Az interfész megadásához használja a --interface parancsot.

MAC/Vendor Mapping Files

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

Használja az IEEE beállításjegyzék-szállító leképezési fájlját <s>. Az alapértelmezett ieee-oui.txt az aktuális könyvtárban. Ha ez nem található, a /usr/share/arp-scan/ieee-oui.txt fájl kerül felhasználásra.

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

Egyéni szállítóleképezési fájl használata <s>. Az alapértelmezett mac-vendor.txt az aktuális könyvtárban. Ha ez nem található, az /etc/arp-scan/mac-vendor.txt fájlt használja.

Kimeneti formátum vezérlése

--quiet or -q

Minimális kimenet megjelenítése minden válaszoló gazdagéphez. Csak az IP-cím és a MAC-cím jelenik meg. Körülbelül 5 MB-al csökkenti a memóriahasználatot, mivel a gyártó leképezési fájljait nem használják. Ha - -quiet van megadva.

--plain or -x

A fejléc és a lábléc szövegének letiltása. Csak a válaszoló gazdagép adatait jelenítse meg. Hasznos, ha a kimenetet egy szkript elemzi.

--ignoredups or -g

Ne jelenítsen meg ismétlődő csomagokat. Alapértelmezés szerint a duplikált csomagokat (DUP: n) jelzi, ahol az n az a szám, ahányszor a gazdagép válaszolt.

--rtt or -D

Számítsa ki és jelenítse meg a csomag oda-vissza idejét. Az idő ezredmásodpercben és töredék mikroszekundumban jelenik meg. Elérhetővé teszi a $ {rtt} mezőt a --formátum számára.

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

Adja meg a kimeneti formátum karakterláncát. A formátum egy karakterlánc, amely minden válaszoló gazdagéphez kerül kiadásra. A gazdagép részleteit a "$ {field[;width]}" szintaxist használó mezőkre való hivatkozások beszúrásával lehet megadni. A mezők jobbra igazítva jelennek meg, kivéve, ha a szélesség negatív, ebben az esetben a balra igazítás kerül alkalmazásra. A következő mezőneveket ismeri fel a rendszer, amelyek nem különböznek egymástól:

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

Csak a $ {ip} és $ {mac} mezők érhetők el, ha a --quiet beállítás meg van adva.

Minden olyan karakter, amely nem mező, szó szerint kerül kiadásra. "\" bevezeti a escape-ket:

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

A --format argumentumot „egyszeri idézőjelek” közé kell tennie, hogy megvédje a speciális karaktereket a shelltől.

Példa: --format='$ {ip}\t$ {mac}\t$ {vendor}'

Gazdalista véletlenszerűsítése

--random or -R

Véletlenszerűsítse a célállomások listáját.

--randomseed=<i>

A pszeudo véletlenszám-generátor bevetése. Hasznos, ha reprodukálható --véletlen rendelést szeretne.

Kimeneti időzítés és újrapróbálkozás

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

Állítsa be a gépenkénti próbálkozások teljes számát <i> értékre, alapértelmezett=2.

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

A visszalépési tényező beállítása <f> értékre, alapértelmezett=1,50. Megszorozza az időtúllépést a <f> értékkel minden egyes átlépésnél.

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

Állítsa be a kezdeti per host időtúllépést <i> ms-ra, alapértelmezett=500. Ez az időkorlát az egyes gazdagépnek elküldött első csomagra vonatkozik. a következő időtúllépések megszorozódnak a visszalépési tényezővel, amely a --backoff paraméterrel van beállítva.

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

Állítsa be a minimális csomagintervallumot a következőre: <x>. Ez szabályozza a kimenő sávszélesség-használatot a csomagsebesség korlátozásával. Ha egy adott sávszélességig szeretne használni, akkor egyszerűbb a --bandwidth opció használata. Az intervallum ezredmásodpercben van megadva, vagy mikroszekundumban, ha "u" van hozzáfűzve.

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

Állítsa a kimenő sávszélességet <x> értékre, alapértelmezett=256000. Az érték bit per másodpercben értendő. Hozzáfűzi a K-t kilobitekhez, vagy M-t a megabitekhez (tizedes többszörösek). Nem adhatja meg egyszerre a --interval és a --bandwidth elemet.

DNS felbontás

--numeric or -N

A célpontoknak IP-címeknek kell lenniük, nem állomásneveknek. Csökkentheti a nagy céllisták indítási idejét.

--resolve or -d

A válaszcímek feloldása gazdagépnevekre. Az alapértelmezett kimeneti formátum az IPv4-cím helyett a gazdagépnevet jeleníti meg. Ezzel az opcióval elérhetővé teszi a $ {name} mezőt a --formátum beállításhoz.

Kimeneti ARP csomag

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

Állítsa be az ARP-forrás Ethernet-címét. Beállítja a 48 bites ar$sha mezőt, de nem változtatja meg a hardvercímet a keret fejlécében. A cím módosításáról lásd: --srcaddr. Az alapértelmezett a kimenő interfész Ethernet-címe.

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

Állítsa be az ARP cél Ethernet címét. Beállítja a 48 bites ar$tha mezőt. Az alapértelmezett érték nulla, mert ez a mező nem használható ARP-kéréscsomagokhoz.

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

Állítsa be az ARP hardver típusát, alapértelmezett=1. Beállítja a 16 bites ar$hrd mezőt. Az alapértelmezett érték 1 (ARPHRD_ETHER). Sok operációs rendszer a 6-ra is reagál (ARPHRD_IEEE802).

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

Állítsa be az ARP protokoll típusát alapértelmezett=0x0800 értékre. Beállítja a 16 bites ar$pro mezőt. A legtöbb operációs rendszer csak a 0x0800-ra (IPv4) reagál.

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

Állítsa be a hardvercím hosszát, alapértelmezett=6. Beállítja a 8 bites ar$hln mezőt. Ez a beállítás nem módosítja az ar$sha és az ar$tha mezők hosszát; csak az ar$hln mezőt módosítja.

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

Állítsa be a protokollcím hosszát, alapértelmezett=4. Beállítja a 8 bites ar$pln mezőt. Ez a beállítás nem módosítja az ar$spa és az ar$tpa mezők hosszát; csak az ar$pln mezőt módosítja.

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

Adja meg az ARP-műveletet, alapértelmezett=1. Beállítja a 16 bites ar$op mezőt. A legtöbb operációs rendszer csak az 1-es értékre válaszol (ARPOP_REQUEST).

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

Állítsa be a forrás IPv4-címét. A címnek pontozott négyes formátumban kell lennie, vagy a "dest" karakterláncnak, amely a forráscímet a cél gazdagép címére állítja be. Az alapértelmezett a kimenő interfész címe. Beállítja a 32 bites ar$spa mezőt. Egyes operációs rendszerek csak akkor válaszolnak, ha a forráscím a fogadó interfész hálózatán belül van. Ha az ar$spa-t a cél IP-címére állítja be, egyes operációs rendszerek címütközést jelenthetnek.

Output Ethernet Header

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

Állítsa be a forrás Ethernet MAC-címét. Az alapértelmezés az interfész MAC-címe. Ez beállítja a címet az Ethernet fejlécben. Nem változtatja meg az ARP-csomag címét: a --arpsha használatával módosíthatja a címet.

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

Állítsa be a cél MAC-címét. Beállítja a célcímet az Ethernet fejlécben. Az alapértelmezett érték: ff:ff:ff:ff:ff:ff (sugárzott) A gazdagépek akkor is válaszolnak, ha a kérést a saját unicast címükre vagy egy olyan csoportos küldési címre küldik, amelyen hallgatnak.

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

Beállítja az Ethernet protokoll típusát, alapértelmezett=0x0806. Ez beállítja a protokolltípus mezőt az Ethernet fejlécben.

--llc or -L

Használjon RFC 1042 LLC/SNAP tokozást a 802.2 hálózatokhoz. Az arp-scan ettől a beállítástól függetlenül dekódolja és megjeleníti az ARP-válaszokat Ethernet-II és IEEE 802.2 formátumban is.

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

Használjon 802.1Q címkézést <i> VLAN azonosítóval. Az azonosítónak 0 és 4095 között kell lennie. Az arp-scan dekódolja és 802.1Q formátumban jeleníti meg az ARP válaszokat, ettől az opciótól függetlenül.

Egyéb opciók

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

Lépjen ki, miután a megadott számú gazdagép válaszolt. Az arp-scan 1-es állapottal kilép, ha a válaszoló gazdagépek száma kisebb, mint a korlát. Használható szkriptekben annak ellenőrzésére, hogy kevesebb hoszt válaszol-e a kimenet elemzése nélkül.

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

Írja be a fogadott csomagokat a pcap mentési fájlba <s>. Az ARP-válaszok a megadott fájlba íródnak, dekódolódnak és megjelennek.

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

Állítsa a pcap raszter hosszát <i> értékre. Alapértelmezett=64. Megadja a keretrögzítés hosszát, beleértve az Ethernet fejlécet is. Az alapértelmezett érték általában elegendő.

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

Állítsa be a küldési kísérletek számát, alapértelmezett=20.

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

Állítsa be a küldési kísérletek közötti intervallumot. Az intervallum ezredmásodpercben vagy mikroszekundumban értendő, ha "u" van hozzáfűzve. alapértelmezett=5.

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

Adja meg a kitöltést a csomagadatok után. Állítsa be az ARP-kérés utáni kitöltést hexadecimális értékre .

KILÉPÉSI ÁLLAPOT

Az arp-scan 0-val fejeződik be sikeres befejezés esetén, vagy >0-val, ha hiba történt.

Ha a --limit opció meg van adva, az arp-scan szintén nullától eltérő kilépési kóddal lép ki, ha a válaszoló gazdagépek száma kisebb, mint a megadott korlát.

FÁJLOK

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

Az IEEE OUI (Organizationally Unique Identifier) listája a szállítói leképezésekhez.

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

Egyéb Ethernet MAC-leképezések listája a gyártóhoz, beleértve a helyi kiegészítéseket.

PÉLDÁK

Egyszerű szkennelés

Vizsgálja meg az alapértelmezett hálózatot az interfész IPv4 konfigurációjával a vizsgálandó gazdagépek listájának létrehozásához.

$ 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

Kimeneti formázás

Vizsgálja meg az összes gazdagépet a 10.0.0.0/24-ben az eth0 interfész segítségével. Számítsa ki az oda-vissza utazási időt és jelenítse meg az igazított oszlopokban egyéni formátum használatával.

$ 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 kimenet

A --sima eltávolítja a felesleges kimenetet.

$ 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"

LÁSD MÉG

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.