在命令行里面输入arp -a
- 可以得到在同一网段计算机的IP地址和物理地址,如图图中192.168.80.1为网关的地址,也是我们路由器的端口地址。
如果在计算机教室,或者在大的局域网里面,我们可以看到众多计算机的MAC地址,甚至于可以判断出他们的电脑型号。以及所对应的IP地址,这肯定是不安全的。
比如,我们可以通过arp欺骗来使得计算机无法上网。
命令行输入arp -s +欺骗的IP地址和物理地址
比如 我可以告诉自己的电脑一个错误的MAC地址,这里演示网关地址,由上图知道网关地址为192.168.80.1,物理地址为 00-50-56-c0-00-08,我们可以通过arp -s命令把网关的物理地址改为 00-50-56-c0-00-09,这样计算机就无法再访问互联网了,因为给网关发出去的数据包,物理地址就不正确,当然无法找到网关。演示一下:
这个时候,网关的地址类型(Type)就由dynamic,变成了static了,如果再想访问互联网,就访问不了了。
- arp -s只修改的是本计算机arp告诉缓存表内的某一台设备的物理地址,并不影响跟同网段其它计算机的通信:
可以看到,跟其它计算机是通的。
所以围绕ARP协议产生了许多针对其它计算机的流氓勾当,比如P2P终结者,ARP欺骗,网络执法官等等
如何判断自己的电脑是不是中了ARP欺骗呢?
- 如果自己的电脑无法上网,可以拿同学的电脑过来,同时使用 arp -a命令来观察,在同一网段的各个主机和MAC地址是否相对应,就可以排查出ARP欺骗的问题了。
如何解决呢?
win10系统可以通过网络诊断的方式来解决。首先找到控制面板点击网络和Internet:
点击网络和共享中心:
点击更改适配器设置:
连接的是无线网就点击WLAN,连接的是以太网就点击以太网:
点击诊断,稍等片刻即可:
- 进行网络诊断的目的是为了清理缓存到的MAC地址以及IP地址,重新进行更新。