网络协议基础

以太网帧

目前的局域网大多数是以太网,在以太网中传输的数据叫做以太网帧。我们抓包后发现数据都包裹在一个以太网帧头和帧尾之间。通过该协议把数据从源MAC主机发送到目标MAC主机。

 ethernet帧历史

1980年:由DEC,Intel,Xerox联合公布了Ethernet 1的标准;

1982年:DEC,Intel,Xerox又公布了Ethernet 2的标准;

1983年:Novell公布的专用以太网标准帧格式RAW 802.3;

1985年:IEEE公布了Ethernet 802.3的SAP版本以太网帧格式;

1985年:IEEE为解决Ethernet2与802.3帧格式的兼容问题,推出折中的Ethernet SNAP格式。

以上以太网帧格式多达5种,这是历史原因造成的,如今以太网事实标准是Ethernet2的标准格式。

Ethernet帧格式

7字节1字节6字节6字节2字节46-1500字节4字节
前导码界定符目的MAC源MAC地址类型其他层数据校验码

前导码:使目的主机接收器时钟与源主机发送器时钟同步,用于同步计时,也包含标记定时信息结束的定界符。

界定符:如果为10101011,则表明为帧的开始

类型:上层协议,表示网络层使用的协议

        常见的类型:

        0x0800 网络协议(IP 协议)

        0x0806 ARP协议

        0x0835 RARP协议

校验码:数据帧校验码序列,用于确定数据包在传输过程中是否损坏。

ARP协议

ARP(Address Resolution Protocol)地址解析协议位于数据链路层,是根据IP地址获取MAC地址的一个协议。

当网络层想把数据发送到另外一台主机上去时,需要依靠数据链路层来传递数据,而数据链路层需要依靠MAC地址来确定目标主机。这个时候发起通讯的计算机在检查自己的ARP缓存中不存在目标IP对应的mac地址时,它将往广播地址FF:FF:FF:FF:FF:FF发送一个ARP广播请求包。作为一个广播数据包,他会被这个特定的广播域上的每台计算机接收。这个请求包问道“某某IP地址的MAC地址是什么”?

不匹配的IP的计算机会简单的选择丢弃这个请求包,而目标IP主机会选择答复这个数据包,通过ARP应答告知它的MAC地址。此时,发起通讯的计算机就获取来数据链路层的寻址信息,构建好以太网头部后,便能让数据链路层完成通讯了。

ARP查看指令

ARP -a 显示所有接口的当前ARP缓存表

ARP -d 删除指定的IP地址项

ARP -s 添加静态IP-MAC映射记录

ARP缓存中毒(ARP欺骗)

使用ARP协议将IP地址解析为MAC地址的过程叫地址解析,协议规定只使用两种数据包,ARP请求包和ARP响应包。

主机并不能很好的检查收到的响应是否正确,一律会把这个MAC地址记录ARP缓存中,以便下次使用。ARP欺骗就是通过发送含有虚假MAC地址的ARP应答消息来完成的。(ARP响应可以直接主动发送来更新其他网络主机缓存中的IP-MAC地址映射)

ARP欺骗属于一种中间人攻击(man-in-the-middle,MITM)方法,攻击者重定向两台主机间的流量,试图在传输过程中对流量进行拦截或者修改。MITM攻击形式有多种,包括会话劫持,DNS欺骗,以及SSL劫持。

ARP欺骗之所以有效,是因为特意构造的ARP数据包使两台主机相信它们是在相互通讯,而实际上它们是在与一个中间转发数据包的第三方通讯。

地址解析协议
偏移位0-78-15
0硬件类型
16协议类型
32硬件地址长度协议地址长度
48操作
64-111发送方硬件地址
112-143发送方协议地址
144-191目标硬件地址
192-215目标协议地址

硬件类型:数据链路层使用的类型数据,大多数情况下,这个类型是以太网

协议类型:ARP请求正在使用的高层协议

硬件地址长度:正在使用的物理地址长度(字节)

协议地址长度:正在使用的逻辑地址长度(字节)

操作:ARP数据包功能,1表示请求,2表示响应

发送方硬件地址:发送方物理地址

发送方协议地址:发送方协议地址

目标方硬件地址:接收方物理地址(广播arp请求中接收者的物理地址为0)

目标方协议地址:接收者的协议地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HTTP(HyperText Transfer Protocol)是一种用于在网络中传输超文本的协议。它是客户端和服务器之间进行通信的规则集。下面是一些HTTP协议基础知识: 1. HTTP通信是无状态的:HTTP协议本身不保留任何关于先前请求或响应的信息。每个HTTP请求都是独立的,服务器不会记住之前的请求。 2. 请求方法:HTTP定义了不同的请求方法,常用的有GET、POST、PUT、DELETE等。GET用于获取资源,POST用于提交数据,PUT用于更新资源,DELETE用于删除资源。 3. URL:统一资源定位符(URL)是用于标识和定位资源的地址。它由协议类型(如http://)、主机名、可选的端口号、路径和查询参数组成。 4. 请求头:HTTP请求包含一些元数据,称为请求头。请求头包含了一些关于请求的附加信息,如User-Agent、Accept-Language等。 5. 响应状态码:HTTP响应包含一个状态码,用于表示请求的处理结果。常见的状态码包括200(成功)、404(未找到)和500(服务器内部错误)等。 6. 响应头:HTTP响应也包含一些元数据,称为响应头。响应头包含了一些关于响应的附加信息,如Content-Type、Content-Length等。 7. 实体:HTTP请求和响应中的有效载荷称为实体。通常,在请求中,实体是要发送给服务器的数据;在响应中,实体是服务器返回的数据。 这些是HTTP协议的一些基础知识,希望对你有帮助!如有更多问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值