首页 > 系统相关 >linux网络管理

linux网络管理

时间:2023-01-11 17:14:00浏览次数:56  
标签:10.0 网络管理 root 0.200 lnh linux com 客户端

网络管理

一、网络简介

网络:简单来说就是通过网络介质把各种设备连接起来形成的结构

网络介质:

  • 网线:cat5 cat5e 六类网线 七类网线

image

  • 光纤

image

  • 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.通用网站网络架构

image

三、OSI 7层模型

1.概述

用于规定数据在发送,传输,阅读的流程

2.OSI 7层模型

open system interconnect 开放系统互连参考模型,是由ISO(国际标准化组织)定义的

OSI 7层 概述
7.应用层 大部分软件运行在这一层,协议http,https
6.表示层 负责数据加密,解密,压缩(了解)
5.会话层 负责会话管理,维护(了解)
4.传输层 负责数据传输方式(可靠传输或不可靠)
3.网络层 负责路由与寻址
2.数据链路层 分组数据封装成帧
1.物理层 物理链路,网卡 本质就是把数据转换为2进制的形式,通过线缆传输

记忆:物数网传会表应 (巫术网传会镖鹰)

image

3.OSI 7层模型详解

3.1 应用层

大部分的软件,服务运行在应用层中

应用层中常见的服务/协议

协议 含义 端口
http 超文本传输协议:网站基础协议之一 80
https 多了个secure:对数据加密了 443
smtp 简单邮件传输协议,smtp未加密 smtps加密 25,465
dns 域名解析服务 53

注意:服务/协议对应的端口,端口的概念不是7层的,是4层传输层的

3.2 表示层 了解

image

3.3 会话层 了解

image

3.4 传输层 重点

传输层用于管理或控制连接(端到端的连接)

传输层控制了,连接或数据传输是否可靠(指定端口号)

如何指定数据传输是否可靠?

  • 可靠的连接 tcp

  • 不可靠的连接 udp

通过端口与对方连接

image

3.5 网络层 重点

负责将数据从源地址传输到目的地址

作用:路由(指路)和寻址(根据ip地址找人)

  • 提供ip地址(DHCP)
  • 进行路由(问路,指路)

设备:3层路由器,3层交换

image

3.6 数据链路层

把上层的数据进行转换为帧(对数据进行处理与加工)

这一层加工数据的时候,增加了MAC地址。

数据可以在局域网传输(精确传输,局域网传输的时候使用的是mac地址)

image

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

image

image

image

image

四、数据传输与OSI7层模型

1.封包过程

image

2.网络设备处理包的过程

image

3.对方解包的过程

image

4.抓包查看

image

五、TCP/IP 协议 (OSI7层精简模型) 了解

image

目前开发书写代码,一般基于框架(模板)

JAVA:SprintBoot SprintCloud

Python:Django Flask

PHP: ThinkPHP

六、TCP 3次握手 重点

tcp之所以稳定,可靠,因为建立连接的时候要经过3次握手

tcp三次握手目标:与端口建立连接

udp没有3次握手建立连接的过程,直接连接

image

文字描述3次握手流程

  1. 客户端发出建立连接请求:SYN建立连接请求,发出seq的随机数seq(666)
  2. 服务端收到客户端请求:ACK(确认),SYN(与客户端建立连接),发出ack=seq+1(667),seq=随机数(999)
  3. 客户端收到服务端请求与确认:发出ACK确认建立连接,发出ack=seq+1(1000)seq=ack(667)
  4. 连接建立,开始传输数据

七、TCP 4次挥手 重点

4次挥手目的是断开连接

image

文字描述4次挥手流程

  1. 客户端:发出断开连接的请求:(FIN)断开连接请求,seq=1000,ack=seq+1(668)
  2. 服务端:收到客户端请求,确认:(ACK)确认断开,seq=668,ack=seq+1(1001)
  3. 服务端:向客户端发出断开连接请求,(FIN)断开连接请求,seq=668,ack=seq+1(1001)
  4. 客户端:确认收到请求,断开连接,(ACK)确认收到请求,seq=1001,ack+1(669)
  5. 连接断开

八、抓包分析 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

image

开始抓包,过滤器中输入:==tcp.port 9999 抓取端口是9999的数据包

image

1.三次握手

客户端:请求建立连接:SYN

image

服务端:确认请求(ACK),并且请求建立连接(SYN)

image

客户端:确认建立连接(ACK)

image

2.四次挥手

客户端:发出断开连接的请求:(FIN)断开连接请求

image

服务端:收到客户端请求,确认:(ACK)确认断开

image

服务端:向客户端发出断开连接请求,(FIN)断开连接请求

image

客户端:确认收到请求,断开连接,(ACK)确认收到请求

image

九、TCP/UDP区别

1.概述与总结 必会

4层协议
TCP 传输控制协议:基于3次握手,4次挥手,可靠连接
UDP 用户数据报协议:不可靠连接

TCP与UDP区别 必会

传输控制协议(TCP) 数据报协议(UDP)
面向连接(3次握手4次挥手,建立,断开连接) 无连接
可靠传输 不可靠传输
流控(检查数据是否丢失,丢失重新发送) 尽力而为,尽力传递
使用TCP应用:WEB浏览器,电子邮件,文件传输程序 使用UDP的应用:域名系统(DNS),
视频流,IP语音(VoIP)

2.TCP数据报结构

image

3.UDP数据包结构

image

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

image

十、TCP 11种状态

1.三次握手的状态

image

TCP三次握手状态转换说明:

  1. 准备:首先,建立连接之前,服务器和客户端的状态都为CLOSED
  2. 准备:服务器创建socket后(启动服务)开始监听,服务器的状态变为LISTEN
  3. 客户端:SYN请求,客户端请求建立连接,向服务器发送SYN报文,客户端的状态变为SYN_SENT
  4. 服务端:服务端收到客户端的SYN报文后向客户端发送ACK和SYN报文,此时服务器的状态为SYN_RCVD
  5. 客户端:然后,客户端收到ACK,SYN,就向服务器发送ACK,客户端状态变为ESTABLISHED
  6. 服务端:服务器收到客户端的ACK后,状态也变为ESTABLISHED

此时3次握手完成,连接建立!

2.四次挥手的状态

image

TCP四次挥手状态转换说明:

  1. 客户端:客户端先向服务器发送FIN报文,请求断开连接,其状态变为FIN_WAIT1
  2. 服务端:服务器收到FIN后,向客户端发送ACK,服务器状态变为CLOSE_WAIT
  3. 客户端:客户端收到ACK后,就进入FIN_WAIT2状态,此时连接已经断开了一半,如果服务器还有数据要发送给客户端,就会继续发送
  4. 服务端:直到发完了,就发送FIN报文,此时服务器进入LAST_ACK
  5. 客户端:客户端收到服务器的FIN后,马上发送ACK给服务器,此时客户端进入TIME_WAIT状态,再过了2MSL长的时间后进入CLOSEED状态
  6. 服务端:服务器收到客户端的ACK就进入CLOSED状态

3.CLOSING状态

image

客户端发了FIN,但是客户端在FIN_WAIT1状态时没有收到服务器的ACK确认字段,却收到了FIN字段,这种情况发生在服务器发送的ACK丢包的时候,因为网络传输时会有意外

十一、常见的网络协议

1.DNS

域名:baidu.com jd.com

DNS:域名解析服务/协议: 域名--------->ip地址

域名结构:

image

1.1 DNS解析详细流程 必会

image

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

  1. 发出arp请求,发送广播找人,谁知道10.0.0.201的mac地址,请告诉10.0.0.201
  2. 单播:所有局域网的设备都收到广播,只有10.0.0.201这台机器进行回复:我是10.0.0.201,我的mac地址是XX:XX:XX:XX:XX:XX
  3. 缓存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

image

3.ICMP协议 Internet控制报文协议

ping 使用的就是icmp协议

image

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

image

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.概述:

  1. DNS解析过程:域名--->ip
  2. 与对应服务器的端口建立连接:3次握手
  3. 数据的请求与响应(http协议,传输数据)
  4. 断开连接:4次挥手

2.过程详解

image

十四、局域网上网原理与虚拟机上网原理 了解

1.局域网上网原理

image

2.虚拟机上网原理

image

十五、网络管理命令

[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地址分类

image

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

相关文章

  • Linux环境下监听端口号并向指定端口发送字符串消息数据(nc,telnet,netstat)
    1.下载netcat,用于监听端口yuminstallnc2.下载net-tools,用于查看端口号使用情况yuminstall-ynet-tools3.下载telnet,用于向端口号发送消息yuminstall-ytelnet4.监听......
  • linux升级
    linux升级前言公司有一台服务器,目前比较老,分配给我做了我的研发环境,由于内核版本低,很多东西不能装,所以我研究下一怎么来升级内核,适配我的产品使用uname命令查找Linux内......
  • Linux shell usage()使用说明
    usage()类似于执行文件-help展示的内容,即告诉使用者有哪些参数选项可供使用。usage()格式点击查看代码usage(){echo"Usage:$0<OPTIONS>"echo......
  • 在Red Hat Linux中自动运行程序
    转载文章,地址:http://hi.baidu.com/wangtao8899/blog/item/dd7365c41c5423a18226ace1.html 1.开机启动时自动运行程序    Linux加载后,它将初始化硬件和设备驱动,然......
  • Linux day2:⽹络不通排查流程 linux重要数据文件 系统优化相关 上传下载 文件权限 所属
    目录⽹络不通排查流程linux重要数据文件etc⽬录下重要的数据⽂件usr⽬录下重要的数据⽂件var⽬录下重要的数据⽂件proc⽬录重要的数据⽂件系统优化相关环境变量下载软件优......
  • linux
    linux常见岗位自动化运维、容器运维、DBAps:会的越多给的就越多!!!"""IDC运维:机房运维员不要做!!!"""计算机的种类台式机笔记本服务器 作⽤:1.可......
  • linux2
    前期必备知识1.命令提示符[root@jasonNB~]#root表示⽤户名信息@为分隔符jasonNB为主机名称~表示所处⽬录位置,默认是家......
  • python之路 58 linux文件配置相关
    网络不通排除流程1.确认⽹关地址是否通畅2.确认⽹卡配置是否正确vi/etc/sysconfig/network-scripts/ifcfg-eth03.确认⽹络管理服务关闭systemctlstopNe......
  • linux-各个目录下重要文件、用户、用户组
    1.⽹络不通排查流程1.确认⽹关地址是否通畅2.确认⽹卡配置是否正确```python3.确认⽹络管理服务是否关闭 systemctlstopNetworkManager systemctldisable......
  • tinyproxy简单应用(linux设置网络代理、中转)
    1、安装yuminstalltinyproxy-y 2、修改配置文件修改代理ip和端口vim/etc/tinyproxy/tinyproxy.conf 3、服务管理systemctlstarttinyproxysystemc......