一、IPv4地址

1.回顾:

IP的作用:用来标识一个节点的网络地址
IP地址的版本:V4(32)、V6(128)
V4地址的表示方式:点分十进制
V4地址的组成:网络位+主机位
IP地址的分类:A、B、C、D、E
A、B、C默认子网掩码
私有IP地址的范围

2.IP地址网络ID、可用范围、广播地址、

1)IP地址的默认网络ID:默认网络位地址不变,主机位全0

例如:192.168.1.1/24的网络ID
192.168.1.00000000
192.168.1.0(192.168.1.1/24的网络)

2)192.168.1.0/24可用主机IP地址范围:

192.168.1.00000000 192.168.1.0(网络ID)
192.168.1.00000001 192.168.1.1 第一个可用主机IP
192.168.1.00000010 192.168.1.2
192.168.1.00000011 192.168.1.3
……
192.168.1.11111110 192.168.1.254 最后一个可用主机IP
192.168.1.11111111 192.168.1.255(广播地址)

3)ip地址的默认广播地址:默认网络位地址不变,主机位全1

4)IP地址可用个数

可用IP地址个数的计算:2的主机位数次方-2

5)以上案例总结:

192.168.1.1/24的网络ID,广播地址,可用IP地址范围及数量
网络地址:192.168.1.0/24
广播地址:192.168.1.255
可用范围:192.168.1.1-192.168.1.254
可用数量:28次方-2=254

6)案例练习:

写出200.78.39.7/24的网络地址,广播地址,可用地址范围,和可用地址数量

网络地址:200.78.39.0/24
广播地址:200.78.39.255
可用范围:200.78.39.1-200.78.39.254
可用数量:28次方-2=254

写出160.28.32.10/16的网络地址,广播地址,可用地址范围,和可用地址数量

网络地址:160.28.0.0/16
广播地址:160.28.255.255
可用范围:160.28.0.1-160.28.255.254
160.28.00000000.00000000
160.28.00000000.00000001 160.28.0.1
160.28.11111111.11111110 160.28.255.254
160.28.11111111.11111111 广播地址
可用数量:216次方-2=65536

写出172.16.1.1/16的网络地址,广播地址,可用地址范围,和可用地址数量

网络地址:172.16.0.0/16
广播地址:172.16.255.255
可用范围:172.16.0. 1- 172.16.255.254
可用数量:216次方-2

7)特殊的IP地址

网络地址 :主机位全为0IP地址,如:192.168.1.0
         不能配置到设备上去使用,不具备唯一性,代表一个网络范围
        
广播地址 :主机位全为1IP地址,如:192.168.1.255    
         不能配置到设备上去使用,不具备唯一性,代表一个网络内的所有主机   
        
回环地址 :127.0.0.0 ~ 127.255.255.255 
         代表设备本身 
        
全1IP地址 :255.255.255.2550IP地址:0.0.0.0 

二、ICMP协议

1、ICMP协议概述

ICMP:Internet控制消息协议
作用:为网络连通性测试以及网络故障定位提供有效指示信息
协议号:1
位于TCP/IP的第三层(网络层)

2、ICMP报文类型

echo request 请求报文
echo reply 应答报文

3、ICMP 命令

ping 命令
ping  目标IP地址  -t               //一直ping ctrl+c 结束
ping  目标IP地址  -c X(数字)       //指定ping几次 
ping  目标IP地址  -l X(数字)       //指定ping的字节的大小
ping  目标IP地址  -t -l X(数字)   //攻击对方
tracert 目标IP地址  //路由跟踪
作用:探测一个数据包 从源地址到目标地址所走的路径,纪录节点,发现故障点,然后解决故障!

4、ICMP 消息提示

1from 目标地址.. . //表示连接成功
2Destination host unreachable  //表示目标主机不可达
--同网段中没有这个IP地址,或IP地址错误
--跨网段通信时,本主机没有填写网关地址
3Request timed out  请求时间超时
此提示常见原因:数据包可以出去,但是回不来【肉包子打狗】
--对方主机没有填写网关地址
--对方的防火墙阻断了
搭建拓扑图:

ping  192.168.2.1   -t               //一直ping ctrl+c 结束
ping  192.168.2.1  -c 2             //给192.168.2.1发送2个ping包 
ping  192.168.2.1  -l 1000         //指定ping的1000个字节
ping  192.168.2.1  -t -l 1000     //攻击对方
tracert 192.168.2.1        //路由跟踪

三、ARP协议

1、ARP协议概述

-ARP:地址解析协议
-作用:已知目标设备的IP地址,获取目标设备的MAC地址
-解析方式:发送arp广播,得到mac地址后,缓存到arp缓存表中

2、ARP报文类型

-ARP请求报文:源设备以广播的方式发送 ARP 请求报文
-ARP回应报文:目的设备以单播的方式回应,直接返回给源设备

3、ARP抓包

1)拓扑

2)抓包截图

1)请求报文解析(request): PC3广播发的ARP请求报文

第一条请求报文:解析
     who has  192.168.1.2? 1    tell  192.168.1.1
解析:谁是192.168.1.2,把你的MAC地址告诉我,我是192.168.1.1

字段解析:
  目标MAC地址  ff:ff:ff:ff:ff  :表示目标MAC地址是广播MAC地址
          (因为不知道192.168.1.2MAC地址,所以封装广播MAC去进行广播寻找192.168.1.2MAC地址)MAC地址  192.168.1.2  :表示目标IP地址是192.168.1.2

2)应答报文解析:(reply)—PC4回复给PC1的报文

字段解析:
目标MAC地址   54:89:98:fb:12:41  :表示目标MAC地址是12:41    ----PC3的
  源MAC地址   54:89:98:b9:74:25  :表示源MAC地址是74:25     ----PC4

3、ARP 常用命令
PC>arp -a  //查看arp缓存表
Internet Address    Physical Address    Type
192.168.1.2         54-89-98-B9-74-25   dynamic (动态)

PC>arp -d   //清空arp缓存表

PC>arp -s 192.168.1.2   54-89-98-B9-74-25  //添加静态的ARP表记录

如果添加错误的对应关系—结果通信失

4、ARP缓存表

-ARP缓存表中记录IP地址和MAC地址的对应关系
-ARP 缓存表中有动态和静态两类条目
-ARP动态条目存活时间是1200S (华为的网络设备的arp缓存表的默认老化时间)
-什么情况下抓包可以查询到ARP协议,什么情况下抓包看不到ARP协议

注:不同网络的主机通信,IP地址始终保持不变,MAC地址一直在变。

四、传输层

1、传输层概述

传输层作用:提供端到端的连接【端口号】
传输层包含两个协议:TCPUDP
1)TCP协议
传输控制协议
优点:可靠的、面向连接的协议
不足:传输效率低

2)UDP协议
用户数据报协议
不足:不可靠的、无连接的服务
优点:传输效率高

2、TCP封装格式


3、TCP报头字段分析

1)源端口:源端口和IP地址的作用是标识报文的返回地址
2)目的端口:目标端口指明接收方计算机上的应用程序接口
备注:源端口是随机的,目标端口是固定的 
3)序列号:seq
-序列号是这个报文的第一个字节的序号
-TCP传送的数据流中,每一个字节一个序号
-TCP传送的数据流中,如果一个报文段的起始序号是1,次报文段数据部分的大小共158字节,
则下一个报文段的序号为159,使用序列号,保证了tcp传输的有序性

4)确认号:ACK,确认号,表示在回复对端,你发的(在该序号之前的所有数据,我都已经收到)
5)首部长度:由固定头部和可选项组成, 最小为20字节,最大为60字节
6)保留:为将来定义新的用途保留,现在一般置0
7)控制位:共6个,每一个标志位表示一个控制功能
SYN=1:代表请求建立连接(同步位)
ACK=1:代表同意建立连接(确认位)
FIN=1:代表请求断开连接(停止位)
URG=1:代表紧急指针开启—紧急指针:特别着急的数据段优先传递
PSH=1:代表提示接收端应用程序要立刻将数据从缓冲区里面取走.
RST=1:数据没有传输完成断开了,在次请求建议连接

8)窗口:滑动窗口,代表数据在发送之前,设备间要进行协商,依照最小单位为准发送
9)校验和:此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据
Source Port clearvisn (2052)    //源端口
Destination port: http (80)    //访问的目标端口的是80我们的网占服务
Sequence number : 0          //序列号序列号是0
Header length:24 bytes   //首部长度24字节(含4字节可选项)
Window size: 8192       //是win窗口8192个字节是他发送数据的总大小
Checksum:0xd28d        //首部校验值
Options: (4 bytes)    //有4个字节的扩展项