arp协议

面试官,求求你,别再问我网络分层了!!!

不打扰是莪最后的温柔 提交于 2020-03-17 03:25:17
上一篇大体给小伙伴介绍一下网络分层的基本概念,以及每层的大体的功能,那么今天我们来看看每层具体的功能是什么?层与层之间又是怎么进行封装关联的? 上一篇: 面试:你真的懂网络分层模型吗?(上) 写在前边 上一篇主要分享了网络分层的基本概念,为什么要进行网络分层?又是如何进行分层?每一层的基本功能是什么?而且对于每一层的的功能细节方面,比如数据包的组成以及每层包含的一些协议的使用都没有细说,那么这一篇文章将会分享网络分层每层中协议等深入讲解。(PS:可能里边有的讲解不正确,还请大佬指出改正) 1、物理层 物理层里边涉及到最多的是硬件底层的一些内容,没有需要过多了解的内容,我们直接看数据链路层。 2、数据链路层 上回讲到数据链路层中规定的“以太网协议”来规定电信号的分组形式,什么是以太网,以太网的数据包是什么样子的? 2.1 以太网协议 以太网规定,每组的电信号就是一个数据包,每个数据包我们可以成为“帧”。每帧的组成是由标头(Head)和数据(Data)组成。 那么你会问,标头里有什么信息?Data 数据又会存放写什么?为什么分为两部分?放在一块不好吗? 1、标头 为什么传输数据会有标头,我们想呀,在传输数据的时候,接收端怎么判断是不是给自己发送的,那么就只取出标头来进行判断。 数据包的标头中通常会存放一些有关数据包的说明、发送者是谁、接受者又是谁等相关识别信息。 标头的长度固定为 18

LWIP_ARP协议(1缓存表数据结构)

橙三吉。 提交于 2020-03-12 11:53:31
前言 从前面的文章,我们知道,ARP协议的核心是ARP缓存表,而ARP协议的实质就是对缓存表项(entry)的建立、更新、查询等操作。 那么,LwIP中是是怎么实现ARP协议的呢? ARP缓存表的数据结构 LwIP使用一个arp_table数组描述ARP缓存表,数组的内容是表项的内容,每个表项都必须记录一对IP地址与MAC地址的映射关系,此外还有一些基本的信息,如表项的状态、生命周期(生存时间)以及对应网卡的基本信息,LwIP使用一个etharp_entry结构体对表项进行描述。 而且LwIP预先定义了缓存表的大小,ARP_TABLE_SIZE默认为10,也就是最大能存放10个表项,由于这个表很小,LwIP对表的操作直接采用遍历方式,遍历每个表项并且更改其中的内容。 static struct etharp_entry arp_table [ ARP_TABLE_SIZE ] ; struct etharp_q_entry { struct etharp_q_entry * next ; struct pbuf * p ; } ; struct etharp_entry { # if ARP_QUEUEING /** 指向此ARP表项上挂起的数据包队列的指针. */ struct etharp_q_entry * q ; # else /* ARP_QUEUEING */ /**

网络常见的 9 大命令,非常实用!

倖福魔咒の 提交于 2020-03-11 12:42:58
1.ping 命令 ping 是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping 就是一个测试程序,如果 ping 运行正确,大体上就可以排除网络访问层、网卡、Modem 的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。 ping 能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。ping 还能显示 TTL(Time To Live,生存时间)值,通过 TTL 值可以推算数据包通过了多少个路由器。 命令格式 ping 主机名 ping 域名 ping IP 地址 如图所示,使用 ping 命令检查到 IP 地址 210.43.16.17 的计算机的连通性,该例为连接正常。共发送了四个测试数据包,正确接收到四个数据包。 ping 命令的基本应用 一般情况下,用户可以通过使用一系列 ping 命令来查找问题出在什么地方,或检验网络运行的情况。 下面就给出一个典型的检测次序及对应的可能故障: ① ping 127.0.0.1 如果测试成功,表明网卡、TCP/IP 协议的安装、IP 地址、子网掩码的设置正常。如果测试不成功,就表示 TCP/IP 的安装或设置存在有问题。 ② ping 本机 IP 地址 如果测试不成功

主动信息收集

不羁的心 提交于 2020-03-10 23:33:04
主动信息收集介绍 直接与目标系统交互通信,无法避免留下访问痕迹,使用受控的第三方电脑进行探测,使用代理或已经被控制的机器扫描,扫描发送不同的探测,根据返回结果判断目标状态 基于TCP/IP模型进行扫描 二层扫描 扫描速度快可靠,不可路由 三层扫描 扫描速度快可靠,可路由,可能被边界防火墙过滤 四层扫描 扫描速度慢可靠,可路由,不太可能被边界防火墙过滤 二层扫描命令 1、 arping工具 功能优点:arping主要查看IP的MAC地址,ARP协议主要负责将局域网中的 32位IP地址转换为对应的48位物理地址 缺点:arping工具只能ping一个IP地址,不能ping一个IP段。但是可以通过脚本将整个网络中的IP进行扫描 -c:发送指定数量的arp包后,立即停止退出 -d:当局域网有IP占用的时候,可以指定这个参数,当有相同的IP的不同 MAC地址reply的时候,arping会退出,退出码为1 -r:输出的时候只打印MAC -R:输出的时候只打印IP -s:指定源MAC地址 -S :指定源IP地址 -q:表示不打印输出 2、Netdiscover工具 功能优点:Netdiscover是一个主动/被动的 ARP侦查工具。使用 Netdiscover工具可以在网络上扫描 IP地址检查在线主机或搜索为它们发送的 ARP请求 主动模式:主动发起arp请求,等待其他主机回包

在浏览器输入一个网址后,发生了什么?

扶醉桌前 提交于 2020-03-08 19:55:03
转自http://www.cnblogs.com/SarahLiu/p/5954832.html 这是面试中一道非常经典的问题。 当你在浏览器中输入一个网址,浏览器的处理过程如下: DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 连接结束 1 第一步 浏览器查找该域名的 IP 地址 2 第二步 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求 3 第三步 服务器收到请求并进行处理 4 第四步 服务器返回一个响应 5 第五步 浏览器对该响应进行解码,渲染显示。 6 第六步 页面显示完成后,浏览器发送异步请求。 下面对每个环节做进一步分析: 01 浏览器查找该域名的 IP 地址: 浏览器缓存 首先是查找浏览器缓存,浏览器会缓存DNS记录一段时间,不同浏览器保存的时常不等(2分钟到30分钟不等)。 系统缓存 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用来查找这个网址的对应DNS信息。 路由器缓存 如果在系统缓存里没有找到找到对应的IP,请求会发向路由器,它一般会有自己的DNS缓存。 ISP DNS服务器 如果在路由器缓存里还是没有对应的IP,请求会被发送到ISP。 根域名服务器 如果还是没有,请求将发向根域名服务器进行搜索。找不到就说明此域名不存在。 02 浏览器根据解析得到的IP地址向 web

VS_TUN和VS_DR的arp问题

杀马特。学长 韩版系。学妹 提交于 2020-03-08 19:51:22
1. ARP协议简介 ARP(Address Resolution Protocol)协议称为 地址解析协议 ,用于将主机IP地址解析为主机的MAC地址,即 IP<-->MAC 之间一一映射。RARP协议相反,是将MAC地址解析为IP地址。 ARP解析时分两种情况: 解析目标和自己在同一网段。 A解析同网段的B,A根据自己的IP和子网掩码判断B和自己同网段,这时A就直接在这个网段上发一个ARP广播包寻求B的MAC地址,所有人都收到广播信息,但是B会将MAC地址回应给A,A缓存B的MAC地址。 解析目标和自己不在同一网段。 A根据自己的IP和子网掩码判断出B和自己不在同一个网段,这时A就向自己的网段发送一个ARP广播包用来解析网关的MAC地址,也就是路由器的接口MAC地址,然后路由器回应,A缓存回应的MAC结果。 当发送ARP请求广播后,目标设备会进行应答,其中请求数据包和应答数据包的格式非常接近。以下是请求包和应答包数据格式的 一部分 ,完整格式请百度或者翻阅TCP/IP协议卷(一)。 其中: op字段是一个1-4的值,1表示该数据帧是ARP请求包,2表示该数据帧是ARP应答包,3和4则表示RARP的请求和应答包。 src_MAC和src_IP是数据帧中的源MAC和源IP地址。这两个字段的值不一定是对应的,意思是src_IP不一定配置在src_MAC地址的接口上。 dest

学校的破网,你别再掉了

南楼画角 提交于 2020-03-08 07:48:23
学校的校园网老是掉线,平均5分钟就要掉一次,而且要过个2分钟的样子才能重新连接起,真的让人很烦躁。朋友告诉我可以一个方法可以不再掉线,试了一下果然不错,在网上搜索了一下,学习了一下原理,现在写出来,让大家共享。 我们要访问一个网站,通常是在游览器里输入这个网站的网址,然后回车,这个时候,DNS服务器会自动把它解析成IP地址,实际上我们是通过IP来访问网站的,网址只不过是助记符罢了。那么在局域网中,以太网设备并不认识IP地址,所以还要将IP地址转换成MAC地址,ARP(Address Resolution Protocol)就是进行这种转换的协议。 因特网是通过TCP/IP进行信息交换的,所以要上网,必须安装TCP/IP协议,在每台安装了此协议的电脑里,都有一个ARP缓存表,表里的IP地址和MAC地址是一一对应的: IP 地址 MAC 地址 10.6.13.1 00-00-00-00-01 10.6.13.2 00-00-00-00-02 10.6.13.3 00-00-00-00-03 …… …… 当10.6.13.2要向10.6.13.1发送信息时,首先在ARP缓存表里查找是否有10.6.13.1的MAC地址,如果有,就直接进行通信,如果没有,就要在网络上发送一个广播信息,询问10.6.13.1的MAC地址,这时,其它电脑并不响应询问,只有10.6.13.1响应

访问一个网页的全过程

半腔热情 提交于 2020-03-07 02:59:55
访问一个网页的全过程 原创toumingren527 最后发布于2017-12-08 18:03:35 阅读数 33418 收藏 展开 引言 打开浏览器,在地址栏输入URL,回车,出现网页内容。整个过程发生了什么?其中的原理是什么?以下进行整理和总结。 整个过程可以概括为几下几个部分: 域名解析成IP地址; 与目的主机进行TCP连接(三次握手); 发送与收取数据(浏览器与目的主机开始HTTP访问过程); 与目的主机断开TCP连接(四次挥手); 正文 下面详细介绍其中的原理: 域名解析成IP地址 访问目标地址有两种方式: ①使用目标IP地址访问。由于IP地址是一堆数字不方便记忆,于是有了域名这种字符型标识。 ②使用域名访问。域名解析就是域名到IP地址的转换过程,域名的解析工作由DNS服务器完成。 DNS域名解析时用的是UDP协议。整个域名解析的过程如下: 浏览器向本机DNS模块发出DNS请求,DNS模块生成相关的DNS报文; DNS模块将生成的DNS报文传递给传输层的UDP协议单元; UDP协议单元将该数据封装成UDP数据报,传递给网络层的IP协议单元; IP协议单元将该数据封装成IP数据包,其目的IP地址为DNS服务器的IP地址; 封装好的IP数据包将传递给数据链路层的协议单元进行发送; 发送时在ARP缓存中查询相关数据,如果没有,就发送ARP广播(包含待查询的IP地址

TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

旧街凉风 提交于 2020-03-05 18:19:45
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。 1.IP协议 IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制--这被认为是上层协议--TCP或UDP要做的事情。所以这也就出现了TCP是一个可靠的协议,而UDP就没有那么可靠的区别。这是后话,暂且不提 1.1.IP协议头 如图所示 挨个解释它是教科书的活计,我感兴趣的只是那八位的TTL字段,还记得这个字段是做什么的么?这个字段规定该数据包在穿过多少个路由之后才会被抛弃(这里就体现出来IP协议包的不可靠性,它不保证数据被送达),某个ip数据包每穿过一个路由器,该数据包的TTL数值就会减少1,当该数据包的TTL成为零,它就会被自动抛弃。这个字段的最大值也就是255,也就是说一个协议包也就在路由器里面穿行255次就会被抛弃了,根据系统的不同,这个数字也不一样,一般是32或者是64,Tracerouter这个工具就是用这个原理工作的,tranceroute的-m选项要求最大值是255,也就是因为这个TTL在IP协议里面只有8bit。

linux下的ARP攻击(kali)

不打扰是莪最后的温柔 提交于 2020-03-02 16:14:43
这是我的学习总结,刚入坑网络安全,写的不好或者有什么错误的希望大佬们指正 首先了解ARP的作用以及原理: ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP栈中的网络层,负责将某个ip地址解析成对应的MAC地址,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行,当然还有最重要的一点 它一般只能在内网进行,无法对外网(互联、非本区域内的局域网)进行攻击。 ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。攻击者向电脑A发送一个伪造的ARP响应,告诉电脑A:电脑B的IP地址192.168.100.2对应的MAC地址是00-aa-00-62-c6-03,电脑A信以为真,将这个对应关系写入自己的ARP缓存表中,以后发送数据时,将本应该发往电脑B的数据发送给了攻击者。同样的,攻击者向电脑B也发送一个伪造的ARP响应,告诉电脑B:电脑A的IP地址192.168.100.1对应的MAC地址是00-aa-00-62-c6-03,电脑B也会将数据发送给攻击者。至此攻击者就控制了电脑A和电脑B之间的流量,他可以选择被动地监测流量,获取密码和其他涉密信息