网络管理
一、网络简介
网络:简单来说就是通过网络介质把各种设备连接起来形成的结构
网络介质:
- 网线:cat5 cat5e 六类网线 七类网线
- 光纤
- wifi:无线路由器,ap节点
网速/传输速度:
- 网络带宽的速度:1000Mb/s = 1000/8 = 125MB/s
- bit位:1字节=8bit
- 网络中单位是位:b小写表示位,B大写表示字节
二、网络设备与架构
1.交换机(switch)
作用:
对数据进行转发,局域网
特点:
- 在一个交换机的端口上所连接的所有终端设备,均在一个网段(局域网LAN)上,称为一个广播域
- 产生广播消耗设备CPU资源
- 终端用户的设备接入,连接交换机。一般情况下交换机为24口,48口,96口
- 一个网段会有一个统一的网络标识,如192.168.15.xx
- 企业级交换机会有一些基本的安全功能,这种交换机叫网管功能的交换机
- 了解:广播域的隔离(创建VLAN,虚拟局域网)
- 了解:交换机可以隔离冲突域,每一个端口就是一个冲突域
一般是二层设备,数据链路层。如果是三层的话,会具备三层的功能(DHCP,自动分配ip)
交换机接口数量较多
2.路由器
作用:
- 连接不同的网络
- 核心功能:路由功能(指路),ip(分配IP)
特点:
- 路由协议的转发(路由选路,指路)
- 数据转发,会维护一个路由表(相当于一个地图)
- 路由器会作为网关(数据的出入口),一般会在网络出口的位置摆放一台路由器
- 路由器用于连接广域网
三层设备最多识别到三层,网络层
路由器接口数量较少
3.通用网站网络架构
三、OSI 7层模型
1.概述
用于规定数据在发送,传输,阅读的流程
2.OSI 7层模型
open system interconnect 开放系统互连参考模型,是由ISO(国际标准化组织)定义的
OSI 7层 | 概述 |
---|---|
7.应用层 | 大部分软件运行在这一层,协议http,https |
6.表示层 | 负责数据加密,解密,压缩(了解) |
5.会话层 | 负责会话管理,维护(了解) |
4.传输层 | 负责数据传输方式(可靠传输或不可靠) |
3.网络层 | 负责路由与寻址 |
2.数据链路层 | 分组数据封装成帧 |
1.物理层 | 物理链路,网卡 本质就是把数据转换为2进制的形式,通过线缆传输 |
记忆:物数网传会表应 (巫术网传会镖鹰)
3.OSI 7层模型详解
3.1 应用层
大部分的软件,服务运行在应用层中
应用层中常见的服务/协议
协议 | 含义 | 端口 |
---|---|---|
http | 超文本传输协议:网站基础协议之一 | 80 |
https | 多了个secure:对数据加密了 | 443 |
smtp | 简单邮件传输协议,smtp未加密 smtps加密 | 25,465 |
dns | 域名解析服务 | 53 |
注意:服务/协议对应的端口,端口的概念不是7层的,是4层传输层的
3.2 表示层 了解
3.3 会话层 了解
3.4 传输层 重点
传输层用于管理或控制连接(端到端的连接)
传输层控制了,连接或数据传输是否可靠(指定端口号)
如何指定数据传输是否可靠?
-
可靠的连接 tcp
-
不可靠的连接 udp
通过端口与对方连接
3.5 网络层 重点
负责将数据从源地址传输到目的地址
作用:路由(指路)和寻址(根据ip地址找人)
- 提供ip地址(DHCP)
- 进行路由(问路,指路)
设备:3层路由器,3层交换
3.6 数据链路层
把上层的数据进行转换为帧(对数据进行处理与加工)
这一层加工数据的时候,增加了MAC地址。
数据可以在局域网传输(精确传输,局域网传输的时候使用的是mac地址)
mac地址(网络物理地址):网卡生产的时候设置,世界上独一无二的地址
#linux [root@lnh ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether `00:0c:29:72:55:cf` brd ff:ff:ff:ff:ff:ff # mac地址 inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0 valid_lft forever preferred_lft forever inet6 fe80::c78c:d46d:5579:381f/64 scope link noprefixroute valid_lft forever preferred_lft forever #win [C:\~]$ ipconfig /all 以太网适配器 以太网 6: 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : ASIX AX88179A USB 3.2 Gen1 to Gigabit Ethernet Adapter 物理地址. . . . . . . . . . . . . : F8-E4-3B-B6-71-15 #mac地址 DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 本地链接 IPv6 地址. . . . . . . . : fe80::7cc6:5698:e295:fced%22(首选) IPv4 地址 . . . . . . . . . . . . : 192.168.15.37(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.0 获得租约的时间 . . . . . . . . . : 2023年1月3日 8:13:51 租约过期的时间 . . . . . . . . . : 2023年1月3日 19:27:26 默认网关. . . . . . . . . . . . . : 192.168.15.1 DHCP 服务器 . . . . . . . . . . . : 192.168.15.2 DHCPv6 IAID . . . . . . . . . . . : 418964539 DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-24-E5-B7-B7-E4-54-E8-26-02-E6 DNS 服务器 . . . . . . . . . . . : 119.29.29.29 TCPIP 上的 NetBIOS . . . . . . . : 已启用
3.7 物理层
通过设备的网卡把上面的数据转换为网络介质中可以传输的信号
把数据转换为01010101的内容,通过传输介质(网线为高低电平表示0(低)1(高))传递给对方
小结
osi 7层模型 | 含义 | 协议 |
---|---|---|
7️⃣ 应用层 | 应用之间互相调度使用,提供接口 | http,https,smtp,dns |
6️⃣ 表示层 | 数据加密,解密,编码,解码,压缩,解压缩 | |
5️⃣ 会话层 | 负责建议,管理维护会话信息 | |
4️⃣ 传输层 | 负责连接建立/断开,传输是否可靠 | tcp/udp,核心概念:端口 |
3️⃣ 网络层 | 负责路由(指路)与寻址(根据IP地址找人) | 核心概念:IP地址 |
2️⃣ 数据链路层 | 负责数据到达局域网后传输 | 核心概念:mac地址 |
1️⃣ 物理层 | 负责把数据装换为介质可以识别型号(数据,通过介质传输) | 网卡,传输介质 |
抓包查看OSI模型
使用wireshark抓包
[root@lnh ~]# vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [root@lnh ~]# yum -y install nginx [root@lnh ~]# systemctl enable nginx Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. [root@lnh ~]# systemctl start nginx [root@lnh ~]# systemctl status nginx ● nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2023-01-03 17:43:24 CST; 5s ago Docs: http://nginx.org/en/docs/ Process: 3738 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 3739 (nginx) CGroup: /system.slice/nginx.service ├─3739 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf └─3740 nginx: worker process Jan 03 17:43:24 lnh systemd[1]: Starting nginx - high performance web server... Jan 03 17:43:24 lnh systemd[1]: Can't open PID file /var/run/nginx.pid (yet?) ...ory Jan 03 17:43:24 lnh systemd[1]: Started nginx - high performance web server. Hint: Some lines were ellipsized, use -l to show in full. [root@lnh ~]# systemctl status firewalld #关闭防火墙 ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) [root@lnh ~]# getenforce #关闭selinux Disabled
四、数据传输与OSI7层模型
1.封包过程
2.网络设备处理包的过程
3.对方解包的过程
4.抓包查看
五、TCP/IP 协议 (OSI7层精简模型) 了解
目前开发书写代码,一般基于框架(模板)
JAVA:SprintBoot SprintCloud
Python:Django Flask
PHP: ThinkPHP
六、TCP 3次握手 重点
tcp之所以稳定,可靠,因为建立连接的时候要经过3次握手
tcp三次握手目标:与端口建立连接
udp没有3次握手建立连接的过程,直接连接
文字描述3次握手流程
- 客户端发出建立连接请求:SYN建立连接请求,发出seq的随机数seq(666)
- 服务端收到客户端请求:ACK(确认),SYN(与客户端建立连接),发出ack=seq+1(667),seq=随机数(999)
- 客户端收到服务端请求与确认:发出ACK确认建立连接,发出ack=seq+1(1000)seq=ack(667)
- 连接建立,开始传输数据
七、TCP 4次挥手 重点
4次挥手目的是断开连接
文字描述4次挥手流程
- 客户端:发出断开连接的请求:(FIN)断开连接请求,seq=1000,ack=seq+1(668)
- 服务端:收到客户端请求,确认:(ACK)确认断开,seq=668,ack=seq+1(1001)
- 服务端:向客户端发出断开连接请求,(FIN)断开连接请求,seq=668,ack=seq+1(1001)
- 客户端:确认收到请求,断开连接,(ACK)确认收到请求,seq=1001,ack+1(669)
- 连接断开
八、抓包分析 3次握手与4次挥手
#linux 下面通过nc命令创建一个端口
[root@lnh ~]# yum -y install nc
#创建9999端口
[root@lnh ~]# nc -lk 9999
#检查端口
[root@lnh ~]# ss -lntup|grep 9999
tcp LISTEN 0 10 *:9999 *:* users:(("nc",pid=5439,fd=4))
tcp LISTEN 0 10 [::]:9999 [::]:* users:(("nc",pid=5439,fd=3))
#windows通过本地shell,连接9999端口
[C:\~]$ telnet 10.0.0.200 9999
Connecting to 10.0.0.200:9999...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
oldboy
#如果要断开,请按Ctrl+Alt+]
#要结束端口,在linux按ctrl+c
#注意,在抓包之前要关闭防火墙与selinux
开始抓包,过滤器中输入:==tcp.port 9999 抓取端口是9999的数据包
1.三次握手
客户端:请求建立连接:SYN
服务端:确认请求(ACK),并且请求建立连接(SYN)
客户端:确认建立连接(ACK)
2.四次挥手
客户端:发出断开连接的请求:(FIN)断开连接请求
服务端:收到客户端请求,确认:(ACK)确认断开
服务端:向客户端发出断开连接请求,(FIN)断开连接请求
客户端:确认收到请求,断开连接,(ACK)确认收到请求
九、TCP/UDP区别
1.概述与总结 必会
4层协议 | |
---|---|
TCP | 传输控制协议:基于3次握手,4次挥手,可靠连接 |
UDP | 用户数据报协议:不可靠连接 |
TCP与UDP区别 必会
传输控制协议(TCP) 数据报协议(UDP) 面向连接(3次握手4次挥手,建立,断开连接) 无连接 可靠传输 不可靠传输 流控(检查数据是否丢失,丢失重新发送) 尽力而为,尽力传递 使用TCP应用:WEB浏览器,电子邮件,文件传输程序 使用UDP的应用:域名系统(DNS),
视频流,IP语音(VoIP)
2.TCP数据报结构
3.UDP数据包结构
4.UDP演示
#2台linux,都装nc
#主服务器,启动9999端口
[root@lnh ~]# nc -lu 9999
[root@lnh ~]# ss -lntup |grep 9999
udp UNCONN 0 0 *:9999 *:* users:(("nc",pid=5905,fd=4))
udp UNCONN 0 0 [::]:9999 [::]:* users:(("nc",pid=5905,fd=3))
#另一台服务器
[root@muban ~]# nc -u 10.0.0.200 9999
十、TCP 11种状态
1.三次握手的状态
TCP三次握手状态转换说明:
- 准备:首先,建立连接之前,服务器和客户端的状态都为CLOSED
- 准备:服务器创建socket后(启动服务)开始监听,服务器的状态变为LISTEN
- 客户端:SYN请求,客户端请求建立连接,向服务器发送SYN报文,客户端的状态变为SYN_SENT
- 服务端:服务端收到客户端的SYN报文后向客户端发送ACK和SYN报文,此时服务器的状态为SYN_RCVD
- 客户端:然后,客户端收到ACK,SYN,就向服务器发送ACK,客户端状态变为ESTABLISHED
- 服务端:服务器收到客户端的ACK后,状态也变为ESTABLISHED
此时3次握手完成,连接建立!
2.四次挥手的状态
TCP四次挥手状态转换说明:
- 客户端:客户端先向服务器发送FIN报文,请求断开连接,其状态变为FIN_WAIT1
- 服务端:服务器收到FIN后,向客户端发送ACK,服务器状态变为CLOSE_WAIT
- 客户端:客户端收到ACK后,就进入FIN_WAIT2状态,此时连接已经断开了一半,如果服务器还有数据要发送给客户端,就会继续发送
- 服务端:直到发完了,就发送FIN报文,此时服务器进入LAST_ACK
- 客户端:客户端收到服务器的FIN后,马上发送ACK给服务器,此时客户端进入TIME_WAIT状态,再过了2MSL长的时间后进入CLOSEED状态
- 服务端:服务器收到客户端的ACK就进入CLOSED状态
3.CLOSING状态
客户端发了FIN,但是客户端在FIN_WAIT1状态时没有收到服务器的ACK确认字段,却收到了FIN字段,这种情况发生在服务器发送的ACK丢包的时候,因为网络传输时会有意外
十一、常见的网络协议
1.DNS
域名:baidu.com jd.com
DNS:域名解析服务/协议: 域名--------->ip地址
域名结构:
1.1 DNS解析详细流程 必会
1.2 DNS解析的命令
通过命令查看DNS解析详细流程
#windows
#dns缓存
[C:\~]$ ipconfig /displaydns #显示dns缓存
[C:\~]$ ipconfig /flushdns #清空dns缓存
#hosts文件
C:\Windows\System32\drivers\etc\hosts
#浏览器也有DNS缓存
#linux
#hosts文件
[root@lnh ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#详细解析过程
[root@lnh ~]# yum -y install bind-utils
[root@lnh ~]# dig www.baidu.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.10 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15341
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1408
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 28 IN CNAME www.a.shifen.com.
www.a.shifen.com. 28 IN A 110.242.68.4
www.a.shifen.com. 28 IN A 110.242.68.3
;; Query time: 7 msec
;; SERVER: 223.6.6.6#53(223.6.6.6)
;; WHEN: Thu Jan 05 17:04:38 CST 2023
;; MSG SIZE rcvd: 101
#更详细的DNS解析过程
[root@lnh ~]# dig +trace www.baidu.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.10 <<>> +trace www.baidu.com
;; global options: +cmd #访问根服务器
. 393 IN NS a.root-servers.net.
. 393 IN NS l.root-servers.net.
. 393 IN NS d.root-servers.net.
. 393 IN NS g.root-servers.net.
. 393 IN NS k.root-servers.net.
. 393 IN NS b.root-servers.net.
. 393 IN NS c.root-servers.net.
. 393 IN NS j.root-servers.net.
. 393 IN NS m.root-servers.net.
. 393 IN NS e.root-servers.net.
. 393 IN NS i.root-servers.net.
. 393 IN NS h.root-servers.net.
. 393 IN NS f.root-servers.net.
;; Received 239 bytes from 223.5.5.5#53(223.5.5.5) in 7 ms
#访问顶级服务器
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20230118050000 20230105040000 951 . H+6xTiEzkyakyyTFVHGSy6/ZehOIn15Kyot08Cyw0FmVpGsbHL+g0u2j LpS4an+42r3CUeTXLqdUsXq2VmKTb8UrpdEsx0UGQzDRZBgyuzHZBl6A f6Da97wP+fQ0j6uQ3Q/wA00FHoOXxbP8UR92I960FcS01rqWJY1eeRox EOsQlYPzPTtdxsjf6qUkx5LNVTWnro0tbghDc43zsrfcFeobYBL0kgtm ueXaqFH1W7gJahsUZrlXeIMG9NHYule11ufGBSdHZp1u2hnU5lkQo8aD gNf0+/bGj5Td2DjCTIJ2JwpA+3qDaNZHK95/DhlXmqRHtFPYuz4HIFtM MGaKSw==
;; Received 1173 bytes from 192.58.128.30#53(j.root-servers.net) in 6 ms
#访问二级(权威)服务器
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns1.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q2D6NI4I7EQH8NA30NS61O48UL8G5 NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20230110052301 20230103041301 53929 com. BdAsHGTtr6VBwpL28oGxAgHt8ThLzg5G7yvKgd5BHm/5AdTVSZhQ0Dat DAze7G7eqnbDDP87ynCT2J5vtem9WEd5/vk3yKcEWk6TYyhY1rtByiSG Dmpt4uMTv3Iw7X4EBElQRIuCpTIDwGSelqRH/PGP6vkzBCdH3SKVUw6H +grZCNj8B/RY3yjbU7BBJSVdVYiXBzPlW2zNehdbBg9D9w==
HPVUVSGH5TFIA7CM6SS6SMPOS87OE0CE.com. 86400 IN NSEC3 1 1 0 - HPVV8SARM2LDLRBTVC5EP1CUB1EF7LOP NS DS RRSIG
HPVUVSGH5TFIA7CM6SS6SMPOS87OE0CE.com. 86400 IN RRSIG NSEC3 8 2 86400 20230110062248 20230103051248 53929 com. K1uXVT6Jh/ZKaHf9HopQGc685dHacVwfCpkqK0YAfNUp1bP/Lk3OQxcj TCOUjLZ0zDacv9tQfe69MhRJ46zNK/xxy9Igm7BJ633fN7kx//T7K2Un TG/Lxfqs/aZyUsdIJlbGxrz39H4Dht7QSMjWhpgEE6/ZlY6ztq9ImUK3 4xzubfPZJPfweHeeyb8x+rumerBAYlyiSjfsIRTGIsAyDw==
;; Received 849 bytes from 192.35.51.30#53(f.gtld-servers.net) in 247 ms
www.baidu.com. 1200 IN CNAME www.a.shifen.com.
;; Received 72 bytes from 36.152.45.193#53(ns3.baidu.com) in 25 ms
1.3 DNS故障
linux无法上网
#故障出现
#注释resolv.conf
[root@lnh ~]# cat /etc/resolv.conf
# Generated by NetworkManager
#nameserver 223.5.5.5
#nameserver 223.6.6.6
#现象
[root@lnh ~]# ping baidu.com
ping: baidu.com: Name or service not known
[root@lnh ~]# ping 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=17.1 ms
64 bytes from 114.114.114.114: icmp_seq=2 ttl=128 time=15.7 ms
^C
--- 114.114.114.114 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 15.741/16.431/17.122/0.702 ms
#解决办法
#重启网络的时候,会根据网卡配置文件里的dns重新生成resolv.conf
[root@lnh ~]# systemctl restart network
[root@lnh ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 223.6.6.6
2.ARP协议
ARP:ip地址转换为网卡物理地址(MAC地址)IP---->MAC地址
ARP协议是3层协议,工作在2层
解析流程:
10.0.0.200---->10.0.0.201
- 发出arp请求,发送广播找人,谁知道10.0.0.201的mac地址,请告诉10.0.0.201
- 单播:所有局域网的设备都收到广播,只有10.0.0.201这台机器进行回复:我是10.0.0.201,我的mac地址是XX:XX:XX:XX:XX:XX
- 缓存mac地址
抓包查看过程:
#10.0.0.200操作
[root@lnh ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
10.0.0.2 ether 00:50:56:f7:8e:5e C eth0
10.0.0.1 ether 00:50:56:c0:00:08 C eth0
[root@lnh ~]# ping -c1 10.0.0.201
PING 10.0.0.201 (10.0.0.201) 56(84) bytes of data.
64 bytes from 10.0.0.201: icmp_seq=1 ttl=64 time=0.352 ms
--- 10.0.0.201 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.352/0.352/0.352/0.000 ms
[root@lnh ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
10.0.0.2 ether 00:50:56:f7:8e:5e C eth0
10.0.0.201 ether 00:0c:29:74:ae:30 C eth0
10.0.0.1 ether 00:50:56:c0:00:08 C eth0
3.ICMP协议 Internet控制报文协议
ping 使用的就是icmp协议
4.网络协议小结
协议 | 名字 | 特点 |
---|---|---|
DNS | 域名解析系统/服务 | 域名--->ip地址 |
ARP | 地址解析协议 | ip地址--->mac地址 |
ICMP | 因特网控制报文协议 | ping |
DHCP | 自动分配IP地址 | |
HTTP/HTTPS | 超文本传输协议/加密 |
十二、网卡配置
1.网卡命名
网卡命名规则:
ens33
eth0
2.修改网卡名字为eth0
2.1 安装系统的时候修改
安装系统的时候选择第1个选项,然后按tab键,在最后写入 net.ifnames=0 biosdevname=0
2.2 安装完成系统后修改
#第一步:修改/boot/grub2/grub.cfg
#搜索含有linux16的行,在这行结尾加上 net.ifnames=0 biosdevname=0
[root@lnh ~]# grep -n 'linux16' /boot/grub2/grub.cfg
100: linux16 /vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos_muban-root ro spectre_v2=retpoline rd.lvm.lv=centos_muban/root rd.lvm.lv=centos_muban/swap net.ifnames=0 rhgb quiet LANG=en_US.UTF-8
114: linux16 /vmlinuz-0-rescue-30356524a31d4ef0945cbeb3a8b2d67e root=/dev/mapper/centos_muban-root ro spectre_v2=retpoline rd.lvm.lv=centos_muban/root rd.lvm.lv=centos_muban/swap net.ifnames=0 rhgb quiet
#第二步:修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
#1.修改网卡配置文件中的NAME和DEVICE两个部分
[root@lnh ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0 #修改这一行
UUID=393903f2-1849-4c22-a174-780e942b8afe
DEVICE=eth0 #修改这一行
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS2=223.6.6.6
IPV6_PRIVACY=no
#2.修改网卡配置文件名字为ifcfg-eth0
[root@lnh ~]# ll /etc/sysconfig/network-scripts/ifcfg-eth0
-rw-r--r--. 1 root root 369 Dec 4 11:02 /etc/sysconfig/network-scripts/ifcfg-eth0
#3.重启linux
3.网卡配置文件 必会 /etc/sysconfig/network-scripts/ifcfg-eth0
[root@lnh ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet #网络类型:以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none #网卡固定ip还是自动ip(DHCP 自动分配ip
#BOOTPROTO=dhcp 自动获取(公有云一般都是dhcp,他们的网络配置是通过sdn配置的)(物理机)
#BOOTPROTO=none或static 手动配置IP(物理机)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0 #网卡名字
UUID=393903f2-1849-4c22-a174-780e942b8afe #统一识别符
DEVICE=eth0 #设备名字
ONBOOT=yes #网卡是否自动运行
IPADDR=10.0.0.200 #ip地址
PREFIX=24 #子网掩码
GATEWAY=10.0.0.2 #网关,网络环境中的流量出入口,一般是3层路由
DNS1=223.5.5.5 #主配置dns地址
DNS2=223.6.6.6 #备用dns地址
IPV6_PRIVACY=no
4.DNS
常用的DNS https://dnsdaquan.com/
子网掩码计算器:https://tool.520101.com/wangluo/ipjisuan/
阿里云DNS
223.5.5.5
223.6.6.6
114
114.114.114.114
114.114.115.115
DNS地址的选择
授权默认的,如果没有默认的,选择当前网络环境的(运营商),最后在使用公共DNS
DNS配置文件
网卡配置文件 优先
/etc/resolv.conf 实时生效,重启网络,该文件会生效
十三、用户访问www.baidu.com过程 必会 面试必备
1.概述:
- DNS解析过程:域名--->ip
- 与对应服务器的端口建立连接:3次握手
- 数据的请求与响应(http协议,传输数据)
- 断开连接:4次挥手
2.过程详解
十四、局域网上网原理与虚拟机上网原理 了解
1.局域网上网原理
2.虚拟机上网原理
十五、网络管理命令
[root@lnh ~]# yum -y install net-tools lsof nethogs iftop telnet nc nmap
1.检查端口
1.1 端口是否开启 是否存在22端口
#1.ss
[root@lnh ~]# ss -lntup |grep 22
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1317,fd=3))
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1317,fd=4))
-l:显示全部
-n:显示ip
-tu:显示tcp和udp
-p:显示端口对应的进程的信息
#2.netstat 一般不使用,netstat 高并发会卡
[root@lnh ~]# netstat -lntup |grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1317/sshd
tcp6 0 0 :::22 :::* LISTEN 1317/sshd
#3.
[root@lnh ~]# lsof -nPi:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1317 root 3u IPv4 23290 0t0 TCP *:22 (LISTEN)
sshd 1317 root 4u IPv6 23292 0t0 TCP *:22 (LISTEN)
sshd 9484 root 3u IPv4 232265 0t0 TCP 10.0.0.200:22->10.0.0.1:51552 (ESTABLISHED)
-n:不要把ip方向解析为主机名、域名
-P:不要把端口解析为对应的服务
-i:指定端口,放在最后
1.2端口是否能访问,连接 检查是否可以访问22端口
#1.
[C:\~]$ telnet 10.0.0.200 22 #命令行推荐使用
Connecting to 10.0.0.200:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
SSH-2.0-OpenSSH_7.4
#2.
[root@lnh ~]# nc 10.0.0.200 22 #一般用于shell脚本中检查端口是否开启
SSH-2.0-OpenSSH_7.4
[root@lnh ~]# nc -v 10.0.0.200 22
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.0.0.200:22.
SSH-2.0-OpenSSH_7.4
-v: 显示过程
#3.网络扫描工具
[root@lnh ~]# nmap -p22 10.0.0.200
Starting Nmap 6.40 ( http://nmap.org ) at 2023-01-06 21:28 CST
Nmap scan report for 10.0.0.200
Host is up (0.00010s latency).
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 13.26 seconds
[root@lnh ~]# nmap -p1-1024 10.0.0.200
[root@lnh ~]# nmap -p22 10.0.0.0/24 jd.com taobao.com
1.3面试题:如何检查端口是否存在
ss -lntup |grep 22
netstat -lntup |grep 22
lsof -i:22
telnet 10.0.0.200 22
nc 10.0.0.200 22
nmap -p22 10.0.0.200
2.检查tcp连接状态
[root@lnh ~]# ss -ant
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 8 *:52389 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 127.0.0.1:52080 *:*
LISTEN 0 128 *:7190 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 8 *:52089 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 10 *:52189 *:*
ESTAB 0 36 10.0.0.200:22 10.0.0.1:51552
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
[root@lnh ~]# netstat -ant
#企业案例:网站并发
并发: 同一时间内,用户连接数量.
方法:统计estab状态的连接数量(一般是80/443)端口.
[root@lnh ~]# ss -ant |awk 'NR>1&&$4~/:80$/ {print $1}'|sort|uniq -c
1 LISTEN
#ab压力测试工具
[root@lnh ~]# yum -y install httpd-tools
[root@lnh ~]# ab -n 9000 -c 3 http://10.0.0.200/
3.网络速度
3.1 总体速度
[root@lnh ~]# iftop #统计2s 10s 40s 数据传输平均速度
interface: eth0
IP address is: 10.0.0.200
MAC address is: 00:0c:29:72:55:cf
12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb
└───────────────────┴───────────────────┴────────────────────┴───────────────────┴──────────────────── # 2s 10s 40s
lnh => 10.0.0.1 2.61Kb 3.05Kb 3.05Kb
<= 184b 307b 307b
lnh => gateway 0b 0b 0b
<= 0b 2.49Kb 2.49Kb
lnh => 223.5.5.5 0b 904b 904b
<= 0b 0b 0b
lnh => 223.6.6.6 0b 904b 904b
<= 0b 0b 0b
-n: ip方向解析为域名/主机名
-i:指定网卡,默认eth0 第一个网卡
-P: 显示端口
-N:不要把端口解析为服务名字
3.2 进程流量
查看进程的流量情况.
方法01: iftop,ss,ps 一起使用
iftop找出端口.
ss找出端口对应的进程号(pid)
ps根据pid过滤进程名字.
#方法02: nethogs
[root@lnh ~]# nethogs
Ethernet link detected
Waiting for first packet to arrive (see sourceforge.net bug 1019381)
NetHogs version 0.8.5
PID USER PROGRAM DEV SENT RECEIVED 9484 root sshd: root@pts/0 eth0 0.146 0.023 KB/sec
? root unknown TCP 0.000 0.000 KB/sec
TOTAL 0.146 0.023 KB/sec
4.DNS解析
#1.dig
[root@lnh ~]# dig www.baidu.com
#2.host
[root@lnh ~]# host www.baidu.com
#3.nslookup
[root@lnh ~]# nslookup www.baidu.com
5.追踪命令
#1.ping
[root@lnh ~]# ping www.baidu.com
#2.traceroute
[root@lnh ~]# yum -y install traceroute
[root@lnh ~]# traceroute -nI www.baidu.com #默认使用udp协议,-I使用icmp协议.
6.小结
网络命令 | linux | windows |
---|---|---|
查询ip地址 | ip/ifconfig | ipconfig |
检查端口号 | ss/netstat/lsof nc/telnet/nmap | netstat -ant |
检查连接情况 | ss -ant /netstat -ant | netstat -ant |
检查速度 | iftop /nethogs | |
dns解析 | dig/host/nslookup | nslookup |
路径追踪 | traceroute | tracert |
查询当前系统配置的网关,路由信息 | route -n | route print |
十六、抓包
作用:未来一些网络的问题,数据传输的问题,很难直观的看出来,需要用抓包软件查看数据传输背后发生了什么
1.概述
目标:
抓出指定协议的数据包
抓出指定端口
抓出指定ip
抓包工具 | 特点 |
---|---|
wireshark | 可视化抓包工具 |
fiddler | 代理,所有流量走fiddler,然后出去 |
科来 | |
tcpdump | linux自带 |
burpsuite | 抓包,修改数据包,一般安全的人去使用 |
2.wireshark过滤器规则
2.1 抓出指定的协议
icmp #平数据包
tcp
udp
http
arp
https tls
2.2 抓出指定端口
tcp.port == 80
udp.port == 53
tcp.srcport == 80 #过滤出源端口80
tcp.dstport == 80 #过滤出目标端口80
2.3 抓出指定ip的数据包
ip.addr == 10.0.0.200
ip.src == 10.0.0.200
ip.dst == 10.0.0.200
2.4 不固定内容的过滤
#过滤出端口小于等于1024的数据包.
tcp.dstport <= 1024
2.5 过滤,包含,正则
wireshark 不是所有的指标都支持正则 需要字段的内容是字符串,才能使用正则过滤。
注:ip不是字符串
#过滤出http协议中包含baidu.com数据包
http ~ "baidu.com"
#http.host用户请求的域名中包含.com|.cn
http.host ~ "(.com|.cn)"
注:matches 等于 ~
2.6 与或非
#过滤端口号大于等于20 小于等于1024
tcp.port >=20 && tcp.port <=1024
tcp.port >=20 and tcp.port <=1024
#组合 过滤出 端口是80 并且 ip地址是10.0.0.200
and #并且 &&
or #或者 ||
! #取反
tcp.port 80 ip.addr && 10.0.0.200
tcp.port 80 ip.addr || 10.0.0.200
3. tcpdump 过滤
注:只能过滤到三层
[root@lnh ~]# yum install -y tcpdump
#过滤协议
tcpdump icmp
tcpdump -vvv -nnn icmp
#过滤指定端口号 80端口
tcpdump -nnn port 80
tcpdump -nnn src port 80
tcpdump -nnn dst port 80
#抓住指定主机
tcpdump -nnn host 10.0.0.200
#抓取指定ip和端口的数据包
tcpdump -nnn src host 10.0.0.200 and port 80
tcpdump -nnn dst host 10.0.0.200 and port 80
#过滤指定网卡
tcpdump -i eth0
#组合 过滤出 端口是80 并且 ip地址是10.0.0.200
and #并且
or #或者
! #取反
4. 案例 tcpdump +wireshark
tcpdump linux 抓包并保存,然后下载到windows,通过wireshark分析
#1.tcpdump 抓包,通过-w保存
[root@lnh ~]# tcpdump -vvv -nnn -i eth0 port 80 or port 53 -w http-dns.pcap
#pcap 抓包文件
5. 小结
过滤条件 | wireshark | tcpdump |
---|---|---|
过滤出指定协议 | icmp/tcp/http | icmp/tcp/udp |
过滤出指定端口 | tcp.port ==80 或udp.port ==53 | port 80 或 udp port 53 |
过滤出源端口 | tcp.srcport ==80 | src port 80 |
过滤出目标端口 | tcp.dstport==80 | dst port 80 |
过滤出指定ip的数据包 | ip.addr ==10.0.0.200 | host 10.0.0.200 |
过滤出源ip | ip.src==10.0.0.200 | src host 10.0.0.200 |
过滤出目标ip | ip.dst==10.0.0.200 | dst host 10.0.0.200 |
正则 | 字段(指标)字符串 ~或matches 匹配正则, "正则" | 无 |
选项 | 无 | -w 保存数据包 -i 指定网卡 -vvv -nnn |
十七、 IP 了解
1.格式与分类
点分十进制
ipv4 32位
ipv6 128位
ip地址组成:网络位,主机位
根据网络位不同划分为ip地址分类
2.子网掩码
子网掩码: 用来确定局域网(网段中)最多有多少台机器.
PREFIX=24
NETMASK=255.255.255.0
计算网址:https://www.sojson.com/convert/subnetmask.html
标签:10.0,网络管理,root,0.200,lnh,linux,com,客户端 From: https://www.cnblogs.com/world-of-yuan/p/17044327.html