四次作业
第一天作业
1:A B C D E类网络地址范围?内网地址的范围
A类IP地址的第一段数字范围为1.0.0.0 – 126.255.255.255,每个A类地址可连接l63877064台主机,Internet上有126个A类地址。
B类IP地址的第一段数字范围为128.0.0.0 – 191.255.255.255,每个B类地址可连接64516台主机,Internet上有16256个B类地址。
C类IP地址的第一段数字范围为192.0.0.0 – 223.255.255.255,每个C类地址可连接254台主机,Internet上有2054512个C类地址。
D类IP地址的第一段数字范围为224.0.0.0 – 239.255.255.255,D类地址用作多目的地信息的传输,作为备用。
E类IP地址的第一段数字范围为240.0.0.0 – 255.255.255.255,E类地址保留,仅作为Internet的实验和开发之用。
私有地址只能在内部网络使用,不能在互连网使用,认 为这样的地址是互连网的不合法地址,在A,B,C三类地址中都选择一部分地址作为私有地址,A类范围 10.0.0.0–10.255.255.255
B类172.16.0.0–172.31.255.255
C类地址192.168.0.0–192.168.255.255
2:10进制、16进制、二进制转换?100转16进制 BC27转10进制?
列子:除二取余法
3:TCP /UDP IP 链路层头部构成?各有多少字节(熟练掌握)?
UDP头部 :
可以看到UDP头部由(源端口)、(目的端口)、(长度)跟(校验和)组成,总共8字节。
源端口:发送方的端口号,16位,即2字节。
目的端口:接收方的端口号,16位,即2字节。
长度:头部+数据的字节数,16位,即2字节。
校验和:此字段用来校验数据是否出错。UDP最小长度:即无数据的情况下,仅首部长度8字节。
UDP数据部分最小长度:即无数据的情况下,0字节。
UDP最大长度:因长度字段16位限制,所以最大长度为216-1=65535字节。
UDP数据部分最大长度:即UDP最大长度-IP最小头部-UDP头部,216-1-20-8=65507字节
TCP头部 :
TCP为保证数据的可靠传输,自然多了很多东西。
源端口:16位,2字节。
目的端口:16位,2字节。
序号:此报文的序号[1],可用于确认。
确认号:用于确认序号[1]。
数据偏移:数据部分往后偏移,这是TCP的头部长度字段,代表有多少个32bit,即1代表32bit,2代表64bit。
一共4位最大为15,15×32=480b=60B。所以头部最大为60个字节,最小为20字节。
(此字段与图中选项字段相关联)接下来是保留字段,未使用。
下面是6位用于TCP通信的字段,相应位置1表示特殊的信号。比如典型的SYN、FIN和ACK用于三次握手和四次挥手[2]。
窗口:用于拥塞控制,接收方可以控制发送方发送数据报文的吞吐量,防止自己太忙来不及接收。
校验和:此字段用来校验数据是否出错。
紧急指针:用于发送紧急数据的情况。
选项与填充:TCP头部的长度可以变化,因此可以承载更多的数据。
注意这里必须使用32位的数据,用来快速定位数据部分的位置,所以没有那么多数据的话需要在后面进行填充。
这里与数据偏移字段相关联,这样就可以知道头部的长度以及数据部分的准确位置。
IP头部 :
版本:IP的版本,IPv4或IPv6,4bit。 首部长度:跟TCP头部中的数据偏移意义一致。 区分服务:这是Tos字段,用于Oos服务质量中,这个一两句话也说不完。 总长度:顾名思义,指整个数据报的长度(以字节为单位)。占16bit,最大长度为65535字节。 标识:用来唯一地标识主机发送的每一份数据报。通常每发一份报文,它的值会加1。 标志:占3比特。标志一份数据报是否要求分段。详细可以看这里:https://blog.csdn.net/NetRookieX/article/details/80640383 片偏移:占13比特。如果一份数据报要求分段的话,此字段指明该段偏移距原始数据报开始的位置。 生存时间:即TTL。可用于防止环路占用带宽,每经过一跳路由器则TTL减1,减为0则丢弃数据包。 协议:标识了上层所使用的协议 01 ICMP 02 IGMP 06 TCP 17 UDP 88 IGRP 89 OSPF 首部校验和:用来做IP头部的正确性检测,但不包含数据部分。 因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。 源地址:发送方的IP地址 目的地址:接收方的目的地址 可选字段与填充:与TCP中选项与字段意义一致。
Arp 工作过程
(1) 主机 A 首先查看自己的 ARP 表,确定其中是否包含有主机 B 对应的 ARP 表项。如 果找到了对应的 MAC 地址,则主机 A 直接利用 ARP 表中的 MAC 地址,对 IP 数据包进行帧 封装,并将数据包发送给主机 B。
(2) 如果主机 A 在 ARP 表中找不到对应的 MAC 地址,则将缓存该数据报文,然后以广 播方式发送一个 ARP 请求报文。ARP 请求报文中的发送端 IP 地址和发送端 MAC 地址为主 机 A 的 IP 地址和 MAC 地址,目标 IP 地址和目标 MAC 地址为主机 B 的 IP 地址和全 0 的 MAC 地址。由于 ARP 请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但 只有被请求的主机(即主机 B)会对该请求进行处理。
(3) 主机 B 比较自己的 IP 地址和 ARP 请求报文中的目标 IP 地址,当两者相同时进行 如下处理:将 ARP 请求报文中的发送端(即主机 A)的 IP 地址和 MAC 地址存入自己的 ARP 表中。之后以单播方式发送 ARP 响应报文给主机 A,其中包含了自己的 MAC 地址。
(4) 主机 A 收到 ARP 响应报文后,将主机 B 的 MAC 地址加入到自己的 ARP 表中以用于 后续报文的转发,同时将 IP 数据包进行封装后发送出去。
4:网络七层模型(熟练掌握)
5:安装WIRESHARK,并自行抓包去分析一个HTTP报文的层次结构?
http 请求由三部分组成,分别是:请求行、消息报头、请求正文
HTTP 响应也是由三个部 分组成,分别是:状态行、消息报头、响应正文
以上作业要求手工写,手工画,不准交电子版。
预习: ARP协议
第二天作业
1:找到台路由器 三台设备接入,分析局域网内报文的发送。 分析向外网发送数据数据接收。
2:组播IP地址与组播MAC之间的转换。
源IP : 224.132.1.1
换算成二进制 : 11100000.10000100.00000001.00000001
0
第24位为0 : 11100000.00000100.00000001.00000001
再换成16进制 : 04 .01 .01
加上组播MAC头 : 0100.5E
最后形成: 0100.5e04.01.01
3:三次握手与四次挥手自己看一下。
第三天作业
1:DHCP交互过程,抓包分析。
1:DHCP DISCOVER: 寻找服务器
2:DHCP OFFER 分配 IP 地址
3:DHCP REQUEST 请求使用
4:DHCP ACK IP 地址分配确认
5:更新租约
2:理解DHCP 租约。抓包找50%续约,87.5%续约。
3:抓包看PPPOE交互过程?理解发现阶段四个过程及会话阶段LCP 认证 IPCP 数据传输四个过程? 了解PADT 以链路会话维持。
pppoe是第二层数据链路层
下图是 PPPOE 报文的格式,就是以太网帧中携带 PPP 报文
PPPOE 的工作流程(PPPOE 协议可以分为两个阶段,即,发现 Discovery 阶段,会话 Session 阶段;)
PADI(PPPOE主动发现启动)
PADO(PPPOE主动发现服务)
PADR(PPPOE主动发现请求)
PADS(PPPOE主动发现会话确认)
PADT(PADT、PPPOE主动发现终止)
会话阶段分为 PPP 协商阶段和 PPP 报文传输阶段。其中 PPP 报文传输阶段就是客户端 主机上网(如上 QQ,浏览网页等)。
协商阶段和普通的 PPP 协商方式一样,分为 LCP、认证、NCP 三个阶段
4:PC 1 2 3 PC1 2 在同一内网,PC3在WAN侧,通过PPPOE方式,PC1 2 同PC3通信。
第四天作业
1:学会使用IFCONFIG 命令 ?ping 命令? TRACERT/traceroute命令?nestat?route?
2: 4台机器,周时抓包看NAPT报文,端口转换(ICMP,TCPPING)?
NAT 原理 网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种 将私有(保留)地址转化为合法 IP 地址的转换技术:
NAPT 的特点是在网关时,会使用网关的 IP,但端口会选择一个和临时会话对应的临时端口。
如下图:
网关上建立保持了一个 1.2.3.4:62000 的会话,用于 192.168.0.8:4000 与 6.7.8.9:8000 之间的通讯。
自学:IP分片(了解即可)
WIRESHARK抓包(学会过滤字段)(DHCP PPPOE报文 包含某个文本字符的报文 报文追踪)