【摘要】 这一章节你的角色就是ping报文这个“使者”,你要去往目的地,然后回到本机。然而目的地路漫漫,不知道要经过多少个小地盘(局域网),没两把刷子也不好行走江湖。所以你作为使者,每到达一个新的地盘,就把ARP这把刷子拿出来吼一吼。这一节就是讲的这把刷子的威力。

一、ARP命令介绍

首先,ARP作为高攻击神器,是片攻击的,一定范围内全杀,而不是单点指向的技能。其攻击范围就是子网的大小,同一个子网内的所有主机都会收到ARP神器的伤害。正因为ARP报文是广播的,所以它是ping使者随身携带、开山问路的不二之刷。

其次,ARP神器基本靠一招走遍天下,发动攻击前吼一句:“谁是小明,请吱一声”,然后声波传遍当前子网各个角落。其中真实的小明乖乖回答:“我在这”。

二、Ping报文与ARP结合

当Ping报文拥有了ARP这个探路神器后,想要到达最终的目的地就相当的easy了。当他处于一个站点,面对一个新的地盘的时候,先吼一声ARP大招,就知道一下站出口在哪里了。然后直接跳到下一站,接着再吼一声ARP找出下一站位置,继续跳到下一站。这样重复N次就到达了最终目的地。

基于上面的逻辑可以看到,在定位网络不通的时候,使用上一节的方法还找不出原因的情况下,可以看看arp报文有没有到。但是请记住,arp是一段子网一段子网定位的。

ps:一般网络安全组是不会禁止arp协议的,因为它本身是为了查询mac地址,而mac地址是二层的,是网络通信的基础。

三、ARP报文

抓个arp报文举例:

#tcpdump -i eth1 -n arp

arp who-has 10.175.10.210 tell 10.175.10.78

arp reply 10.175.10.210 is-at fa:16:3e:bf:1e:e2

这里基本可以看出来,ARP要做的事情就是把IP翻译为MAC地址。实际上在以太网中,同一个局域网中的两台主机要进行通信,必须要知道目标主机的MAC地址。而TCP/IP协议中,网络传输只关心IP地址。所以需要有一种方法将IP地址“翻译”为MAC地址。这也就是ARP要做的事情了。

四、ARP表

既然已经知道了IP与MAC的对应关系,为了避免每次找路都得“翻译”一次,那就把它记下来。以后要用的时候直接查本地的对应表就行了。同时为了保证有效性,缓存的记录会在一定时间后失效。这就是ARP表。

当然,也可以设置静态ARP表。只是一般我们懒得这么做。

通过以下命令可以查询当前缓存的arp表:

#arp -a

ps:定位问题一般不会用到arp表,只需要在目的端抓包看看arp报文有没有到达即可。

作者:tsjsdbd

【跟唐老师学习云网络】 - 第6篇 ARP你在哪的更多相关文章

  1. 【华为云技术分享】跟唐老师学习云网络 : Kubernetes网络实现

    当今K8s独霸天下之时,咱们站在更高的角度,好好的看看K8s网络是以什么理念构筑的.以及一个容器集群的好保姆,是如何分别照顾 南北流量和东西流量的. 一.简单介绍下Kubernetes 略..容器集群 ...

  2. 【跟唐老师学习云网络】 - 第7篇 Tcpdump大杀器抓包

    [摘要] 前面章节的网络协议栈相关的信息建议大家多学习一遍,因为这些都是最基础的东西,想玩好云网络必备基本功.. 一.上帝视角 之前提到过定位问题可以开启上帝视角,那么如何开启就要依靠tcpdump这 ...

  3. 《跟唐老师学习云网络》 -第4篇 router路咋走啊【华为云技术分享】

    [摘要] 好了,到这里至少你应该能看懂路由表信息了.给你一个目的IP,你也应该知道它会使用哪一条路由了. 路怎么走就看骚年你了~ 一.路由 其实关于网络大家遇到最多的问题就是:卧 槽,为什么不通啊! ...

  4. 【跟唐老师学习云网络】-第8篇 iptables - filter过滤功能

    [摘要] 前面的各种协议已经可以把基本可用的物理网络世界给形成了,在正常情况下,它可以玩的很溜.比如组个局域网办公,或者打个联机魔兽争霸,都没有什么问题. 一.背景介绍 前面的各种协议已经可以把基本可 ...

  5. 《跟唐老师学习云网络》 -第5篇 Ping喂报文

    [摘要] 这一章节你的角色是国王,你要派一个小兵去对方打探一下.是站在你的角度看这个小兵.哦,对了,这个小兵的名字叫"喂". 一.Ping命令介绍 ping就是用来检测一下网络能不 ...

  6. python基础学习笔记——网络编程(协议篇)

    一 互联网的本质 咱们先不说互联网是如何通信的(发送数据,文件等),先用一个经典的例子,给大家说明什么是互联网通信. 现在追溯到八九十年代,当时电话刚刚兴起,还没有手机的概念,只是有线电话,那么此时你 ...

  7. 带你熟悉云网络的“电话簿”:DNS

    摘要:无论你域名怎么解析,最终我还是要用IP和别人通信的.域名只是你的皮囊,IP才是你的灵魂. 本文分享自华为云社区<<跟唐老师学习云网络> - DNS电话簿>,作者: tsj ...

  8. OpenFlow能解决私有云网络VLAN问题么

    本文转载自:http://network.51cto.com/art/201202/314310.htm 在关于私有云网络的文章中,我们首先探讨了物理网络是否影响私有云.本文我们将讨论如何通过软件定义 ...

  9. 深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)

    VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...

随机推荐

  1. NOIP模拟 18

    这次时间分配不合理,沉迷大模拟无法自拔 虽然A了但是根本就没给T3留时间555 T3如果有时间看看数据范围应该可以想到QJ掉20分的555 T1 引子 打这题的时候感觉自己在做图像处理.. 然后调了各 ...

  2. [AspNetCore 3.0 ] Blazor 服务端组件 Render, RenderFragment ,RenderTreeBuilder, CascadingValue/CascadingParameter 等等

    一.组件 支撑Blazor的是微软的两大成熟技术,Razor模板和SignalR,两者的交汇点就是组件.通常,我们从ComponentBase派生的类型,或者创建的.razor 文件,就可以称作组件. ...

  3. Python——标识符的命名规则

    01 Python语言的特点 python的语言特点有很多,我们这里只讲一点,python是一门面向对象的语言,即一切皆对象(Linux中有一句是:一切皆文件),括号内的只是打个比方,不懂也没事,就是 ...

  4. 008.Kubernetes二进制部署Nginx实现高可用

    一 Nginx代理实现kube-apiserver高可用 1.1 Nginx实现高可用 基于 nginx 代理的 kube-apiserver 高可用方案. 控制节点的 kube-controller ...

  5. NioEventLoop的创建

    NioEventLoop的创建 NioEventLoop是netty及其重要的组成部件,它的首要职责就是为注册在它上的channels服务,发现这些channels上发生的新连接.读写等I/O事件,然 ...

  6. [LC]26题 Remove Duplicates from Sorted Array (删除排序数组中的重复项)(双指针法)(原地实现)

    ①中文题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  7. TestNG+Maven+IDEA 环境配置+入门

    一.环境配置 1.安装IDEA(参考:https://blog.csdn.net/m0_38075425/article/details/80883078) 2.在Prefernces,通过Plugi ...

  8. sqlcipher的php扩展运行在fast-cgi:php-fpm下工作不正常

    今天发现了这样的问题,php-fpm运行sqlcipher时,有些数据库工作正常,有些却不正常. 不正常的,都在日志上报错,也就是php处理异常了. 这个报错发生在执行sql语句时,通常就是sqlci ...

  9. 使用TensorRT对caffe和pytorch onnx版本的mnist模型进行fp32和fp16 推理 | tensorrt fp32 fp16 tutorial with caffe pytorch minist model

    本文首发于个人博客https://kezunlin.me/post/bcdfb73c/,欢迎阅读最新内容! tensorrt fp32 fp16 tutorial with caffe pytorch ...

  10. 20190926-2 选题 Scrum立会报告+燃尽图05

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8678 一.小组情况组长:迟俊文组员:宋晓丽 梁梦瑶 韩昊 刘信鹏队名:扛 ...