1.每日复盘与今日内容
1.1复盘
- 企业上网流程、NAT转换流程
- 网络层次模型
- OSI七层模型
- TCP/IP四层模型
- DNS解析域名🍟🍟🍟🍟🍟
- 三次握手🍟🍟🍟🍟🍟、四次挥手
1.2今日内容
- TCP协议的状态
- 因特网层协议
- 网络接入层
- ip地址:格式、分配、类型、分类
- 子网掩码:子网划分、网关🍟🍟🍟🍟🍟
- 抓包方式
- Linux常用网络命令🍟🍟🍟🍟🍟
2.TCP协议的十一种状态集转换
1.三次握手的显示状态
服务端:CLOSED(关闭)--->启动服务LISTEN监听
客户端:CLOSED--->发送第一个请求后 SYN_SENT
服务端:LISTEN(监听)--->第一次响应客户端后 SYN_RCVD 同步已发送状态
客户端:SYN_SENT(发送)-->发送第三次数据包后 ESTABLISHED建立连接状态
服务端:SYN_RCVD-->收到客户端第三次数据后ESTABLISHED建立连接
2.TCP的11种状态集表示含义
客户端发送FIN给服务端-->ESTABLISHED-->FIN_WAIT1第一次等待
服务端收到回复ACK: ESTABLISHED--->CLOSED_WAIT关闭等待
收到后客户端:FIN_WAIT1-->FIN_WAIT2第二次等待
服务端继续回复客户端FIN: CLISED_WAIT--->LAST_ACK
客户端回复确认ACK:FIN_WAIT2-->TIME_WAIT时间等待-->CLOSED状态
最后服务端收到确认ACK: LAST_ACK---> CLOSED
- 各个状态的意义如下:
名称 | 含义 |
---|---|
CLOSED | 初始状态,表示TCP连接是“关闭着的”或“未打开的”。 |
LISTEN | 表示服务器端的某个SOCKET处于监听状态,可以接受客户端的连接。 |
SYN_RCVD | 表示服务器接收到了来自客户端请求连接的SYN报文。 |
SYN_SENT | 表示发送SYN报文 |
ESTABLISHED | 表示TCP连接已经成功建立 |
FIN_WAIT_1 | 表示等待对方的FIN报文 |
FIN_WAIT_2 | 有一方调用close()主动要求关闭连接。 |
CLOSING | 表示双方都正在关闭SOCKET连接 |
CLOSE_WAIT | 表示正在等待关闭 |
LAST_ACK | 当被动关闭的一方在发送FIN报文后,等待对方的ACK报文的时候,就处于LAST_ACK状态。当收到对方的ACK报文后,也就可以进入到CLOSED可用状态了 |
3.因特网层协议介绍
协议名称 | 作用 |
---|---|
ICMP | Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。 控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。 这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 |
RARP | 反向地址转换协议 |
ARP | 地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。 作用:有效的避免广播风暴的产生 |
动态ARP | 自动完善ARP表信息,会定时更新ARP条目,自动更新ARP表时会消耗服务器性能,适用于主机更换频繁网络。 |
静态ARP | 手工配置ARP表信息,不会实时更新ARP条目,节省服务器性能,适用于主机更换不频繁网络。 |
4.网络接入层协议介绍
名称 | 作用 |
---|---|
Ethernet | 以太网(Ethernet)是一种计算机局域网技术。 |
FastEth | 快速以太网(Fast Ethernet)是一类新 型的局域网,其名称中的“快速”是指数据速率可以达到100Mbps,是标准以太网的数据速率的十倍。 |
Token Ring | 令牌环网(Token Ring)是一种LAN协议,其中所有的工作站都连接到一个环上,每个工作站只能同直接相邻的工作站传输数据。 |
FDDI | 光纤分布式数据接口,在光缆网络上发送数字和音频信号的一组协议 |
5.ip地址
1. ip地址基本概念
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
IP地址在网络层将不同的物理网络地址统一到了全球唯一的IP地址上(屏蔽物理网络差异)
是唯一标识互联网上计算机的逻辑地址(相当于手机号码,可以通过唯一的手机号码找到手机)
所以IP地址也被称为互联网地址(可见其重要性)。
2.ip地址格式
ipv4的地址长度为32位的二进制(规定),在表示时拆开为4个8位二进制中间用.隔开再转化为十进制。
- 二进制的换算(8位)
二进制 | 0 0 0 0 0 0 0 1 | 1 0 1 0 1 1 0 0 |
---|---|---|
十进制 | 1 | 172 |
原理 | 从右往左按0-7依次升高排序,例子中展现的是最右边的位数为1即0位,那么就是2(几进制,这里是2进制)的0次方=1,最后把结果加在一起=1 | 2的2次方+2的3次方+2的5次方+2的7次方=4+8+32+128=172 |
二进制转换十进制: 每位为1的相加
1 0 0 1 1 0 1 0
128 0 0 16 8 0 2 0
128+16+8+2=154
1 0 0 1 0 1 0 0
128+16+4=148
十进制转二进制: 对每位为1的相减 做减法运算
172 十进制 转换成二进制
172-128=44
44-32=12
12-8=4
4-4=0
1 0 1 0 1 1 0 0
3.ip地址分配
IP地址分配的基本原则是:要为同一网络(子网、网段)内不同主机分配相同的网络号,不同的主机号。
4.ip地址类型
名称 | 定义 |
---|---|
公有地址 | 通过它直接访问因特网。全球唯一,不能出现重复. |
私有地址 | 缓解了地址枯竭 是可以重复使用的(不同局域网内) |
5.ip地址常见类型
类型 | 子网掩码 | 特点 |
---|---|---|
A类 | 255.0.0.0 | 前一段号码必须一样,后三段可以不一样但都不能超过255(若最后一段为255--广播地址),一般写/8 |
B类 | 255.255.0.0 | 前两段号码必须一样,后两段可以不一样但都不能超过255(若最后一段为255--广播地址),一般写/16 |
C类 | 255.255.255.0 | 前三段号码必须一样,后一段可以不一样但都不能超过255(若最后一段为255--广播地址),一般写/24 |
D类 | 范围从224.0.0.0到 239.255.255.255 | |
E类 | 以“11110”开始,为将来使用保留。 |
6.特殊的ip地址
ip地址 | 作用 |
---|---|
0.0.0.0 | 当前主机 |
255.255.255.255 | 当前子网的广播地址 |
以11110开头 | 用于将来和实验使用 |
以127开头 | 用于回路测试 |
169.254.0.0~169.254.255.255 | 当开启了dhcp服 务的设备但又无法获取到dhcp的会随机使用这个网段的ip |
6.子网掩码
1.作用
- 将某个IP地址划分成网络地址和主机地址两部分
例:子网掩码的位数就是网络的位数。A类网络的网络位 数是8位,子网掩码就是255.0.0.0,B类网络的网络位数 是16位,子网掩码是255.255.0.0,C类是24位, 255.255.255.0
问:两个IP地址分别是172.20.0.18和172.20.1.16, 子网掩码都是255.255.255.0,这两个主机可以建立通信吗?
答:不行。子网掩码告诉我们要想建立通信必须要前三段相同才行,观察得知不一样,所以不能建立通信.
2.子网划分
- 为什么要子网划分?
将同类子网掩码进行划分,避免浪费公网ip。
- 如何才能子网划分呢?
借位!!!
即向主机位借位将同段划分,来使子网掩码的范围变得更少。
如果按上图是借两位,那么表示为xxx.xxx.xxx.xxx/26,有00、01、10、11四种情况(以192.168.1.10为例)
借用主机位 | 子网 | 掩码(只要借位,借位就是1,再相加) | 主机 |
---|---|---|---|
00 | 192.168.1.0 | 255.255.255.192 | 192.168.1.1-192.168.1.63 |
01 | 192.168.1. | 255.255.255.192 | 192.168.1.64-192.168.1.127 |
10 | 192.168.1.0 | 255.255.255.192 | 192.168.1.128-192.168.1.191 |
11 | 192.168.1.0 | 255.255.255.192 | 192.168.1.192-192.168.1.254 |
- 为啥可用主机位每段都少两个呢?
因为0为不用,全为1为广播位.
子网掩码的计算可用如下计算:
在线网络计算器 | TCP/IP子网掩码计算换算 —在线工具
7.网关
1.定义
- 又称网间连接器,就是一个网络连接到另一个网络的“关口”。
2.作用
- 只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。
命令 | 作用 |
---|---|
route -n | 查看网关 |
ip route add 0/0(目的地(0.0.0.0/0.0.0.0)--(ip地址/子网掩码)) via 10.0.0.2(网关) | 配置临时网关 |
ip route del 0/0 via 10.0.0.2 | 删除临时网关 |
route add default gw 10.0.0.2 | 添加网关 |
route del default gw 10.0.0.2 | 删除网关 |
0.0.0.0--所有主机名(不管去哪)
8.抓包方式
1.windows使用
- 使用Wireshark抓包软件--下载和使用见Wireshark零基础使用教程(超详细) - 元宇宙-Metaverse - 博客园
2.Linux中使用
#下载tcpdump
yum -y install tcpdump
#将百度的连接抓包到文件1.txt中
tcpdump -w 1.txt -nnvvi ens33 dst www.baidu.com
#查看文件中内容
tcpdump -r 1.txt
- 实例:企业中遇到无法远程连接排错流程:IDC机房服务器、云服务器
现象:ping通,但就是没网
检查:
1️⃣通过页面或者机房插显示器连接服务器抓包
tcpdump -nni eth0 port 80(实际多少端口就填多少)
2️⃣在公司windows电脑使用telnet连接测试
cmd-->telnet 服务器ip地址 端口
现象:
1.如果服务端可以看到来源公网IP地址 说明服务端做的限制
2.如果服务端来源IP地址不是公司公网IP地址 则需要放行抓取到的公网(打电话解决)--2次NAT转换
3.如果服务端收不到任何信息,说明是公司网络问题
9.Linux常用网络命令
1.网卡命名规则
- net.ifnames命名规范
设备类型 | 表示 |
---|---|
en | Ethernet |
wl | WLAN |
ww | WWAN |
- biosdevname命名规范
设备类型 | 表示 |
---|---|
em[1-N] | 表示主板(嵌入式)NIC |
pci | 表示PCI插槽中的卡,端口1至N |
2.网卡配置文件详解
- vim /etc/sysconfig/network-scripts/ifcfg-eth33
TYPE=Ethernet #网卡类型,一般是Ethernet,还有其他的如bond,bridge
PROXY_METHOD=none #代理方式,一般不用这个参数
BROWSER_ONLY=no #没有什么用
BOOTPROTO=none #获取IP地址的方式,启动的协议,获取配置的方式。
#dhcp表示动态获取static或none表示静态手工配置,若想使用本地配置好的IP则应该设置成这个.
DEFROUTE=yes #是否设置默认路由,若为yes则可以在该文件通过PREFIX这个参数来设置子网掩码
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 #这个参数对应的值是网卡名,是给用户看的
DEVICE=ens33 #系统逻辑设备名
ONBOOT=yes #开机启动时是否激活网卡设备
IPADDR=10.0.0.210 #设置网卡对应的IP地址,网络服务启动,网卡激活后会自动将该地址配置到网卡上前提(BOOTPROTO=static)
PREFIX=24 #子网掩码长度
GATEWAY=10.0.0.2 #该网卡配置的IP对应的网关(默认路由)
DNS1=223.5.5.5 #主DNS,若这里设置了值,则会优先于/etc/resolv.conf中设置的DNS服务器的地址需要和“PEERDNS=no”配合使用
DNS2=223.6.6.6 #次dns
IPV6_PRIVACY=no #是否启用IPV6
3.网络管理命令
命令 | 作用 | 使用方法 |
---|---|---|
ping | 用来检测网络的连通情况和分析网络速度 | ping 网址/ip地址 |
nc | 常用于溢出、反向链接、上传文本 | nc -v -z 网址 端口范围 |
nmap | 远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口 | nmap -sS ip地址 |
telnet | 检查某个主机是否开启某个端口 | telnet 网址 端口 |
netstat | 查看当前系统中运行了哪些服务端口 | netstat -tnulp |
tracert | 路由跟踪 | traceroute 网址 |
iftop | 实用的网络流量监测工具 | dstat -nf |
10.今日总结
- TCP协议的状态
- 因特网层协议
- 网络接入层
- ip地址:格式、分配、类型、分类
- 子网掩码:子网划分、网关🍟🍟🍟🍟🍟
- 抓包方式
- Linux常用网络命令🍟🍟🍟🍟🍟