zoukankan      html  css  js  c++  java
  • 认清楚服务器的真正身份--深入ARP工作原理

    我们知道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防御方案,基本都是上面两个方法的具体实现。我们来看看这张防御图:

     

    wKiom1mkleyDBTFiAAH1ZLAecHU206.png

    ①当黑客发起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

  • 相关阅读:
    Spark学习之Spark Core
    Druid
    Spark学习之scala编程
    大数据学习之Zookeeper
    大数据学习之HBase
    大数据学习之Yarn
    大数据学习之Mapreduce
    运行spark sql时出现的一个问题
    大数据学习之Hive 简介安装与基本练习
    mysql
  • 原文地址:https://www.cnblogs.com/davidwang456/p/10766532.html
Copyright © 2011-2022 走看看