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
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 asleep
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:~$
wireshark
vagytcpdump
.