Hogyan törölheti az arp gyorsítótárat a linuxon?

Mindkettő:

sudo ip -s -s neigh flush all 

És:

sudo arp -d 192.168.0.102 

Az arp gyorsítótár törlése helyett úgy tűnik, hogy csak érvénytelenítik a bejegyzéseket (incomplete néven jelennek meg). Néhány perc múlva is az ARP gyorsítótár a következőképpen néz ki:

$ arp -n Address HWtype HWaddress Flags Mask Iface 192.168.0.103 (incomplete) eth0 192.168.0.1 ether DE:AD:BE:EF:DE:AD C eth0 

(Az átjáró MAC-je frissült – ez rendben van)

Hogyan tényleg törölhetem az ARP gyorsítótárat, például az “Összes bejegyzés törlése a táblából” részben? nem nem akarok hiányos bejegyzéseket megtartani, hanem el akarom távolítani őket. Ez lehetséges?

SZERKESZTÉS

Ez az én rendszerem:

» arp --version net-tools 1.60 arp 1.88 (2001-04-04) +I18N AF: (inet) +UNIX +INET +INET6 +IPX +AX25 +NETROM +X25 +ATALK +ECONET +ROSE HW: (ether) +ETHER +ARC +SLIP +PPP +TUNNEL -TR +AX25 +NETROM +X25 +FR +ROSE +ASH +SIT +FDDI +HIPPI +HDLC/LAPB +EUI64 » lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.2 LTS Release: 14.04 Codename: trusty » uname -a Linux polyphemus.xxx-net 3.13.0-46-generic #77-Ubuntu SMP Mon Mar 2 18:23:39 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 

Megjegyzések

  • Mit próbál itt elérni? Vagy pontosabban: milyen problémát próbál megoldani?
  • Kevés a hiánya az arp tábla bejegyzéseinek? Talán ‘ van egy program, amely ezt az IP-címet kéri, ezzel megújítva a bejegyzést. Ellenőrizze a következővel: wireshark vagy tcpdump.
  • @MichaelMartinez mert xy probléma . Valószínűnek tűnik, hogy a kérdés nem ‘ t jelenti a gyökérproblémát, és lehet, hogy van valami mögöttes probléma, amelyen az OP-nak dolgoznia kell.
  • Az ok, amiért ezek az információk nem kérdéses, mert nem releváns. Tiszta ARP gyorsítótárat szeretnék. Pont. Nem bízol bennem, hogy ezt akarom, de ez a te problémád, nem az enyém. Biztosítom: tiszta ARP gyorsítótárat szeretnék.
  • Az ARP gyorsítótár mechanizmusának mélyreható magyarázata itt található: stackoverflow.com/a/ 15511117/647991

Válasz

Eredeti oneliner

ip link set arp off dev eth0 ; ip link set arp on dev eth0 

Győződjön meg róla, hogy mindezt egyszerre végzi, hogy ne szakítsa meg a hálózati kapcsolatot, mielőtt újra bekapcsolhatja az ARP-t.

Interfész a copy-paste parancs felfedezésével

interfaces=$( arp -n | awk " NR == 1 {next} {interfaces[$5]+=1} END {for (interface in interfaces){print(interface)}} " ); for interface in $interfaces; do echo "Clearing ARP cache for $interface"; sudo ip link set arp off dev $interface; sudo ip link set arp on dev $interface; done 

Megjegyzés: A pontosvesszők lehetővé teszik, hogy ezt a parancsot onelinerbe sűrítsd, de szörnyen néz ki egy SO blokkban .

Példa kimenet a Raspbian-on

pi@raspberrypi:~ $ arp -n Address HWtype HWaddress Flags Mask Iface 10.0.0.1 ether 58:19:f8:0d:57:aa C wlan0 10.0.0.159 ether 88:e9:fe:84:82:c8 C wlan0 pi@raspberrypi:~ $ interfaces=$( arp -n | awk " NR == 1 {next} {interfaces[$5]+=1} END {for (interface in interfaces){print(interface)}} "); for interface in $interfaces; do echo "Clearing ARP cache for $interface"; sudo ip link set arp off dev $interface; sudo ip link set arp on dev $interface; done Clearing ARP cache for wlan0 pi@raspberrypi:~ $ arp -n Address HWtype HWaddress Flags Mask Iface 10.0.0.159 ether 88:e9:fe:84:82:c8 C wlan0 

Megjegyzések

  • Az egyiknek vagy shell parancsfájlban vagy a gépnél végezze el, mivel úgy tűnik, hogy az első parancs után megszakítja a kapcsolatot.
  • Egy soron csináltam, és működött: dev=eth2; ip link set arp off dev $dev; sleep 1; ip link set arp on dev $dev. Előfordulhat, hogy a sleep fájlra nincs szükség.

Válasz

Az első megoldás működik, csak egy kis időbe telik (5-10 másodperc a Kali-teszten), hogy a “(hiányos)” -ról a bejegyzések nélkülre menjek.

Feltehetően valamilyen átmeneti állapotban van törlésének módja.

Megjegyzések

  • Számomra (Ubuntu 14.04) ez nem így volt: a bejegyzéseket sokáig megőrzik ( örökké?) hiányos állapotban. Ma még egyszer ellenőrizni fogom ezt.
  • Ellenőrzött: néhány perc elteltével is a bejegyzések még mindig hiányos állapotban vannak (arp 1.88, net-tools 1.60)
  • Nos akkor a problémád minden bizonnyal nem szokványos viselkedés, talán az Ubuntu 14.04-re vonatkozik. A Linuxban való helyes végrehajtás egyszerűen nem működik az Ön számára. Remélem, hamarosan megtalálja a választ. Ezt törölheti, ha ‘ tetszik.
  • Nem, hagyja meg, másoknak ad információt. De azt hiszem, hogy a ” szokásos ” viselkedés az Ubuntu-ban található meg, nem Kaliban, ami a penetrációs teszt disztrója. és az alapértelmezett értékeket kifejezetten az adott használati esethez igazították.

Válasz

Az Ön által említett megoldás helyes és biztonságos megközelítés az ARP tábla öblítéséhez:

ip neigh flush all [dev <device>]

Ha bizonyos bejegyzéseket érvénytelenné változtatnak, akkor ezek ideiglenesek és az ARP része Fontos szempont, hogy a leképezés eltűnt, a hiányosként megjelölt ARP bejegyzés nem egy IP-MAC bejegyzés a táblán.

Most próbáltam ki, és az én esetemben azonnal törölte a táblázatot, és nem hagyott hiányos bejegyzéseket.

Megjegyzések

  • Bizonyos (nem világos) esetekben az ip szomszédos összes nem elégséges. Esetemben nem törölte egyértelműen az arp -s hozzáadását.
  • Sokkal jobban szeretem ezt, mint a fenti saját válaszomat, a statikus ARP bejegyzésekkel kapcsolatos hozzáfigyeléssel, a kívánt viselkedéstől függően.

Válasz

Bizonyos rendszerekben a ip parancs nem érhető el.

user@linux:~$ ip -bash: ip: command not found user@linux:~$ 

Tehát ez a ip link set arp off dev eth0; ip link set arp on dev eth0 parancs alternatívája.

Ha szeretné törölje az összes bejegyzést a táblából egyetlen parancsban, használja a for loop parancsot, mint az alábbi példa.

ELŐTT

user@linux:~$ arp ? (10.0.0.1) at 00:00:00:aa:aa:12 [ether] on eth1 ? (172.168.0.3) at 00:00:00:aa:aa:11 [ether] on eth2 user@linux:~$ 

ARP ELTÁVOLÍTÁSA ARP -D PARANCSAL

user@linux:~$ for i in 10.0.0.1 172.168.0.3; do sudo arp -d $i; done user@linux:~$ 

UTÁN: A MAC-CÍM ELTÁVOLÍTOTT A BEÍRÁSOKBÓL TELJES ÜZENETTEL div>

Ez igaz, az arp törlésével a arp -d paranccsal az arp bejegyzések továbbra is ott vannak incomplete üzenettel. / p>

A probléma megoldásához használja a következőt: ifconfig ethx up/down, mint ez

ELŐTT

user@linux:~$ arp ? (10.0.0.1) at <incomplete> on eth1 ? (172.168.0.3) at <incomplete> on eth2 user@linux:~$ 

KIKAPCSOLHATÓ & AZ ETH1 interfészek engedélyezése & ETH2 EGYSÉGES PARANCSBAN

user@linux:~$ for i in 1 2; do sudo ifconfig eth$i down; sudo ifconfig eth$i up; done user@linux:~$ 

TADAAA … PROBLÉMA MEGOLDVA:)

user@linux:~$ arp user@linux:~$ 

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük