我们知道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. 5种处理Vue异常的方法

    原文: Handling Errors in Vue.js 译者: Fundebug 本文采用意译,版权归原作者所有 去年一整年,我都在使用最爱的-Vue.js- 来做项目.最近突然意识到,我竟然从来 ...

  2. shell脚本遇到问题"$'\r': command not found"

    shell脚本写得一切正常,但是一执行就报错: line: XXX "$'\r': command not found" 问题原因:文件格式问题(虽然在window和linux上选 ...

  3. mysql系列1

    1. mysql数据库的安装步骤如下: [root@mysqltest01 local]# pwd/usr/local [root@mysqltest01 local]# tar -xvf mysql ...

  4. 短uuid生成

    UUID UUID是128位的全局唯一标识符,通常由32字节的字符串表示.它可以保证时间和空间的唯一性,python中称为UUID,其他语言中可能称为GUID. 它通过MAC地址.时间戳.命名空间.随 ...

  5. 05、ip划分+网络配置+虚拟化基础+基本路由

    -- IP   IANA (Internet Assigned Numbers Authority) ,Internet号分配机构.负责对IP地 址分配规划以及对TCP/UDP公共服务的端口定义.国际 ...

  6. 设置 Jupyter notebook 工作空间 / 默认路径

    常用的启动 Jupyter notebook 的两种方式是:命令行窗口启动和开始菜单启动.设置 Jupyter notebook 的默认路径也有两种常用方式: 修改配置文件 设置快捷方式. 1 通过修 ...

  7. 编译3516cv500 osdrv失败解决

    configure: WARNING: cannot find uuid library required for mkfs.ubifsconfigure: mtd-utils can optiona ...

  8. Logstash连接Elasticsearch异常

    1.背景 elasticsearch集群默认配置启动ok,logstash连接向里面发数据ok. 2.出现问题 修改elasticsearch.yml中的cluster.name,改为 esabc 然 ...

  9. [codevs1286]郁闷的出纳员

    题目描述 Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复 ...

  10. jvm堆、栈、String常量池

    原文地址:http://blog.csdn.net/tophawk/article/details/78704074 程序计数器:它的生命周期与线程相同,线程私有.较小的内存区域,用以完成分支.循环. ...