ARP双向绑定简单举例局域网内防止ARP重复(绑定的是自己的IP和MAC)
ARP(Address Resolution Protocol),地址解析协议。是一个建立在IP地址和MAC地址基础上的TCP/IP协议。用于局域网内主机之间的通信。
二、用ARP绑定IP和MAC的作用
由于ARP是基于IP地址和MAC地址的,所以有一种常见网络攻击行为---ARP欺骗,这种方法是通过冒充客户端主机的IP地址和MAC地址和服务端主机通信。
所以一种简单的防御方法就是,在服务端主机配置ARP,绑定访问主机的IP和MAC,只有符合配置的IP和MAC组合才能访问。
嗅探只能发生在局域网,局域网内通信是通过MAC地址寻址的,通过IP寻址在发生在局域网间的。
ARP协议,在计算机A中会发送ARP广播来寻找通讯对象计算机B的MAC地址,如果有个计算机C,冒充双方的IP,并且把自己的MAC发送给A 和 C,就可以实现数据包转发,继而实现嗅探或监听。这就是局域网嗅探的原理。
ARP -a 可查看ARP表,ARP表中静态表比动态表优先级高,可通过ARP -s ip mac绑定静态表。
局域网中,使用ssh登陆到其他机器上时,有时会出现等待10s以上才能正常登陆的问题。
原因:Linux默认使用dns解析登陆IP,但是在局域网,并没有dns服务器,而且机器上也没有添加
IP与域名(hostname)的绑定,导致浪费很多时间检查主机名。
解决办法:1.在/etc/hosts文件中添加IP与hostname的绑定
2.修改文件/etc/nsswitch.conf,去掉hosts: xxx后面的dns
hosts: files mdns4_minimal [NOTFOUND=return] dns
如果在linux服务器当中,使用自己写的开发脚本实现服务器的高可用时需要执行如下命令
/sbin/arping -I eth0 -c 3 -s 10.0.0.126 10.0.0.200 #切换服务器
/sbin/arping -U -I eth0 10.0.0.162
NAME arping - send ARP REQUSET to a neighbour host
SYNOPSIS arping [-c count] [-w dead-line] [-s soure] -I INTERFACE DESTINATION
ARP协议可以将网络层地址到任意物理地址转换,从IP地址到MAC地址转换
MAC地址:物理地址,网卡厂家要确保MAC地址全球唯一,48位2进制,显示是12位16进制
1.查看我自己的ip,我自己的的ip和网络地址
2.ping一下局域网其他主机 ping 10.235.173.16 ,此时ARP协议会把ip地址转成mac地址,存在缓存里,使用arp -a命令查看
3.ping一下外网,会把我局域网的网关mac地址存下来
4.ARP欺骗:欺骗别人网络通信IP的MAC地址,使对方找到我指定的mac地址,属于数据链路层的故障
arp -s ip地址 mac地址 //设置个静态的,arp绑定,绑定指定的ip地址对应的mac地址,这样就无法欺骗了
arp -d 删除所有缓存
ARP双向绑定简单举例解释
ARP欺骗的出现,才让大家对ARP这个词有了认识
但什么是ARP呢?
ARP土一点的说法就叫地址转换协议,就是把IP转成MAC的过程,实际上机子在通讯都是通过MAC在通讯的
MAC:网卡物理地址
假设有案例如下,某个公司,有三台电脑
(分别称为
A机192。168。1。2 MAC 00-01-01-01-01-02
B机192。168。1。3 MAC 00-01-01-01-01-03
C机192。168。1。4 MAC 00-01-01-01-01-04)
一台代理服务器(网关):
(以下简称代服,IP假设如192.168.1.1 MAC假设如下00-01-01-01-01-01)
于某天发生频繁无法上网的问题,开始做出如下检测,安装网络执法官(内网IP,MAC监控防护,千万不要用来做坏事,会有报应的)发现有两条记录
00-01-01-01-01-01 192。168。1。1
00-01-01-01-01-03 192。168。1。1
看到以上两条记录,大家能联想到什么吗?如果能理解这两条记录并知道其原由,那么你已具备检测ARP攻击的发源机子了!
这两条记录意思是,第一条记录为真正的代服的IP和MAC的记录,而第二条呢?为什么B机的MAC却套在了路由的网关IP上来了呢,这就是ARP欺骗产生的典型的现象,有这样一个或多个的相同现象就毫无疑问地说,你中了ARP了!
ARP的出现大家需要的不仅是认识还要知道防范的方法,在下知识浅薄,仅仅只会用一种方法来防ARP------ARP双向绑定:
双向,这个词需要大家去小小理解一下,双向,两个方向或两个对方?
代服也就是网关为其中一方,客户机和各种服务器为另外一方,这样两方的说法大家能理解吗?
就比如(代服)住在一楼,(客户机)住在三楼,代服在去找客户机只要记得他在三楼就懂得怎么走了,而客户机要找代服只要知道他在一楼也是同样能找到
这样的地址记法就等同于MAC地址绑定
差不多就是那意思,那如何实现呢?
以上ARP小解,以下开始进行ARP防范:
1、在代理服务器上做一个批处理,或用一些专用的ARP扫描绑定工具
@echo off
arp -d
arp -s 192.168.1.2 00-01-01-01-01-02
arp -s 192.168.1.3 00-01-01-01-01-03
arp -s 192.168.1.4 00-01-01-01-01-04
exit
另存为BAT文件,在代服上运行即可
2、在客户机的启动里做一个批处理BAT文件,内容如下:
@echo off
arp -d
arp -s 192.168.1.1 00-01-01-01-01-01
exit
有使用万象网管的朋友,可以在服务端做这个批文件,进万象服务端设置“会员上机执行以下程序”指向这个绑定网关的批处理,这样客户机便会开机就绑定网关了!
这样ARP双向绑定完成了!
用路由的朋友做法也差不多,在路由绑定所有客户机的IP和MAC,客户机绑定路由的IP和MAC即可~~
arp
@echo off
arp -d
arp -s 网关IP 网关MAC
exit
@echo OFF
if %~n0==arp exit
if %~n0==Arp exit
if %~n0==ARP exit
echo 正在获取本机信息.....
:IP
FOR /f "skip=13 tokens=15 usebackq " %%i in (`ipconfig /all`) do Set IP=%%i && GOTO MAC
:MAC
echo IP:%IP%
FOR /f "skip=13 tokens=12 usebackq " %%i in (`ipconfig /all`) do Set MAC=%%i && GOTO GateIP
:GateIP
echo MAC:%MAC%
arp -s %IP% %MAC%
echo 绑定网关
arp -s 192.168.0.254 00-14-78-CE-C7-54 (192.168.0.254为内网网关,00-14-78-CE-C7-54为网关对应MAC)
echo 操作完成!!!
exit
win7不会出现此问题 win10会 win8未测试
问题描述
<binding protocol="http" bindingInformation="*:8080:192.168.31.122" />
iis express中绑定ip后未能访问
iis中查看应用程序只有一个localhost
cmd管理员启动 运行下面的命令
netsh http add urlacl url=http://192.168.31.122:8080/ user=everyone
问题解决
注意vs管理员打开
局域网内防止ARP重复(绑定的是自己的IP和MAC)
网络病毒之所以能以惊人的速度传播,是因为它们都有极强的利用漏洞攻击网络上其他机器的能力,而局域网ARP漏洞攻击,则是目前暴发流行的各种网络病毒最常用的招数,包括目前正在大规模暴发的“机器狗”,也正是利用ARP漏洞在局域网中传染开去。
ARP(Address Resolution Protocol)又被称为地址转换协议,是用来实现 IP 地址与本地网络认识的物理地址(以太网 MAC 地址)之间的映射。在以太网络中有一张表格,通常称为 ARP 缓冲(ARP cache),来维持每个 MAC 地址与其相应的 IP 地址之间的对应关系。ARP 提供一种形成该对应关系的规则以及提供双向地址转换。ARP协议很像一个思想不坚定容易被骗的人,就像一个快递员,要送信给"张三",只在马路上问"张三住那儿?",并投递给最近和他说"我就是!"或"张三住那间!",来决定如何投递一样。在一个人人诚实的地方,快递员的工作还是能正常进行;但若是旁人看快递物品值钱,想要欺骗取得的话,快递员这种工作方式就会带来混乱了。
常见ARP攻击对象有两种,一是网络网关,二是局域网上的计算机。攻击网络网关就好比发送错误的地址信息给快递员,让快递员失去正确目标,所有信件无法正常送达;而攻击一般计算机就是直接和人谎称自己就是快递员,让用户把需要传送的物品传送给发动攻击的计算机。由于一般的计算机及路由器的ARP协议的意志都不坚定,因此只要有恶意计算机在局域网持续发出错误的ARP讯息,就会让计算机及路由器信以为真,作出错误的传送网络包动作。一般的ARP欺骗攻击就是以这样的方式,造成网络运作不正常,达到盗取用户密码或破坏网络运作的目的。而要从根本上彻底解决这种欺骗攻击,唯一的办法就是对局域网中的每台机器包括网关在内进行ARP地址双向绑定。
首先说网关的绑定,这个比较简单,一般的网关路由器或者代理软件均有ARP绑定功能,以笔者使用的路由器为例,绑定的界面简单直观
选择静态ARP绑定设置后出现表单
在此填入需要绑定的IP地址和MAC地址,然后保存即可。
若需要对成批的地址进行绑定,也可以选择ARP映射表,会列出局域网中所有正在使用的机器的IP和MAC,方便我们成批的添加绑定
点取“全部导入”,然后切换回“静态地址绑定”页面,将要绑定的地址勾中即可
在此特别提请注意的是:网关自己的IP和MAC地址也需要在这里做好绑定。
至此网关部分的ARP绑定工作已经完成,然而只在网关做绑定,防护是不完整的,我们还需要对局域网中的每一台客户机进行单独的绑定。
客户机的绑定工作分成两部分,一部分是绑定网关,另一部分是绑定自己。
绑定网关的操作比较简单,以WINXP为例,绑定的命令是:
Arp –s (ip) (mac)
比如:arp –s 192.168.0.1 00-14-2A-5F-99-E1
192.168.0.1 为网关路由器的IP地址,00-14-2A-5F-99-E1 为路由器的MAC地址。
建议将这条命令做成批处理放在启动组里,方便系统启动时自动运行。
接下来需要绑定的是客户机自己的IP和MAC,从原理上讲和绑定路由器是一样的操作,不过考虑到局域网中的客户机一般很多,要一台一台的查IP和MAC工作量很繁重,所以我们利用一个批处理来自动完成对每一台客户机的绑定:
@echo off
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
arp -s %IP% %Mac%
del ipaddr.txt
del ipconfig.txt
del phyaddr.txt
exit
同样也建议将这个批处理放在系统的启动组里,方便系统启动时自动运行。
接下来可以检查下我们的工作成果,在CMD命令行下打 arp –a ,提示如下:
Internet Address Physical Address Type
192.168.0.1 00-14-2A-5F-99-E1 static
192.168.0.9 00-0a-eb-4e-6f-67 static
绑定状态为“STATIC”说明绑定成功为静态,至此大功告成!
其实网络病毒并不可怕,只要我们做好防护工作,打好系统补丁,即使有一天“狼”真的来了,我们也能将它拒之门外,确保一方网络平安。