Linux网络基础与进阶

1. 网络简介

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

网络介质:网线,光纤,wifi

 2. 网络设备与架构

2.1 交换机(switch)

特点:

1. 在一个交换机的端口上所连接的所有终端设备,均在一个网段(局域网 LAN)称为广播域

2. 终端用户的设备接入,连接交换机

3. 一个网段会有一个统一的网络标识,网段192.168.15.xxx

2.2 路由器

概述:

1. 连接不同的网络

2. 路由功能,分配ip地址

特点:

1. 路由协议的转发

2. 数据转发,会维护一个路由表

3. 路由器会作为网关

4. 路由器用于连接广域网(公网)

  3. OSI七层模型

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

OSI7层每一层概述
应用层大部分软件运行在这一层. 协议: http,https
表示层负责数据加密,解密,压缩.....
会话层主要负责会话管理,维护...
传输层主要负责数据传输方式,TCP (可靠) UDP(不可靠)
网络层主要负责路由与寻址
数据链路层将分组数据封装成帧
物理层物理链路,网卡 :本质

记忆口诀:物数网传会表应 

3.1 七层模型详解-应用层

作用:

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

2.暴露很多接口,提供给其他服务软件使用.主要就是提供应用程序可以接入网络的接口,并根据程序的不同对应不同的接口协议

协议端口
http80
https443
smtp/smtps25/465
dns53

 3.2 七层模型详解-表示层

作用:

1.数据的编码和解码

2. 数据的加密和解密

3. 数据的压缩和解压缩

  3.3 七层模型详解-会话层

作用:

1. 建立,维护,管理应用程序的会话

2. 对话控制

3. 同步服务

  3.4 七层模型详解-传输层 

作用:

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

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

    可靠连接:TCP

    不可靠连接:UDP

负责端到端的连接,保证报文在端到端之间的传输       

 3.5 七层模型详解-网络层 

作用:

1. 路由选择和分组转发

2. 为网络设备提供逻辑地址

3. 指定源ip和目标ip

 3.6 七层模型详解-数据链路层 

作用:

1.上层数据进行转换转换为帧

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

 3.7 七层模型详解-物理层

通过设备的网卡把上面的数据转换为网络介质中可以传输的信号

4. 数据传输与OSI7层模型 

4.1 封包过程

从应用层开始一层层增加内容,最后通过网络介质传输出去

 4.1 解包过程

从物理层开始一层层减少内容

5. TCP的三次握手

与服务的端口建立连接的流程

1. 客户端发出建立连接请求: SYN建立连接请求 . 发出seq的随机数(seq=100)

2. 服务端收到客户端请求:ACK(确认),SYN(与客户端建立连接) , 发出ack=seq+1(101),seq=随机(666)

3. 客户端收到服务端请求与确认:发出ACK确认建立连接 , 发出 ack=seq+1(667)seq=ack(101)

4. 连接建立,开始传输数据

6. TCP的四次挥手 

1.客户端 发出断开连接请求: FIN断开连接请求,seq=随机数996

2.服务端: 收到客户端请求,确认: ACK确认断开, seq=随机数(9) ack=seq+1(997)

3.服务端: 向客户端发出断开连接请求,FIN断开连接请求, seq=随机数(9) ack=seq+1(997)

4.客户端: 确认收到请求,断开连接, ACK确认收到请求, seq=997 ack=seq+1(10)

 7. TCP/UDP 区别

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

8. 常见网络协议

8.1 域名解析服务(DNS)

将域名转化为ip地址

8.2 DNS解析流程 

1. 查询本地DNS缓存,windows hosts文件

2. 询问本地DNS(网卡配置的)

3. 本地DNS直接询问根域名解析服务

4. 根域名说我不知道,但是我知道不如CN对应的ip,你去问问CN服务器。

5. 询问cn服务器是否知晓对应的ip

6. CN服务器说我不知道,但是我知道(二级域名.cn)对应的 ip(DNS)

7. 询问(二级域名.cn)的DNS服务器,是否知晓域名的ip

8.  (二级域名.cn)的DNS服务器说:我知道,然后告诉我域名的ip

8.3 DNS故障 

通过域名访问,ping 域名,dig  解析域名报错

ping 公网可以访问,此时需要检测与配置下DNS(网卡配置文件中.)

8.4 地址解析协议(ARP) 

ip地址转化为网卡物理地址(MAC)

8.5 ICMP协议 

Internet控制报文协议,ping 使用的就是icmp协议。

9. 网卡配置 (ip,dns)

9.1 网卡命名规则

ens33

eth0

方法1:安装系统是修改

方法2:安装完成系统后

方法2步骤 :修改/boot/grub2/grub.cfg配置linux16行的结尾加上net.ifnames=0  biosdevname=0即可

[root@shell ~]# grep -n linux16 /boot/grub2/grub.cfg
100:	linux16 /vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap biosdevname=0 net.ifnames=0 rhgb quiet LANG=en_US.UTF-8
114:	linux16 /vmlinuz-0-rescue-26342332aa1f4e2e9e2235f98a94ede4 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap biosdevname=0 net.ifnames=0 rhgb quiet

修改网卡配置文件 

1. 修改网卡配置文件中NAME和DEVICE两个部分 vim修改

2. 网卡配置文件名字改为eth0 mv 修改

[root@shell ~]# grep -n eth0 /etc/sysconfig/network-scripts/ifcfg-eth0
12:NAME=eth0
14:DEVICE=eth0

方法01: 安装系统的时候修改

安装系统的时候选择第1个然后按tab键. 在最后写入 net.ifnames=0 biosdevname=0

9.2  网卡配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0)

TYPE=Ethernet     #基本固定,网络类型: 以太网
BOOTPROTO=none    #网卡固定ip还是自动获取ip(DHCP 自动分配ip)  ※※※※※※
#BOOTPROTO=dhcp   #自动获取#BOOTPROTO=none或static#手动设置Ip
NAME=eth0         #网卡名字  
DEVICE=eth0       #设备名字  
UUID=8e987179-762e-466e-aa40-fe38ebb012d0  #统一设别符  #HWADDR=网卡的mac地址.
ONBOOT=yes        #网卡是否自动运行(开机,重启网卡)
IPADDR=10.0.0.200 #ip地址                        
PREFIX=24         #子网掩码,设置这个局域网中最多有多少台机器  #NETMASK=255.255.255.0
GATEWAY=10.0.0.2  #网关, 类似于大楼的出入口.  网络环境中的流量出入口. 一般是3层路由. 
DNS1=223.5.5.5    #主配置dns地址.
DNS2=223.6.6.6    #备DNS 

10. 网络管理命令

yum install -y net-tools lsof nethogs iftop  telnet nc nmap

10.1 检查端口

端口是否开启

##方法01 推荐
ss -lntup
##方法02 
netstat -lntup 
lsof  -i

10.2 配合grep找出指定端口 

查看22 端口是否开启

10.3 检查是否可以访问22端口 

##方法1
telnet 10.0.0.200 22  #命令行中推荐使用,检查是否有connected 标记。
##方法2
nc -v 10.0.0.200 22     #这个一般用于shell脚本中检查端口是否开启。
##方法3 nmap网络扫描工具
nmap -p22  10.0.0.200

统计estab状态的连接数量(一般是80/443)端口

ss -ant |awk 'NR>1 $4~/:80$/ {print $1}'|sort|uniq -c

10.4 网络速度 

iftop -nNP -i eth0  #显示端口号,不要把ip解析为域名,不要把 端口解析为服务, 监视指定网卡eth0

10.5 追踪命令 

traceroute (linux ) 路径追踪

traceroute  -nI  www.baidu.com #默认使用udp协议,-I使用 icmp协议

11. 抓包 

11.1 wireshark过滤器规则

11.2 tcpdump 过滤

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 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旦沐已成舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值