Kedua:
sudo ip -s -s neigh flush all
Dan:
sudo arp -d 192.168.0.102
Alih-alih membersihkan cache arp mereka tampaknya hanya membatalkan entri (mereka akan muncul sebagai incomplete
). Bahkan setelah beberapa menit, cache ARP terlihat seperti:
$ 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
(MAC gateway telah di-refresh - tidak apa-apa)
Bagaimana saya bisa benar-benar menghapus cache ARP, seperti di "hapus semua entri dari tabel"? Saya tidak ingin menyimpan entri yang tidak lengkap, saya ingin mereka dihapus. Apakah ini mungkin?
EDIT
Ini adalah sistem saya:
» 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
wireshark
atautcpdump
.Jawaban:
Pastikan untuk melakukan semuanya sekaligus, sehingga Anda tidak memutus konektivitas jaringan sebelum Anda dapat mengaktifkan kembali ARP.
sumber
dev=eth2; ip link set arp off dev $dev; sleep 1; ip link set arp on dev $dev
. Thesleep
mungkin tidak diperlukan.Solusi pertama Anda berhasil, hanya perlu sedikit waktu (5-10 detik dalam pengujian saya di Kali) untuk beralih dari "(tidak lengkap)" ke tidak ada entri.
Agaknya ia dalam keadaan transisi dalam perjalanan untuk dihapus.
sumber
Dalam sistem tertentu,
ip
perintah tidak tersedia.Jadi ini alternatif dari
ip link set arp off dev eth0; ip link set arp on dev eth0
perintah.Jika Anda ingin menghapus semua entri dari tabel dalam satu perintah, gunakan
for loop
seperti contoh berikut.SEBELUM
MENGHAPUS ARP DENGAN ARP -D COMMAND
SETELAH: ALAMAT MAC DIHAPUS DARI PENDAFTARAN DENGAN PESAN LENGKAP
Itu benar, dengan menghapus arp dengan
arp -d
perintah, entri arp masih ada denganincomplete
pesan.Untuk mengatasi masalah ini, gunakan
ifconfig ethx up/down
seperti iniSEBELUM
Nonaktifkan & Aktifkan INTERFACE ETH1 & ETH2 DALAM PERINTAH TUNGGAL
TADAAA ... MASALAH ASK :)
sumber
Solusi yang Anda sebutkan adalah pendekatan yang benar dan aman untuk menyiram tabel ARP:
ip neigh flush all [dev <device>]
Jika entri tertentu diubah menjadi tidak valid, itu sementara dan merupakan bagian dari protokol ARP. Aspek penting adalah bahwa pemetaan hilang, entri ARP ditandai sebagai tidak lengkap bukan entri IP-MAC di atas meja.
Saya baru saja mencoba ini dan dalam kasus saya segera membersihkan meja dan tidak meninggalkan entri yang tidak lengkap.
sumber