前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Linux管理系统的arp缓存命令

Linux管理系统的arp缓存命令

原创
作者头像
用户4988085
修改于 2021-07-21 07:12:53
修改于 2021-07-21 07:12:53
7.8K00
代码可运行
举报
文章被收录于专栏:建站知识建站知识
运行总次数:0
代码可运行

arp

[功能]

管理系统的arp缓存。

[描述]

用来管理系统的arp缓存,常用的命令包括:

arp: 显示所有的表项。

arp -d address: 删除一个arp表项。

arp -s address hw_addr: 设置一个arp表项。

常用参数:

-a 使用bsd形式输出。(没有固定的列)

-n 使用数字形式显示ip地址,而不是默认的主机名形式。

-D 不是指定硬件地址而是指定一个网络接口的名称,表项将使用相应接口的MAC地址。一般用来设置ARP代理。

-H type, --hw-type type: 指定检查特定类型的表项,默认type为ether,还有其他类型。

-i If, --device If: 指定设置哪个网络接口上面的arp表项。

-f filename: 作用同'-s',不过它通过文件来指定IP地址和MAC地址的绑定。文件中每行分别是主机和MAC,中间以空格分割。如果没有指定文件名称,则使用/etc/ethers文件。

以下例子中,用主机名称的地方也可以用点分10进制的ip地址来表示。另外输出结果中用"C"表示ARP缓存内容,"M"表示永久性表项,"P"表示公共的表项。

[举例]

*查看arp表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#arp
Address  HWtype  HWaddress  Flags Mask  Iface
hostname1  ether  44:37:e6:97:92:16  C  eth0
hostname2  ether  00:0f:fe:43:28:c5  C  eth0
hostname3  ether  00:1d:92:e3:d5:ee  C  eth0
hostname4   ether  00:1d:0f:11:f2:a5  C  eth0

这里,Flags中的"C"代表此表项目是高速缓存中的内容,高速缓存中的内容过一段时间(一般20分钟)会清空,而"M"则表示静态表项,静态表项的内容不会过一段时间被清空。

*查看arp表,并且用ip显示而不是主机名称:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# arp -n
Address  HWtype  HWaddress  Flags Mask   Iface
10.1.10.254  ether  00:1d:92:e3:d5:ee  C  eth0
10.1.10.253  ether  44:37:e6:9b:2c:53  C  eth0
10.1.10.178  ether  00:1b:78:83:d9:85  C  eth0
10.1.10.119  ether  00:1d:0f:11:f2:a5  C  eth0

这里,对于上面的条目,假设当我们"ping 10.1.10.1"通过之后,arp中会多一条"10.1.10.1"相关的信息。

*查看arp表,显示主机名称和ip:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#arp -a
ns.amazon.esdl.others.com (10.1.10.254) at 00:1d:92:e3:d5:ee [ether] on eth0
server.amazon.eadl.others.com (10.1.10.253) at 44:37:e6:9b:2c:53 [ether] on eth0
D2-baijh.amazon.esdl.others.com (10.1.10.178) at 00:1b:78:83:d9:85 [ether] on eth0
aplab.local (10.1.10.119) at 00:1d:0f:11:f2:a5 [ether] on eth0

*添加一对IP和MAC地址的绑定:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# arp -s 10.1.1.1 00:11:22:33:44:55:66
这里,如果网络无法达到,那么会报告错误,具体如下:
root@quietheart:/home/lv-k# arp -s 10.1.1.1 00:11:22:33:44:55:66
SIOCSARP: Network is unreachable
root@quietheart:/home/lv-k# arp -n
Address  HWtype  HWaddress  Flags Mask  Iface
10.1.10.254  ether  00:1d:92:e3:d5:ee  C  eth0
10.1.10.253  ether  44:37:e6:9b:2c:53  C  eth0
10.1.10.178  ether  00:1b:78:83:d9:85  C  eth0
10.1.10.119  ether  00:1d:0f:11:f2:a5  C  eth0

实际上,如果"arp -s"设置成功之后,会增加一个Flags为"CM"的表项,有些系统静态条目不会因为ARP响应而更新,而高速缓存中的条目会因此而更新。如果想要手工设置没有"M",那么用"temp"选项,例如:"arp -s IP MAC temp"类似的命令,实践发现,如果已经设置过IP了,那么再设置也不会改变其Flags。

*删除一个arp表项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# arp -d 10.1.10.118

这里,删除之后只是硬件地址没有了,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@quietheart:~# arp -n
Address  HWtype  HWaddress  Flags Mask  Iface
10.1.10.118  ether  00:25:9c:c2:79:90  CM  eth0
10.1.10.254  ether  00:1d:92:e3:d5:ee  C  eth0
root@quietheart:~# arp -d 10.1.10.118
root@quietheart:~# arp -n
Address  HWtype  HWaddress  Flags Mask  Iface
10.1.10.118  (incomplete)  eth0
10.1.10.254  ether  00:1d:92:e3:d5:ee  C 

*删除eth0上面的一个arp表项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# arp -i eth0 -d 10.1.10.118

[其它]

*指定回复的MAC地址:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub

当eth0收到IP地址为10.0.0.2的请求时,将会用eth1的MAC地址回答。

例如,双网卡机器运行这条命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub

会多一项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
10.0.0.2  *    MP  eth0

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python 实现ARP扫描与欺骗
ARP欺骗又称ARP毒化或ARP攻击,是针对以太网地址解析协议ARP的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。
王瑞MVP
2022/12/28
1.3K0
Python 实现ARP扫描与欺骗
calico跨网段不通_多对网桥ip地址相同
Calico 是一个基于BGP协议的网络互联解决方案。它是一个纯3层的方法,使用路由来实现报文寻址和传输。 相比 flannel, ovs等SDN解决方案,Calico 避免了层叠网络带来的性能损耗。将节点当做 router ,位于节点上的 container 被当做 router 的直连设备。利用 Kernel 来实现高效的路由转发。 节点间的路由信息通过 BGP 协议在整个 Calico 网络中传播。 具有以下特点: 1. 在 calico 中的数据包不需要进行封包和解封。 2. 基于三层网络通信,troubleshoot 会更方便。 3. 网络安全策略使用 ACL 定义,基于 iptables 实现,比起 overlay 方案中的复杂机制更只管和容易操作。
全栈程序员站长
2022/11/18
2.3K0
calico跨网段不通_多对网桥ip地址相同
Linux 命令(199)—— arp 命令
arp(Address Resolution Protocol)操作主机的 ARP 缓存。
恋喵大鲤鱼
2022/11/29
5.1K0
Gentoo下的ARP防御
arp是困扰很多人的问题, 利用arp协议的漏洞,别人可以很容易的在你的页面上挂上木马。简单的说,arp攻击就是利用arp自身的漏洞,欺骗你的机器访问虚假的网关,在那个虚假的网关上被植入木马代码的行为。 前两天Pett留言说他访问我的博客发现有病毒,虽然我没能重现他所反应的问题。 但是我想八九不离十应该是机房局域网中的arp攻击所致。
EltonZheng
2021/01/22
5930
ARP-基础-扫描-攻击-防范
ARP(Address Resolution Protocol)地址解析协议,将已知IP地址转换为MAC地址,由RFC820定义 ARP协议在OSI模型中处于数据链路层,在TCP/IP模型中处于网络层 ARP协议与数据链路层关联网络层
糖果
2019/11/20
2.4K0
arp命令_arp协议的主要功能是什么
ARP(Address Resolution Protocol)命令用于显示和修改“地址解析协议(ARP)”缓存中的项目 ARP 把IP 地址解析成 LAN 硬件使用的媒体访问控制地址。以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包
全栈程序员站长
2022/11/01
6850
linux之arp和arping命令
一般会使用arp协议获取局域网内的主机MAC,所以局域网主机之间也互称为网络邻居。
陈不成i
2021/05/26
10.6K0
Python ARP缓存投毒与DNS欺骗
利用Scapy进行ARP缓存投毒 from scapy.all import * import os import sys import threading import signal def restore_target(gateway_ip,gateway_mac,target_ip,target_mac): #以下代码中调用send函数的方式稍有不同 print "[*] Restoring target... " send(ARP(op=2,psrc=gateway_ip,
王瑞MVP
2022/12/28
2K0
Linux下检测IP地址冲突及解决方法
问题说明: 在公司办公网内的一台物理机A上安装了linux系统(ip:192.168.9.120),在上面部署了jenkins,redmine,svn程序。由于是在办公网内,这台机器和同事电脑都是在同一网段的。 突然某天问题出来了:有部分同事远程ssh登陆不上这台linux系统的机器,jenkins/redmine/svn也登陆不上,其他部分同事可以正常使用。 后来发现,是因为这台linux机器的ip被人占用了,ip地址冲突引起的!! 下面介绍下检查ip地址是否冲突的方法: ----------------
洗尽了浮华
2018/01/22
5.7K0
Linux下检测IP地址冲突及解决方法
CentOS 7解决arp欺骗
某天发现一台CentOS机器网络一切正常, 但是却无法正常上网. 后经查询, 发现该机器的网关mac地址与实际网关的mac地址不符.  下面是查看和解决办法.
用户8851537
2021/07/22
2K0
外包精通--k8s之flannel网络
vxlan(virtual Extensible LAN)虚拟可扩展局域网,是一种overlay的网络技术,使用MAC in UDP的方法进
Godev
2023/06/25
9590
教你一招在 Windows、Linux和Mac中检查和清除ARP缓存
ARP代表地址解析协议,它负责发现MAC地址并将它们映射到IP地址,以便与本地网络上的其他系统成功通信,该协议工作在数据链路层和网络层之间。
网络技术联盟站
2023/03/13
4.5K0
教你一招在 Windows、Linux和Mac中检查和清除ARP缓存
ARP欺骗与中间人攻击
在上一篇 WIFI密码破解笔记中说到如何探测附近开放的AP并且破解进入,那么进入别人据局域网我们能干些什么呢?换句话说如果别人进入了我们内部网络,会有什么影响?本文简要介绍了ARP和MITM原理,并在实际环境中对目标主机的流量进行劫持。可以看到公共网络中普遍存在许多不安全的问题,藉此来说说局域网中的客户端究竟面临着怎样的隐私泄漏和安全风险。
evilpan
2023/02/12
1.1K0
十二.Linux网络管理
在/etc/sysconfig/network-scripts/目录下有不少文件,绝大部分都是脚本类的文件,但有一类ifcfg开头的文件为网卡配置文件(interface config),所有ifcfg开头的文件在启动网络服务的时候都会被加载读取,但具体的文件名ifcfg-XX的XX可以随意命名。
对弈
2019/09/04
2.8K0
learning: arping
昨天更新了一下最新的vpp master分支代码,发现新加了一个arping的插件,所以就想了解一下arping命令的作用及用法。百度了一下介绍arping的资料还是很多的。下面一起来学习一下吧。
dpdk-vpp源码解读
2023/03/07
1.3K0
learning: arping
高薪Linux必备之高并发场景 LVS 简快入门实战(万字长文)
随着移动互联网的加速,应用大规模同时使用的情况成为了常态,如微博、知乎、今日头条等大型应用,作为Linux运维从业者,高并发场景的解决能力成为了高薪的关键。 今天我们特别邀请了资深的Linux运维老司机惨绿少年Linux来给大家普及高并发场景 LVS的实现过程,助你高薪之路顺畅。 作者:惨绿少年Linux,马哥Linux原创作者社群特约作者,资深Linux运维工程师,作者博客:www.nmtui.com,擅长虚拟化、OpenStack等前沿技术。 1.1 负载均衡介绍 ---- 1.1.1 负载均衡的
小小科
2018/05/04
1.3K0
高薪Linux必备之高并发场景 LVS 简快入门实战(万字长文)
ARP欺骗常见姿势及多机ARP欺骗
ARP欺骗是一个老生常谈的话题,翻看各位师傅的文章,大多数都是在使用arpspoof(当然,同样看到过使用Python写一款类似的工具的文章)进行单机欺骗。本文的目的在于总结ARP欺骗原理、常见姿势以及实现多机ARP欺骗。
FB客服
2019/08/30
3K0
ARP欺骗常见姿势及多机ARP欺骗
linux命令总结之ip命令
Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。
西湖醋鱼
2020/12/30
3.3K0
linux命令总结之ip命令
linux网络配置和故障排除命令总结
1.ifconfig ifconfig命令 被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。 # ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.24.186.123 netmask 255.255.240.0 broadcast 172
入门笔记
2022/06/02
1.5K0
linux基础命令介绍六:网络
本文将讲述网络相关命令,作者假定读者具备TCP/IP协议栈的基础知识。对于相关命令及其输出只介绍它的基本的使用方法和大概的描述,具体协议将不作详细解释。
用户5030870
2019/04/11
1.9K0
相关推荐
Python 实现ARP扫描与欺骗
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文