溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中如何使用arp命令

發(fā)布時(shí)間:2022-01-21 09:57:09 來(lái)源:億速云 閱讀:195 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下Linux中如何使用arp命令,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

arp指令用來(lái)管理系統(tǒng)的arp緩沖區(qū),可以顯示、刪除、添加靜態(tài)mac地址。ARP以各種方式操縱內(nèi)核的ARP緩存。主要選項(xiàng)是清除地址映射項(xiàng)并手動(dòng)設(shè)置。

Linux中如何使用arp命令

arp

arp 命令用于顯示和修改 IP 到 MAC 轉(zhuǎn)換表

補(bǔ)充說(shuō)明

arp 命令 是 Address Resolution Protocol,地址解析協(xié)議,是通過(guò)解析網(wǎng)絡(luò)層地址來(lái)找尋數(shù)據(jù)鏈路層地址的一個(gè)網(wǎng)絡(luò)協(xié)議包中極其重要的網(wǎng)絡(luò)傳輸協(xié)議。而該命令可以顯示和修改 arp 協(xié)議解析表中的緩沖數(shù)據(jù)。

這個(gè)核心協(xié)議模塊實(shí)現(xiàn)RFC826中定義的 Address Resolution Protocol [譯注:即TCP/IP的第三層到第一層的地址轉(zhuǎn)換協(xié)議],用于在直接相連的網(wǎng)絡(luò)中換第二層硬件地址和 Ipv4 協(xié)議地址之間的轉(zhuǎn)換。 用戶除非想對(duì)其進(jìn)行配置,否則一般不會(huì)直接操作這個(gè)模塊。

實(shí)際上,它提供對(duì)核心中其它協(xié)議的服務(wù)。

用戶進(jìn)程可以使用 packet(7) 的 sockets,收到 ARP 包(譯注:一譯分組)。 還有一種機(jī)制是使用 netlink(7) sockets,在用戶空間管理 ARP 緩存的機(jī)制。我們也可以通過(guò) ioctl (2) 控制任意 PF_INET socket上的 ARP 表

ARP 模塊維護(hù)一個(gè)硬件地址到協(xié)議地址映射的緩存。這個(gè)緩存有大小限制,所以不常用的和舊的記錄(Entry)將被垃圾收集器清除(garbage-collected),垃圾收集器永遠(yuǎn)不能刪除標(biāo)為永久的記錄。我們可以使用ioctls直接操縱緩沖, 并且其性狀可以用下面定義的 sysctl 調(diào)節(jié)。

如果在限定的時(shí)間(見(jiàn)下面的sysctl)內(nèi),一條現(xiàn)存映射沒(méi)有肯定反饋時(shí), 則認(rèn)為相鄰層的緩存記錄失效。 為了再次向目標(biāo)發(fā)送數(shù)據(jù),ARP將首先試著詢問(wèn)本地arp進(jìn)程 app_solicit 次,獲取更新了的 MAC(介質(zhì)訪問(wèn)控制)地址。 如果失敗,并且舊的MAC地址是已知的,則發(fā)送 ucast_solicit 次的 unicast probe。如果仍然失敗,則將向網(wǎng)絡(luò)廣播一個(gè)新的ARP請(qǐng)求,此時(shí)要 有待發(fā)送數(shù)據(jù)的隊(duì)列

如果 Linux 接到一個(gè)地址請(qǐng)求,而且該地址指向 Linux 轉(zhuǎn)發(fā)的地址,并且接收接口打開(kāi)了代理 arp 時(shí),Linux 將自動(dòng)添加一條非永久的代理 arp 記錄;如果存在拒絕到目標(biāo)的路由,則不添加代理 arp 記錄。

語(yǔ)法

 arp(選項(xiàng))(參數(shù))

選項(xiàng)

 -a # 主機(jī) :顯示 arp 緩沖區(qū)的所有條目;
 -H # 地址類型 :指定 arp 指令使用的地址類型;
 -d # 主機(jī) :從 arp 緩沖區(qū)中刪除指定主機(jī)的 arp 條目;
 -D # 使用指定接口的硬件地址;
 -e # 以 Linux 的顯示風(fēng)格顯示 arp 緩沖區(qū)中的條目;
 -i # 接口 :指定要操作 arp 緩沖區(qū)的網(wǎng)絡(luò)接口;
 -s # 主機(jī) MAC 地址 :設(shè)置指定的主機(jī)的 IP 地址與 MAC 地址的靜態(tài)映射;
 -n # 以數(shù)字方式顯示 arp 緩沖區(qū)中的條目;
 -v # 顯示詳細(xì)的 arp 緩沖區(qū)條目,包括緩沖區(qū)條目的統(tǒng)計(jì)信息;
 -f # 文件 :設(shè)置主機(jī)的 IP 地址與 MAC 地址的靜態(tài)映射。

參數(shù)

主機(jī):查詢 arp 緩沖區(qū)中指定主機(jī)的 arp 條目。

實(shí)例

顯示arp 緩沖區(qū)內(nèi)容

 [root@localhost ~]# arp -v
 Address                  HWtype  HWaddress           Flags Mask            Iface
 192.168.0.134            ether   00:21:5E:C7:4D:88   C                     eth2
 115.238.144.129          ether   38:22:D6:2F:B2:F1   C                     eth0
 Entries: 2      Skipped: 0      Found: 2

添加靜態(tài) arp 映射

 arp -s IP MAC-ADDRESS
 arp -s 192.168.1.1 00:b1:b2:b3:b4:b5

刪除 arp 緩存條目

 arp -d 192.168.1.1

以上是“Linux中如何使用arp命令”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI