我们知道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

最新文章

  1. 分享一个UI与业务逻辑分层的框架(三)
  2. 【php学习】PHP 入门经典第一章笔记
  3. 解决Eclipse项目图标上的红色感叹号,红叉
  4. Codeforces 106 C 多重背包
  5. foj 2044 1 M possible 二进制压缩
  6. 246. Strobogrammatic Number
  7. .net 反射访问私有变量和私有方法
  8. HTML基础知识笔记(二)
  9. SPOJ 4110 Fast Maximum Flow (最大流模板)
  10. SMT贴片红胶基本知识
  11. GUIForDebug
  12. ios view改变背景图
  13. Sass使用小技巧
  14. css3图片模糊过滤特效
  15. API文档模板
  16. 忘掉Ghost!利用Win10自带功能,玩转系统备份&恢复 -- 关于系统恢复的深度思考
  17. k64 datasheet学习笔记25--Multipurpose Clock Generator (MCG)
  18. docker--Dockerfile-nginx
  19. C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法
  20. Linux中的#和$区别

热门文章

  1. OL7.6上RPM方式安装Oracle 19c
  2. C# Net 计算周(可正推和逆推)
  3. 【计算机网络】windows修改本机hosts文件
  4. 目标检测论文解读7——YOLO v2
  5. opencart按重量配送如何设置
  6. 06-cmake语法-include
  7. JDOJ 1133 分段公司利润
  8. Hibernate框架学习2
  9. Intellij Idea 星云常用配置工具箱
  10. VQA视觉问答基础知识