导航:首页 > 程序命令 > linuxarp缓存命令

linuxarp缓存命令

发布时间:2022-09-08 17:16:28

⑴ 如何给linux给ARP表添加条目

Liunx添加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表:
#arp
Address HWtype HWaddress FlagsMask 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显示而不是主机名称:
# arp -n
Address HWtype HWaddress FlagsMask 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:
#arp -a
ns.amazon.esdl.others.com (10.1.10.254) at00:1d:92:e3:d5:ee [ether] on eth0
server.amazon.eadl.others.com (10.1.10.253) at44:37:e6:9b:2c:53 [ether] on eth0
D2-jh.amazon.esdl.others.com (10.1.10.178) at00: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地址的绑定:
# arp -s 10.1.1.1 00:11:22:33:44:55:66
这里,如果网络无法达到,那么会报告错误,具体如下:
root@quietheart:/home/lv-k# arp -s 10.1.1.100:11:22:33:44:55:66
SIOCSARP: Network is unreachable
root@quietheart:/home/lv-k# arp -n
Address HWtype HWaddress FlagsMask 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表项:
# arp -d 10.1.10.118
这里,删除之后只是硬件地址没有了,如下:
root@quietheart:~# arp -n
Address HWtype HWaddress FlagsMask 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 FlagsMask Iface
10.1.10.118 (incomplete) eth0
10.1.10.254 ether 00:1d:92:e3:d5:ee C

*删除eth0上面的一个arp表项:
# arp -i eth0 -d 10.1.10.118

[其它]
*指定回复的MAC地址:
#/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub
当eth0收到IP地址为10.0.0.2的请求时,将会用eth1的MAC地址回答。
例如,双网卡机器运行这条命令:
/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub
会多一项:
10.0.0.2 * MP eth0

⑵ 关于LINUX最基本的一些命令

Linux常用命令大全

系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS

关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接

⑶ Linux主机如何防范ARP攻击

arp欺骗的原理不多述,基本就是利用发 送假的arp数据包,冒充网关。一般在网上通讯的时候网关的IP和MAC的绑定是放在arp 缓存里面的,假的arp包就会刷新这个缓存,导致本该发送到网关的数据包发到了欺骗 者那里。解决的办法就是静态arp。
假设网关的IP是192.168.0.1,我们要 先得到网关的正确MAC,先ping一下网关:
ping 192.168.0.1

然后运行arp查看arp缓存中的网关MAC:
localhost~$ arp
Address HWtype HWaddress Flags Mask Interface
192.168.0.1 ether 00:12:34:56:78:9A C eth0
、这里得到的网关MAC假定 为00:12:34:56:78:9A,C代表这个绑定是保存在缓冲里的,我们要做的就是把这个IP和 MAC静态的绑定在一起,首先建立/etc/ethers文件,输入以下内容:
192.168.0.1 00:12:34:56:78:9A

保存退出,之后便是应 用这个静态绑定:
localhost~$ arp -f

再运行arp查看:
localhost~$ arp
Address HWtype HWaddress Flags Mask Interface
192.168.0.1 ether 00:12:34:56:78:9A CM eth0
多了个M,表示静态网关 ~
另外,如果你不会和局域网内的用户通讯的话,那么可以干脆 把arp解析关掉,假定你的网卡是eth0,那么可以运行:
localhost~$ ifconfig eth0 -arp

这样对付那些终结者软件就可以了,但是真的有人 向攻击的话,这样还是不够的,因为攻击者还可以欺骗网关,解决的办法就是在网关和 局域网内机器上做双向绑定,原理方法同上,一般网吧里面也是这样做的。

⑷ 如何在Linux下禁用ARP协议

ARP关闭方法如下:

名词解释
ARP(地址解析协议)
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

方法一:禁用网卡的ARP协议
使用 ifconfig eth0 -arp

方法二:关闭内核的ARP功能
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

方法三:安装软件
安装arptables(类似iptables),ARP协议还是启动,但是arptables drop所有进入和出去的包
arptables -A INPUT -j DROP
arptables -A OUTPUT -j DROP

⑸ 怎样用程序读取linux系统的arp缓存,不是用arp -a命令,是用C程序

加我知道啊!1292229769

⑹ linux下防arp

方法一:
首先安装arptables:
sudo apt-get install arptables
然后定义规则:
sudo arptables -A INPUT --src-mac ! 网关物理地址 -j DROP
sudo arptables -A INPUT -s ! 网关IP -j DROP
sudo arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT
不过这样就有一点不好,局域网内的资源不能用!
sudo arptables -F
当然我们可以做个脚本,每次开机的时候自动运行!~sudo gedit /etc/init.d/arptables,内容如下:
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
arptables -A INPUT --src-mac ! 网关物理地址 -j DROP
arptables -A INPUT -s ! 网关IP -j DROP
arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT
然后给arptables加个execution的属性,
sudo chmod 755 /etc/init.d/arptables
再把arptables设置自动运行,
sudo update-rc.d arptables start 99 S .
用sysv-rc-conf直接设置

方法二:
1、先使用arp和 arp -a查看一下当前ARP缓存列表
[root@ftpsvr ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.234 ether 00:04:61:AE:11:2B C eth0
192.168.1.145 ether 00:13:20:E9:11:04 C eth0
192.168.1.1 ether 00:02:B3:38:08:62 C eth0
说明:
Address:主机的IP地址
Hwtype:主机的硬件类型
Hwaddress:主机的硬件地址
Flags Mask:记录标志,”C”表示arp高速缓存中的条目,”M”表示静态的arp条目。
[root@ftpsvr ~]# arp -a
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:16:76:22:23:86 [ether] on eth0
2、新建一个静态的mac–>ip对应表文件:ip-mac,将要绑定的IP和MAC 地下写入此文件,格式为 ip mac。
[root@ftpsvr ~]# echo ‘192.168.1.1 00:02:B3:38:08:62 ‘ > /etc/ip-mac
[root@ftpsvr ~]# more /etc/ip-mac
192.168.1.1 00:02:B3:38:08:62
3、设置开机自动绑定
[root@ftpsvr ~]# echo ‘arp -f /etc/ip-mac ‘ >> /etc/rc.d/rc.local
4、手动执行一下绑定
[root@ftpsvr ~]# arp -f /etc/ip-mac
5、确认绑定是否成功
[root@ftpsvr ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.0.205 ether 00:02:B3:A7:85:48 C eth0
192.168.1.234 ether 00:04:61:AE:11:2B C eth0
192.168.1.1 ether 00:02:B3:38:08:62 CM eth0
[root@ftpsvr ~]# arp -a
? (192.168.0.205) at 00:02:B3:A7:85:48 [ether] on eth0
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:02:B3:38:08:62 [ether] PERM on eth0
从绑定前后的ARP缓存列表中,可以看到网关(192.168.1.1)的记录标志已经改变,说明绑定成功。

⑺ 关于Linux下必须知道的11个网络命令有哪些

以下罗列一些非常有用的网络命令(不止11个)
连通性

• ping <host>:发送 ICMP echo 消息(一个包)到主机。这可能会不停地发送直到你按下 Control-C,Ping 的通意味着一个包从你的机器通过 ICMP 发送出去,并在 IP 层回显。Ping 告诉你另一个主机是否在运行。
• telnet <host> [port]:与主机在指定的端口通信。默认的 telnet 端口是 23。按 Control-] 以退出 telnet。其它一些常用的端口是:
7 —— echo 端口
25 —— SMTP,用于发送邮件
79 —— Finger (LCTT 译注:维基网络 - Finger protocal,不过举例 Finger 恐怕不合时宜,倒不如试试 80?),提供该网络下其它用户的信息。

ARP

ARP 用于将 IP 地址转换为以太网地址。root 用户可以添加和删除 ARP 记录。当 ARP
记录被污染或者错误时,删除它们会有用。root 显式添加的 ARP 记录是永久的 —— 代理设置的也是。ARP
表保存在内核中,动态地被操作。ARP 记录会被缓存,通常在 20 分钟后失效并被删除。

• arp -a:打印 ARP 表。
• arp -s <ip_address> <mac_address> [pub]:添加一条记录到表中。
• arp -a -d:删除 ARP 表中的所有记录。

路由

• netstat -r:打印路由表。路由表保存在内核中,用于 IP 层把包路由到非本地网络。
• route add:route: 用于向路由表添加静态(手动指定而非动态)路由路径。所有从该 PC 到那个 IP/子网的流量都会经由指定的网关 IP。它也可以用来设置一个默认路由。
例如,在 IP/子网处使用 0.0.0.0,就可以发送所有包到特定的网关。
• routed:控制动态路由的 BSD 守护程序。开机时启动。它运行 RIP 路由协议。只有 root 用户可用。没有 root 权限你不能运行它。
• gated:gated 是另一个使用 RIP 协议的路由守护进程。它同时支持 OSPF、EGP 和 RIP 协议。只有 root 用户可用。
• traceroute:用于跟踪 IP 包的路由。它每次发送包时都把跳数加 1,从而使得从源地址到目的地之间的所有网关都会返回消息。
• netstat -rnf inet:显示 IPv4 的路由表。
• sysctl net.inet.ip.forwarding=1:启用包转发(把主机变为路由器)。
• route add|delete [-net|-host] <destination> <gateway>:(如 route add 192.168.20.0/24 192.168.30.4)添加一条路由。
• route flush:删除所有路由。
• route add -net 0.0.0.0 192.168.10.2:添加一条默认路由。
• routed -Pripv2 -Pno_rdisc -d [-s|-q]:运行 routed 守护进程,使用 RIPv2 协议,不启用 ICMP 自动发现,在前台运行,供给模式或安静模式。
• route add 224.0.0.0/4 127.0.0.1:为本地地址定义多播路由。(LCTT 译注:原文存疑)
• rtquery -n <host>(LCTT 译注:增加了 host 参数):查询指定主机上的 RIP 守护进程(手动更新路由表)。

其它

• nslookup:向 DNS 服务器查询,将 IP 转为名称,或反之。例如,nslookup facebook.com 会给出 facebook.com 的 IP。
• ftp <host> [port](LCTT 译注:原文中 water 应是笔误):传输文件到指定主机。通常可以使用 登录名 "anonymous" , 密码 "guest" 来登录。
• rlogin -l <host>(LCTT 译注:添加了 host 参数):使用类似 telnet 的虚拟终端登录到主机。

重要文件

• /etc/hosts:域名到 IP 地址的映射。
• /etc/networks:网络名称到 IP 地址的映射。
• /etc/protocols:协议名称到协议编号的映射。
• /etc/services:TCP/UDP 服务名称到端口号的映射。

工具和网络性能分析

• ifconfig <interface> <address> [up]:启动接口。
• ifconfig <interface> [down|delete]:停止接口。
• ethereal & ;:在后台打开 ethereal 而非前台。
• tcpmp -i -vvv :抓取和分析包的工具。
• netstat -w [seconds] -I [interface]:显示网络设置和统计信息。
• udpmt -p [port] -s [bytes] target_host :发送 UDP 流量。
• udptarget -p [port]:接收 UDP 流量。
• tcpmt -p [port] -s [bytes] target_host :发送 TCP 流量。
• tcptarget -p [port]:接收 TCP 流量。

交换机

• ifconfig sl0 srcIP dstIP ifconfig sl0 srcIP dstIP:配置一个串行接口(在此前先执行 slattach -l /dev/ttyd0,此后执行 sysctl net.inet.ip.forwarding=1)
• telnet 192.168.0.254:从子网中的一台主机访问交换机。
• sh ru 或 show running-configuration :查看当前配置。
• configure terminal :进入配置模式。
• exit :退出当前模式。(LCTT 译注:原文存疑)

VLAN

• vlan n :创建一个 ID 为 n 的 VLAN。
• no vlan N :删除 ID 为 n 的 VLAN。
• untagged Y :添加端口 Y 到 VLAN n。
• ifconfig vlan0 create :创建 vlan0 接口。
• ifconfig vlan0 vlan_ID vlandev em0:把 em0 加入到 vlan0 接口(LCTT 译注:原文存疑),并设置标记为 ID。
• ifconfig vlan0 [up]:启用虚拟接口。
• tagged Y :为当前 VLAN 的端口 Y 添加标记帧支持。

UDP/TCP

• A socklab udp :使用 UDP 协议运行 socklab。
• sock :创建一个 UDP 套接字,等效于输入 sock udp 和 bind 。
• sendto <Socket ID> <hostname> <port #>:发送数据包。
• recvfrom <Socket ID> <byte #>:从套接字接收数据。
• socklab tcp :使用 TCP 协议运行 socklab。
• passive passive:创建一个被动模式的套接字,等效于 socklab ,sock tcp ,bind ,listen 。
• accept :接受进来的连接(可以在发起进来的连接之前或之后执行)。
• connect <hostname> <port #>:等效于 socklab ,sock tcp ,bind ,connect 。
• close :关闭连接。
• read <byte #>:从套接字中读取 n 字节。
• write :(例如write ciao、write #10)向套接字写入 "ciao" 或 10 个字节。

NAT/防火墙

• rm /etc/resolv.conf :禁止地址解析,保证你的过滤和防火墙规则正确工作。
• ipnat -f file_name :将过滤规则写入文件。
• ipnat -l :显示活动的规则列表。
• ipnat -C -F :重新初始化规则表。
• map em0 192.168.1.0/24 -> 195.221.227.57/32 em0:将 IP 地址映射到接口。
• map em0 192.168.1.0/24 -> 195.221.227.57/32 portmap tcp/udp 20000:50000:带端口号的映射。
• ipf -f file_name :将过滤规则写入文件。
• ipf -F -a :重置规则表。
• ipfstat -I :当与 -s 选项合用时列出活动的状态条目
内容来源:http;//www.linuxprobe.com/linux-network-command.html

⑻ 请教Linux SHELL 问题,我想自动绑定arp 缓存列表中MAC 地址。

失败的原因在 /sbin/arp -s $i
arp进行绑定时需要两个参数, 如arp -s IP MACADDR
你把两个参数放入一个变量$i中, SHELL只会把它解释为一个参数,
要达到你的目的
将 /sbin/arp -s $i
更改为 eval /sbin/arp -s $i

这样作的原理: 首先将$i 替换为IP MACADDR, eval的作用就是在SHELL环境中执行后面的命令行。这样就可以了。 这个样子你理解了吧

⑼ arp病毒 能在Linux 上运行吗Linux上有什么好的杀毒软件吗(免费的)

这是网上一篇教程
arp缓存就是ip地址和mac地址关系缓存列表。在windows下
arp
-d
[$ip]
不指定ip地址时清除所有arp缓存。在linux下
arp
-d
$ip
必须指定ip地址才能执行这条命令的此参数,所有在linux系统下
arp
-d
$ip
命令只能清除一个ip地址的对应mac地址缓存,当然可以使用组合命令操作,这也算是linux的一个优点吧。
组合命令清除所有arp缓存:arp
-n|awk
'/^[1-9]/{system("arp
-d
"$1)}'其实linux也有内部命令清除所有arp缓存,但是不太好记忆,用的人很少。以下命令清除eth0接口的所有arp缓存。ip
neigh
flush
dev
eth0

阅读全文

与linuxarp缓存命令相关的资料

热点内容
千聊免费课程可以重新加密吗 浏览:507
python能代替php吗 浏览:252
phpexcel样式 浏览:265
安卓手机有没有什么软件可以阻止弹广告的 浏览:306
linux局域网搭建服务器 浏览:690
python编译器mac 浏览:293
windows的doc命令 浏览:463
nfc全加密门禁卡 浏览:636
身份信息被加密 浏览:482
我的盐城app怎么添加不了家庭成员 浏览:493
php商城并发 浏览:348
熊猫绘画app怎么做出大佬的笔刷 浏览:603
云存储服务器知识 浏览:461
服务器cpu是什么指令集 浏览:590
糖猫t10怎么安装app 浏览:992
电脑加密u盘怎么使用 浏览:517
linux如何升级php版本升级 浏览:841
二级程序员c语言难度 浏览:353
批处理编译qt 浏览:67
铁友app怎么查询机票订单 浏览:197