我们知道IP地址是ISP分配给我们的,IP不能作为服务器的唯一的身份,那么服务器真正的身份是什么呢?MAC

IP地址直接的通信在底层要转换到MAC直接的通信,那他们如何通信的呢?

1.简介

出场人物:艾拼同学简称IP,马珂同学简称MAC,红娘 艾人品 简称ARP

为描述方便,后面都以简称称呼。

上面的文章《你所忽略的DNS---DNS实战及深度解读》和《访问了一次百度网页,你都经历了什么?https及tcp协议揭秘》都提到IP和MAC生活在不同得圈子。

IP是个程序猿,生活的圈子叫:逻辑地址;MAC是一名教师,生活的圈子叫:物理地址;

按照道理,IP和MAC一辈子都不会有交集,但缘分最终让他们有了交集--ARP是一个红娘,专门促成这种事情。

那我们先来看看IP和MAC的家吧

windows进去cmd命令行,输入

  ipconfig /all

结果如下:

IP住的逻辑地址为:172.16.86.71

MAC住的物理地址为:48-8A-D2-9D-D9-29

2.arp如何让ip找到别的mac呢?

ipconfig 仅仅可以让我看到一个家庭,那如何让ip同学认识到更多的mac这样的人呢?我们知道可以通过ip间的相互通信

2.1 ARP请求

2.1.1 没有缓存的arp

2.1.2有缓存的arp

2.1.3 如何查看本机的arp缓存呢 

查看局域网其它机器的mac地址 arp -a

2.2 响应报文

3.arp欺骗

地址解析协议(ARP),ARP(Address Resolution Protocol),是一个位于TCP/IP协议栈中的网络层。当局域网内计算机间(或者是计算机与网关间)需要通信时,使用ARP协议获取目标IP地址对应的MAC地址,然后计算机间再通过该MAC地址完成数据包发送。ARP欺骗一般目的是把自己伪装成网关,从而欺骗目标机器,使本应发送到真实网关的数据包发送到欺骗者的机器。

攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。如果欺骗者机器不对这些数据包作处理,当被欺骗数据包到达后就会被本机丢弃(因为自己到底不是网关,还不知道如何处理这类数据包),这当然是不允许的
arpspoof 是一款进行arp欺骗的工具,攻击者通过毒化受害者arp缓存,将网关mac替换为攻击者mac,然后攻击者可截获受害者发送和收到的数据包,可获取受害者账户、密码等相关敏感信息。

4.arp防御

黑客采用ARP软件进行扫描并发送欺骗应答,同处一个局域网的普通用户就可能遭受断网攻击、流量被限、账号被窃的危险。由于攻击门槛非常低,普通人只要拿到攻击软件就可以扰乱网络秩序,导致现在的公共网络、家庭网络、校园网、企业内网等变得脆弱无比。

目前网络安全行业现有的ARP防御方案,基本都是上面两个方法的具体实现。我们来看看这张防御图:

①当黑客发起ARP欺骗包时,会途径局域网里面的交换机或无线路由器等网络设备;

②如果网络设备能够识别这种欺骗包,并且提前丢弃掉,则电脑/手机端就不会被欺骗;

用户端的ARP防御方法,要么安装ARP防火墙,要么做ARP双向绑定。对于绝大部分用户来讲,虽然安装防火墙不是保证百分百安全了,但是能够解决很大一部分的隐患。

5.总结

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
  ARP工作在网络层。ARP解决的是同一个局域网上的主机或者路由器的IP地址和硬件地址的映射问题。如果要找的主机和源主机不在一个局域网,则要通过ARP协议找到一个位于本局域网上的某个路由器的硬件地址。然后把该分组发送给这个路由器。这个路由器再把分组转发给下一个网络。

参考文献

【1】https://www.cnblogs.com/csguo/p/7527303.html

【2】https://www.cnblogs.com/csguo/p/7527073.html

【3】https://www.cnblogs.com/csguo/p/7527582.html

【4】https://blog.csdn.net/china_jeffery/article/details/78689582

【5】https://blog.csdn.net/lansefly1990/article/details/86574677

【6】https://baike.baidu.com/item/nmap/1400075?fr=aladdin

认清楚服务器的真正身份--深入ARP工作原理的更多相关文章

  1. ARP协议原理学习

    一.ARP的作用. 首先在window 的命令行中输入arp -a即可查看本机的arp缓存表.主机要发送数据包时,需要填充目的IP及其IP地址对应的MAC.当我们只有目的IP地址时,如何得到其对应的M ...

  2. HTTP 请求未经客户端身份验证方案“Anonymous”授权。从服务器收到的身份验证标头为“Negotiate,NTLM”

    转自:http://www.cnblogs.com/geqinggao/p/3270499.html 近来项目需要Web Service验证授权,一般有两种解决方案: 1.通过通过SOAP Heade ...

  3. NFS服务器工作原理

    一.NFS简介 NFS是Network File System的缩写,中文称为网络文件系统,它的主要功能是通过网络(一个局域网)让不同的主机系统之间可以共享文件或目录,NFS的客户端(一般为应用服务器 ...

  4. ARP工作过程、ARP欺骗的原理和现象、如何防范ARP欺骗

      地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议. 下面假设在一个局域网内,主机A要向主机B发送IP数据报. ARP ...

  5. DHCP及DHCP多作用域服务器工作原理

    一.DHCP服务是什么 DHCP称为动态主机配置协议.DHCP服务允许工作站连接到网络并且自动获取一个IP地址.配置DHCP服务的服务器可以为每一个网络客户提供一个IP地址.子网掩码.缺省网关.一个W ...

  6. NFS笔记(一)NFS服务器工作原理及详细配置

    一.NFS工作原理 1.什么是NFS服务器 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器.不同的操作系统可以共享彼此的文件. NFS服务器可以让P ...

  7. ARP攻击原理简析及防御措施

    0x1  简介 网络欺骗攻击作为一种非常专业化的攻击手段,给网络安全管理者,带来严峻的考验.网络安全的战场已经从互联网蔓延到用户内部的网络, 特别是局域网.目前利用ARP欺骗的木马病毒在局域网中广泛传 ...

  8. ARP协议工作原理实验

    一.实验目的 验证"在向目的主机发送数据包时会先查询ARP高速缓存,如果ARP高速缓存中已保存了目的主机的MAC地址,不进行ARP查询,使用ARP高速缓存中的MAC地址:如果缓存中没有IP对 ...

  9. Web服务器的工作原理

    Web服务器的工作原理 Web服务器工作原理概述 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了 ...

随机推荐

  1. 03篇ELK日志系统——升级版集群之ELK日志系统整合springboot项目

    [ 前言:整个ELK日志系统已经搭建好了,接下来的流程就是: springboot项目中的logback日志配置通过tcp传输,把springboot项目中所有日志数据传到————>logsta ...

  2. Cron Expressions——Cron 表达式(QuartZ调度时间配置)

    如果你需要像日历那样按日程来触发任务,而不是像SimpleTrigger 那样每隔特定的间隔时间触发,CronTriggers通常比SimpleTrigger更有用. 使用CronTrigger,你可 ...

  3. 重新编译kubeadm,修改默认证书时间

    参考 kubeadm alpha certs renew Kubeadm1.14 证书调整 kubeadm 部署的 kubernetes 集群,默认的证书有效时间是1年,需要每年手工更新. 1. 重新 ...

  4. IE浏览器下AJAX缓存问题导致数据不更新的解决办法

    一直知道使用ajax的时候,有的时候会出现数据缓存的问题,当时也没有深究,就是所有的简单粗暴的全部加上cache:false,或者使用在url处加上随机时间函数 今天无意间看见了为什么会出现缓存的原因 ...

  5. 一天撸完《 Learning Jupyter 5 2nd Edition》

    因为工作需要了解这个应用的大概功能. 网上找不到下载的,CSDN没积分. 最后,在道客上找到了这个PDF.花了一天时间浏览了一下, 只留意了python功能,其它语言略去. widget和jupyte ...

  6. 杨巧丽 实验十四 团队项目评审&课程学习总结

    实验十四 团队项目评审&课程学习总结 项目 内容 这个作业属于哪个课程 (https://www.cnblogs.com/nwnu-daizh/) 这个作业的要求在哪里 (https://ww ...

  7. django admin 编辑页面(change page) 自定义字段, 展示数据

    最近遇到一个需求, 需要在django 的 admin 编辑页内展示由用户上传的进行反馈的图片, 还要支持点击查看原图, 所以需要在编辑页内自定义 img 标签及 a 标签进行图片的展示及点击跳转 i ...

  8. GitHub 下载代码命令并且导入到IDEA环境

    git clone项目到本地(项目有master和其他分支) 1.首先新建一个空文件夹,在文件夹里面git初始化操作,在文件夹的根目录下,右键选择git bash here,在弹出窗体中:       ...

  9. eclipse IDE for java developers下载与安装

    1.进入eclipse官网下载页面 https://www.eclipse.org/downloads/ 2.点击Download Packages 3.windows 用户 选择 64 bits 4 ...

  10. opengl第一个工程

    #include <iostream> #include <glad/glad.h> #include <GLFW/glfw3.h> void framebuffe ...