arplinux
❶ 菜鸟求助 linux下ARP请求发送和接收的问题
如果一台主机本身有对某台主机的IP和MAC映射,那么发给它一个ARP的REPLY包时,目的IP如果是它本身已经有的映射的IP,它会更新对应IP的MAC地址;但是如果我发给他的回应包当中目的IP和目的MAC事先并不在那台机器中存在映射,它不会将这条新的映射添加到它的ARP映射表中。
但是如果发送的是请求包,那么目的主机会将发送者的IP和MAC添加到自身的映射表中,无论之前是否有该映射,然后再向发送者回送一个REPLY包。
❷ Linux如何清理ARP缓存
命令红色字体标记
系统初始arp环境
[root@esx ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.175 ether 00:24:1D:97:B6:7F C vswif0
192.168.1.120 ether 00:1F:C6:3A:DC:81 C vswif0
192.168.1.51 (incomplete) vswif0
执行清除所有arp 缓存命令
[root@esx ~]# arp -n|awk '/^[1-9]/{print "arp -d " $1}'|sh -x
+ arp -d 192.168.1.175
+ arp -d 192.168.1.120
+ arp -d 192.168.1.51
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
❸ linux的arp解析关掉了,怎么打开
<网络执法官> 软件
网络执法官是一款网管软件,可用于管理局域网,能禁止局域网任意机器连接网络。对于网管来说,这个功能自然很不错,但如果局域网中有别人也使用该功能那就麻烦了。因为这样轻则会导致别人无法上网,重则会导致整个局域网瘫痪。有什么解决办法呢?请您看下面的招数及其原理。
一、网络执法官简介
我们可以在局域网中任意一台机器上运行网络执法官的主程序NetRobocop.exe。它可以穿透防火墙、实时监控、记录整个局域网用户上线情况,可限制各用户上线时所用的IP、时段,并可将非法用户踢下局域网。该软件适用范围为局域网内部,不能对网关或路由器外的机器进行监视或管理,适合局域网管理员使用。
在网络执法官中,要想限制某台机器上网,只要点击"网卡"菜单中的"权限",选择指定的网卡号或在用户列表中点击该网卡所在行,从右键菜单中选择"权限",在弹出的对话框中即可限制该用户的权限。对于未登记网卡,可以这样限定其上线:只要设定好所有已知用户(登记)后,将网卡的默认权限改为禁止上线即可阻止所有未知的网卡上线。使用这两个功能就可限制用户上网。其原理是通过ARP欺骗发给被攻击的电脑一个假的网关IP地址对应的MAC,使其找不到网关真正的MAC地址,这样就可以禁止其上网。
二、ARP欺骗的原理
网络执法官中利用的ARP欺骗使被攻击的电脑无法上网,其原理就是使该电脑无法找到网关的MAC地址。那么ARP欺骗到底是怎么回事呢?知其然,知其所以然是我们的优良传统,下面我们就谈谈这个问题。
首先给大家说说什么是ARP,ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。
ARP原理:某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则广播A一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。
ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。
网络执法官利用的就是这个原理!知道了它的原理,再突破它的防线就容易多了。
三、修改MAC地址突破网络执法官的封锁
根据上面的分析,我们不难得出结论:只要修改MAC地址,就可以骗过网络执法官的扫描,从而达到突破封锁的目的。下面是修改网卡MAC地址的方法:
在"开始"菜单的"运行"中输入regedit,打开注册表编辑器,展开注册表到:HKEY_LOCAL_ MACHINE\System\CurrentControlSet\Control\Class\子键,在子键下的0000,0001,0002等分支中查找DriverDesc(如果你有一块以上的网卡,就有0001,0002......在这里保存了有关你的网卡的信息,其中的DriverDesc内容就是网卡的信息描述,比如我的网卡是Intel 210 41 based Ethernet Controller),在这里假设你的网卡在0000子键。在0000子键下添加一个字符串,命名为"NetworkAddress",键值为修改后的MAC地址,要求为连续的12个16进制数。然后在"0000"子键下的NDI\params中新建一项名为NetworkAddress的子键,在该子键下添加名为"default"的字符串,键值为修改后的MAC地址。
在NetworkAddress的子键下继续建立名为"ParamDesc"的字符串,其作用为指定Network Address的描述,其值可为"MAC Address"。这样以后打开网络邻居的"属性",双击相应的网卡就会发现有一个"高级"设置,其下存在MAC Address的选项,它就是你在注册表中加入的新项"NetworkAddress",以后只要在此修改MAC地址就可以了。
关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项,用于直接修改MAC地址。
MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。这个地址与网络无关,即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有相同的MAC地址,MAC地址一般不可改变,不能由用户自己设定。MAC地址通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数,08:00:20代表网络硬件制造商的编号,它由IEEE分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。
另外,网络执法官的原理是通过ARP欺骗发给某台电脑有关假的网关IP地址所对应的MAC地址,使其找不到网关真正的MAC地址。因此,只要我们修改IP到MAC的映射就可使网络执法官的ARP欺骗失效,就隔开突破它的限制。你可以事先Ping一下网关,然后再用ARP -a命令得到网关的MAC地址,最后用ARP -s IP 网卡MAC地址命令把网关的IP地址和它的MAC地址映射起来就可以了。
四、找到使你无法上网的对方
解除了网络执法官的封锁后,我们可以利用Arpkiller的"Sniffer杀手"扫描整个局域网IP段,然后查找处在"混杂"模式下的计算机,就可以发现对方了。具体方法是:运行Arpkiller,然后点击"Sniffer监测工具",在出现的"Sniffer杀手"窗口中输入检测的起始和终止IP,单击"开始检测"就可以了。
检测完成后,如果相应的IP是绿帽子图标,说明这个IP处于正常模式,如果是红帽子则说明该网卡处于混杂模式。它就是我们的目标,就是这个家伙在用网络执法官在捣乱。
扫描时自己也处在混杂模式,把自己不能算在其中哦!
找到对方后怎么对付他就是你的事了。
五、再来两招轻松防范网络执法官
NO.1 首先呢,最稳妥的一个办法就是修改机器的MAC地址,只要把MAC地址改为别的,就可以欺骗过网络执法官,从而达到突破封锁的目的。下面是修改MAC地址的方法:
linux环境下:
需要用
#ifconfig eth0 down
先把网卡禁用
再用ifconfig eth0 hw ether 1234567890ab
这样就可以改成功了
要想永久改就这样
在/etc/rc.d/rc.local里加上这三句(也可以在/etc/init.d/network里加下面三行)
ifconfig eth0 down
ifconfig eth0 hw ether 1234567890ab
ifconfig eth0 up
另:
在win2000中改MAC地址的方法:
打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\子键,在该子键下的0000,0001,0002等分支中查找DriverDesc,在0000子键下天一个字符串项,命名为NetworkAddress,键值设为修改后的MAC地址,要求为连续的12个16进制数,如1234567890AB(注意位数要对!不能是000000000000,不能与别的机器重复)。然后在0000下的NDI\params中加一项名为NetworkAddress的子键,在该子键下添加名为default的字符串,键值为修改后的MAC地址,与上面的数值相同。在NetworkAddress的主键下继续添加命名为ParamDesc的字符串,其作用是制定NetworkAddress主键的描述,其值可为“MAC 地址”,这样以后打开网络属性,双击相应的网卡会发现有一个高级设置,其下坐在“MAC地址”的选项,在此修改MAC地址就可以了,修改后需重启。
Windows环境:
用dos,8139的可以改,用realtek的pg8139.exe,比如 是8139c网卡,就改写8139c.cfg文件,第一行就是网卡mac,想怎么改就怎么改
NO.2 另外一种方法,我没有试,一种设想,有条件的朋友帮忙试一下。
由于网络执法官的原理是通过ARP欺骗发给被攻击的电脑一个假的网关IP地址对应的MAC,使其找不到网关真正的MAC,那么我们可以自己修改IP->MAC的映射,使网络执法官ARP欺骗失效。具体做法如下:
在还没有被封锁的时候进入CMD执行如下命令
e:\>ping 192.168.9.1 (假设此地址位网关。)
Pinging 192.168.9.1 with 32 bytes of data:
Reply from 192.168.9.1: bytes=32 time<10ms TTL=64
Reply from 192.168.9.1: bytes=32 time<10ms TTL=64
Reply from 192.168.9.1: bytes=32 time<10ms TTL=64
Reply from 192.168.9.1: bytes=32 time<10ms TTL=64
Ping statistics for 192.168.9.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
e:\>arp -a
Interface: 192.168.9.1 on Interface 0x5000003
Internet Address Physical Address Type
192.168.9.1 00-0E-70-32-f1-02 dynamic
(上面的就是网关的MAC)
然后作这样一个批处理文件保存起来。。注意!!!地址要换为你自己的网关的IP和MAC
arp -s 192.168.9.1 00-0E-70-32-f1-02
然后呢,在你被封锁的时候,就执行这个批处理吧。
NO.3 如果解除了网络执法官的封锁可不可以查到使用网络执法官的人究竟是谁呢?答案是可以!利用arpkiller的sniffer杀手扫描整个局域网IP段查找处在“混杂”(监听)模式下的计算机,应该就是他了
❹ 如何在我的linux查看我的arp表格
在linux中查看arp地址解析协议需要使用终端命令。
以Deepin linux为例,使用终端命令查看arp步骤如下所示:
1、在程序列表中点击打开终端命令程序。
❺ Linux如何清理ARP缓存
1、系统初始arp环境
[root@esx ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.175 ether 00:24:1D:97:B6:7F C vswif0
192.168.1.120 ether 00:1F:C6:3A:DC:81 C vswif0
192.168.1.51 (incomplete) vswif0
2、执行清除所有arp 缓存命令
[root@esx ~]# arp -n|awk '/^[1-9]/{print "arp -d " $1}'|sh -x
+ arp -d 192.168.1.175
+ arp -d 192.168.1.120
+ arp -d 192.168.1.51
3、执行命令后,本机arp缓存信息
[root@esx ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.175 (incomplete) vswif0
192.168.1.120 (incomplete) vswif0
192.168.1.51 (incomplete) vswif0
❻ 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
❼ 如何在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打开网卡eth0的arp解析
ifconfig eht0 arp 把“-” 去掉! 看一下man ifconfig 的一段# man ifconfig [-]arp Enable or disable the use of the ARP protocol on this interface.
❾ linux系统中,用arp -a和ipconfig -a查到的MAC地址不一样是怎么回事
arp 是查其他主机的
ipconfig 是查自己的
❿ 如何给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