jak vymazat mezipaměť ARP v systémech Linux, Windows a macOS?
protokol ARP (Address Resolution Protocol) je velmi důležitou součástí IP sítí. ARP se používá pro pozdější připojení OSI sítě (vrstva 3) k OSI datové vrstvě (vrstva 2).
pro komunikaci s jakýmkoli zařízením v síti musí mít zařízení ethernetovou MAC adresu.
co je ARP Cache?
ARP cache funguje jako knihovna dynamických položek ARP. Položky ARP jsou vytvořeny, když jsou adresy IP vyřešeny z názvů hostitelů a poté do adres MAC. Tento proces je zodpovědný za to, aby zařízení mohla komunikovat s různými zařízeními pomocí IP adres.
důvody, proč byste měli vymazat mezipaměť ARP z vašeho počítačového zařízení
vymazání mezipaměti ARP není nezbytným úkolem, ve většině případů restartování routeru nebo přepínače stačí k vyřešení problémů s připojením.
ale s časem se Databáze arp stává zastaralou a nové položky nemusí vždy přepsat položky, jejichž platnost vypršela v databázi. Může tedy ovlivnit výkon sítě a může způsobit chyby, které mohou ovlivnit váš systém.
jak zjistit, zda je problém ARP cache s vaším systémem?
- nemůžete ping určité IP adresy, když víte, že ty fungují správně.
- nelze načíst webové stránky, které fungují dobře nebo fungují správně na různých zařízeních.
pokud čelíte tomuto typu znaků, měli byste vymazat mezipaměť ARP právě teď!
vymazání mezipaměti ARP přinutí všechny požadavky ve vaší databázi znovu projít celým procesem ARP.
jak vymazat mezipaměť ARP v systému Linux?
Chcete-li hledat položky ARP cache, můžeme použít ARP command utility v Linuxu. Spusťte následující příkaz pro seznam všech dostupných položek:
$ arp -nAddress HWtype HWaddress Flags Mask Iface192.168.1.240 ether 92:83:c6:3c:2a:9f C eth0192.168.225.1 ether a2:70:ce:72:65:13 C eth0192.168.1.26 ether 42:58:3a:d4:31:95 C eth0
Všimněte si, že v tabulce mezipaměti máme k dispozici tři položky mezipaměti arp. Budeme flush ARP cache tabulku dále.
existují hlavně dvě metody pro vymazání mezipaměti arp na počítači se systémem Linux.
- pomocí příkazu arp
- pomocí příkazu ip
oba příkazové nástroje jsou k dispozici ve většině distribucí Linuxu, jako jsou Kali linux, Ubuntu, Arch Linux, CentOS, Debian, Fedora, RHEL atd.
vymazání mezipaměti pomocí příkazu arp
arp je nástroj příkazového řádku dostupný v Linuxu pro správu mezipaměti systému. arp
příkaz umožní uživatelům vymazat konkrétní položky mezipaměti. Můžeme vybrat, které položky mezipaměti by měly být propláchnuty nebo vymazány.
stačí použít volbu-d pro vyprázdnění zobrazených položek
$ arp -d 192.168.1.240
Chcete-li potvrdit, které položky jsou smazány, spusťte následující příkaz,
$ arp -nAddress HWtype HWaddress Flags Mask Iface192.168.225.1 ether a2:70:ce:72:65:13 C eth0192.168.1.26 ether 42:58:3a:d4:31:95 C eth0
Všimněte si, že položka mezipaměti pro 192.168.1.240 je vymazána.
což znamená, že položka ARP bude obnovena, kdykoli je to potřeba.
problém: někdy se příkaz
arp -d <IP-address>
používá k odstranění mezipaměti, opouští tabulku se záznamy, kde je HWaddress označen jako(incomplete)
, ale položka tam stále zůstává. Otázkou tedy je, jak úplně odstranit položku arp z tabulky nebo vyprázdnit tabulku?pro tento typ řešení problému můžeme použít nástroj ip command utility. Přečtěte si další bod „vymazání mezipaměti pomocí příkazu ip (plně vyprázdnit mezipaměť arp)“
vymazání mezipaměti pomocí příkazu ip (plně vyprázdnit mezipaměť arp)
vymazání mezipaměti arp pomocí příkazu ip je v Linuxu nejvýhodnější způsob, jak může vymazat plnou mezipaměť ARP najednou. příkaz ip je zabudován v novějších distribucích Linuxu.
pomocí následujícího příkazu vymažte úplnou mezipaměť arp pomocí nástroje ip:
$ ip -s -s neigh flush all192.168.1.26 dev eth0 lladdr 42:58:3a:d4:31:95 ref 1 used 14/14/14 probes 4 REACHABLE192.168.1.240 dev eth0 lladdr 92:83:c6:3c:2a:9f ref 1 used 18/18/18 probes 4 REACHABLE192.168.225.1 dev eth0 lladdr a2:70:ce:72:65:13 used 246/246/215 probes 5 STALE*** Round 1, deleting 3 entries ****** Flush is complete after 1 round ***
první -s poskytne extra podrobný výstup.
Second-s Pro výběr sousední tabulky. Tabulka sousedů s příkazem ip
se rovná mezipaměti ARP i NDISC.
příkaz plně propláchne mezipaměť ARP ze systému najednou.
Chcete-li jej potvrdit, spusťte následující příkaz,
$ arp -n
jak vymazat mezipaměť ARP v systému Windows?
vymazání mezipaměti arp v systému Windows je velmi snadný úkol. Příkazový řádek použijeme k vymazání mezipaměti arp nebo propláchnutí mezipaměti arp ze systému windows. Tuto metodu lze použít na jakýkoli operační systém Windows, jako jsou Windows 7, Windows 8, Windows 10 atd.
zde je požadavek, musíte spustit příkazový řádek(cmd) jako správce. Pokud jste na účtu správce, pak je to v pořádku, můžete Spustit cmd přímo. Pokud však nejste přihlášeni jako správce systému, musíte Spustit cmd jako správce, aby příkaz NetShell fungoval.
Chcete-li zobrazit mezipaměť windows arp, stačí spustit příkaz arp -a
v příkazovém řádku.
Chcete-li vyprázdnit mezipaměť arp, spusťte následující příkaz netsh
,
netsh interface IP delete arpcache
po vymazání mezipaměti arp ji potvrďte opětovným spuštěním příkazu arp -a
.
Sledujte zprávu “ nebyly nalezeny žádné položky ARP.“, což znamená, že mezipaměť windows arp je vymazána nebo propláchnuta.
můžeme také použít
arp -d <ip address>
k vymazání mezipaměti arp pro konkrétní položku pouze v systému windows.
jak vymazat mezipaměť ARP v systému macOS nebo OS X
Chcete-li vymazat nebo vyprázdnit mezipaměť ARP v systému macOS, postupujte takto:
- Otevřete aplikaci terminálu.
- vložte tento příkaz pro zobrazení aktuální mezipaměti arp dostupné v systému.
$ sudo arp -a? (192.168.1.240) at 92:83:c6:3c:2a:9f on en0 ifscope ? (192.168.1.26) at 42:58:3a:d4:31:95 on en0 ifscope ? (192.168.225.1) at a2:70:ce:72:65:13 on en0 ifscope permanent
- nyní pomocí následujícího příkazu vymažte nebo propláchněte celou mezipaměť arp dostupnou v systému macOS.