网络层
一、IP:internet protocol 互联网协议
1、互联网里的每个节点都需要一个ip地址,主机唯一的标识,保证主机间正常通信的
2、IP地址由32位二进制组成
3、ip的分类
1.ipv4:32位,2^32 大约43亿个
2.ipv6:128位,2^128 给全球的每一粒沙子都分配一个ip地址
二、ip地址的划分
1.完整的ip=网络部分+主机部分
主机部分全0:表示网段
主机部分全1:表示广播地址
2.根据网络部分的多少来进行划分
2.1 A类:网+主+主+主:
第一个网络部分第一个数必须是0; 范围:1~126, 127网段拿来做回环地址使用了
这个回环地址可以用来测试本及的TCP/IP协议是否正常工作
有126个网络,每个网络可以容纳的主机数:2^24 = 16777216-2
2.2 B类:网+网+主+主:
第一个网络部分前面2个数必须是10;范围:128~191,
有2^ 14=16384个网络,每个网络可以容纳2^16=65536-2
2.3 C类:网+网+网+主:
第一个网络部分前面3个数必须是110;范围:192~223
有2^ 21=2097152个网络,每个网络可以容纳2^8=256-2
2.4 D类:组播使用
2.5 E类:保留做科学研究使用
3.公网和私网
3.1 公网:任何人都可以去访问的,公开的–》在公网上能使用的ip地址是;A类,B类,C类
3.2 私网:私人的网络里使用的,例如:家庭里,公司里等规模小,只是内部网络的,不希望别人能随便进来访问
三组私有地址
A类:10.0.0.0~10.255.255.255 只有一个网段
B类:172.16.0.0~172.31.255.255 16-31=16个网段
C类:192.168.0.0~192.168.255.255 0-255=256个网段
子网掩码
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
3.3 nat(network address translation)策略
3.3.1 网络地址转换,私有地址和公有地址之间的转换,有效的解决了公用ip地址不足的问题
3.3.2 转换过程:私网ip<-->公网ip<-->公网ip<--nat-->私网
4.IP地址的配置
4.1 自动获得:需要网络中的DHCP服务器给你分配ip地址–》路由器就是DHCP服务器,无线路由器开启dhcp功能
4.2 dhcp的定义: Dynamic Host Configuration Protocol,给网络里的主机分配ip地址,子网掩码,网关,dns;DHCP( 动态主机配置协议 )是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
5、解决全球公网ip地址不足的问题:
5.1 公司内部使用私有ip地址
5.2 使用NAT技术,一个公司使用一个或者多个公网ip上网
私有ip--》nat--》公网ip
公网ip--》nat--》私有ip
三、网关:网络的关卡,路由器LAN口的位置
1.机器没有填写网关,一般是不能上网的
2.网卡的三种模式
四、数据的封装
1、A ping B
1.1 A的ip地址和B的ip地址是相同网段--》直接ping通
1.2 A的ip地址和B的ip地址不是相同网段--》A主机会查询路由表,得到网关的ip,然后查询本机的arp缓存表里,获得网关的ip的mac地址,在数据链路层封装的时候,目的mac地址就使用网关ip对应的mac地址,因为交换机只是根据目的mac做转发,不看ip地址,所以就非常巧妙的将数据送给网关
路由表--》arp缓存表--》arp广播
2、ping命令的使用
2.1 用来诊断网络连接
2.2 如果没有任何回复,有可能是对面开启了防火墙,丢弃了我们发的ping
2.3 windows里:加上 -t 的选项,一直ping
2.4 如果ping不通要如何排查
1.检查ip地址是否配置正确
2.检查路由表
3.分段排查网段
2.5 ping命令实验
六、子网掩码
1、子网掩码(netmask):用来确定ip地址的网络地址(网络部分)—》确定网段号
2、子网划分:将一个大的网络划分成很多小的网络,实现网络层次性,方便管理
1.算出子网号
2^m>=4 m=2,划分多少个子网
2^n-2 n是借位后剩余的主机位数 2^6-2=62 -->一个子网可以容纳多少台主机
2 子网掩码算出
3 有效的ip地址段: 网络部分+主机部分
3、练习
1、将192.168.20.0/24 划分成4个子网,计算每个子网的网段,有效ip地址段,子网掩码,广播地址
答案:
网段: 有效ip地址段:
192.168.20.0 --》192.168.20.1~62 广播地址:192.168.20.63
192.168.20.64 --》192.168.20.65~126 广播地址:192.168.20.127
192.168.20.128 --》192.168.20.129~191 广播地址:192.168.20.192
192.168.20.192 --》192.168.20.193~254 广播地址:192.168.20.255
子网掩码: 255.255.255.192
2、192.168.99.0/24 平均划分成8个子网,计算每个子网的有效ip地址段,子网掩码,广播地址
答案:
网段: 有效ip地址段:
192.168.99.0 --》192.168.99.1~30 广播地址:192.168.99.31
192.168.99.32 --》192.168.99.33~62 广播地址:192.168.99.63
192.168.99.64 --》192.168.99.65~94 广播地址:192.168.99.95
192.168.99.96 --》192.168.99.97~126 广播地址:192.168.99.127
192.168.99.128 --》192.168.99.129~158 广播地址:192.168.99.159
192.168.99.160 --》192.168.99.161~190 广播地址:192.168.99.191
192.168.99.192 --》192.168.99.193~222 广播地址:192.168.99.223
192.168.99.224 --》192.168.99.225~254 广播地址:192.168.99.255
子网掩码:255.255.255.224
3、计算159.64.25.100/25地址的子网地址和广播地址,子网的有效ip的范围
答案:
/25表示划分了两个子网,用11111111.11111111.11111111.10000000与159.64.25.100做与运算得到子网网段
子网网段为: 有效ip地址段:
159.64.25.0 ---》159.64.25.1~126 广播地址:159.64.25.127
4、ip 172.28.192.17 netmask 255.255.240.0 这是一个ip地址,请你计算这个ip所在网段和广播地址,有效ip地址范围
答案:
子网掩码为255.255.240.0,用子网掩码的二进制与ip 172.28.192.17的二进制进行与运算得到子网网段;
子网网段: 有效ip地址段 广播地址
172.28.192.0 ---》172.28.193~206.0~255(172.28.192.1~192.28.207.254) --》192.28.207.255
七、路由器(router)
1.定义:将数据从一个网络(网段)转发到另一个网络(网段)
2.路由器的一个接口配置一个ip地址,一个接口对应一个网段
3.下一跳:数据离开你的路由器,到另一个路由器去的ip地址,这个ip地址是对方的ip地址
ip route add 192.168.99.0/24 via 192.68.0.2 dev ens33
ip route 是路由管理命令
add 表示添加
下一跳:192.68.0.2 --》对方路由器的ip地址
192.168.99.0/24 目的网段 --》目的地
dev ens33 从ens33接口出去
4.路由的类型
4.1 直连路由:给接口配置ip地址,同时接口的状态要是up的(启用)
4.2 静态路由:是人添加进去的,需要配置,且是单向的
4.3 动态路由:是路由自己学习的 rip ospf,适用于比较大的网络
4.4 默认路由:是特殊的静态路由,适合于末节网络,去任何地方都走这条路由--》pc机里配置默认网关其实就是添加一条默认路由
5.路由的优先级
直连路由-->静态路由-->动态路由-->默认路由
非直接相连的网段,如果需要转发数据过去,就需要我们配置路由(静态或者动态)
6.路由器的工作原理
1、:就是根据路由表做转发,默认情况下路由器在转发数据的时候,不修改ip包里的源ip和目的ip,
但是会修改帧里的源mac和目的mac;路由表里有目标网段就转发,没有就丢弃数据
7.存在路由表的设备
路由器、电脑、手机、三层交换机(需要配置ip地址)、防火墙(就是一台安装了安全软件的电脑,具有路由功能,和vpn功能,数据过滤功能)
8、路由相关的指令
8.1、linux系统下
ip route #查看路由表
route -n #查看路由表
ip route add default via 192.168.243.2 添加默认路由,默认网关的ip是192.168.243.2
ip route del default 删除默认路由
8.2.windows系统下
route print #查看路由表
route add 192.168.27.0 mask 255.255.255.0 192.168.0.164
目标网段 目标网段的子网掩码 下一跳
八、抓包
1.抓包工具
windows:科来
linux:tcpdump
2.抓包中的命令简称
host:根据ip抓包
net:根据网段抓包
port:根据端口抓包
src:根据源端口或者源ip抓包
dst:根据目的端口或者目的ip抓包
3.抓包中命令的选项
3.1 -i:指定网卡接口
例子:tcpdump -i ens33 src host 183.57.50.225
tcpdump -i ens33 dst host 183.57.50.225
tcpdump -i ens33 dst host 183.57.50.225 and dst port 8000
3.2 -v:获得更多的信息
例如:tcpdump -i ens33 dst host 183.57.50.225 and dst port 8000 -v
3.3 -p:指定协议–》像arp,icmp等
3.4 -n:数字的形式显示,忽略域名显示
4.抓包的好处–》了解数据的封装,看看数据是否已经到达
九、IP包头格式
1、TTL(time to live):生命周期
每经过一个路由器,TTL的值就会减1,当值为0时,路由器会丢弃数据包,防止数据一直循环传输;
十、icmp协议:用来探路
1.定义:ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
2.典型代表:ping命令
2.1 ping的过程在解封装的时候,只是到网络层,不牵涉到端口号
2.2 8 Echo request--回显请求(ping请求)
0 Echo Reply--回显应答(ping应答)
3、作用:网络通不通、主机是否可达、路由是否可用
十一、arp协议:地址解析协议
1.作用:将ip地址解析为mac地址
2.请求包(arp request):发送的是广播
3.响应包(arp responds):发送的是单播
4.常见的arp选项:
arp -a 查看所有ip地址对应的mac地址
arp -d 删除某个ip地址和其对应的mac地址
arp -s 规定一个静态的IP地址对应的mac地址,不会动态的学习了
arp -n 查看arp缓存表
常见命令:
arping -I ens33 192.168.2.188 -c 1 #用arping不仅可以看到ip地址,还能看到mac地址
-I ens33 ——》指定端口为ens33
-c 1 ——》指定只发一个包
5.arp病毒:让局域网里的机器找不到正确的网关对应的mac地址
5.1 如何起作用的:让你的arp缓存表里面的网关的mac地址发生变化,使用它告诉你的新的mac地址
5.2 如何排查:
1.查看进程,是否有可疑进程及相关进程:消耗比较高cpu,内存,磁盘IO,网络带宽等
2.查看端口,是否有可疑端口被打开了;查看哪个进程占用了这个端口,然后杀死这个进程
3.检查系统里的计划任务,用户自定义的和操作系统里的
4.查看开机自启文件
5.3 防范措施:
安装防火墙
抓包工具分析出病毒源
静态绑定正确的网关的mac地址