第一阶段思维导图
2024-12-16 19:33:10 4 举报
AI智能生成
a
作者其他创作
大纲/内容
远程操作流程
远程连接基本知识
IP地址
公网IP
非常珍贵 一旦拥有,全世界都可以访问
局域网IP
局域内使用,一般人不能直接访问
端口
常见的端口号
远程连接服务ssh 22<br>
http协议(访问网站的协议)80<br>
https协议(加密访问)443<br>
协议<br>
ssh 22
http 80
https 443
小结
远程连接故障排错流程
排错三部曲
流程对应命令<br>
检查道路是否通畅<br>
ping 主机名/ip
半路打劫,劫财劫色
端口是否提供服务<br>
telnet 主机名/域名 端口号<br>
小结<br>
Linux基本必会知识规则<br>
命令行格式
命令格式<br>
Linux命令结构
小结
Linux中必知的核心目录<br>
Linux核心目录
绝对路径和相对路径
绝对路径 从根目录开始寻找
相对路径,不从根目录开始寻找 相对于当前目录
小结
Linux核心操作与指令<br>
Linux快捷键<br>
tab 自动补全命令或者地址
CTRL+c 取消当前操作
CTRL+l 清屏<br>
快速移动行首行尾
CTRL+a 行首
CTRL+e 行尾
查询目录
Linux基础命令
Linux核心文件,文件目录深入
拿到新系统后的操作 优化部分
下载软件
修改命令提示符
麒麟 红帽
ubt
子主题
配饰ssh openssh
麒麟 红帽
ubt
日志的查看必会命令
head 从头部查看
tail 尾部查看 -f 一个窗口实时查看日志
less 分页查看
g
G
/
100g
-N
more 分页查看 看完就退出
Linux三剑客 grep 筛选<br>
- i 不区分大小写
-n 显示行号
--color 筛选出来加颜色
-v 取反
wc 统计
-l 显示多少个 数字
| 通道
文件目录进阶命令<br>
sort 排序
-i 不区分大小写
-n 按数字进行排序
-r 倒序
-color 排序完上颜色
uniq 去重
-c 显示去重的个数<br>
date 时间
查看时间
+ 以指定的格式显示时间<br>
+%F或者+%H-%m-%d 年月日
+%w 周几
+%T-%m-%s<br>
-d 根据我们的要求显示时间<br>
date -s 修改时间 一般用于测试 秒有误差
修改时间
ntpdate<br>
ping ntp.aliyun.com 查看Linux是否联网<br>
安装ntpdate yum instead -y ntpdate<br>
ntpdate npt1.aliyun.com 同步时间<br>
修改时区
timedatectl status 查看时区<br>
timedatectl set-homezone Asia/Shanghai 修改时区<br>
压缩三剑客
tar
创建压缩包
tar zcvf /压缩到地址文件名 压缩的文件<br>
tar zcf 简写<br>
z 压缩文件
c 创建压缩包<br>
v 显示压缩过程后期可不加
f 指定文件压缩解压放在那里 文件名 <br>
查看压缩包
tar ztvf 压缩文件名
tar tf 简写
解压压缩包
tar zxvf 解压的文件名<br>
tar xf 简写
tar xf 被解压的文件 -c 指定解压到位置<br>
zip
创建压缩包
zip -rq 被压缩的位置文件名 被压缩的文件<br>
r 压缩目录
p 不显示压缩过程<br>
解压压缩包
unzip 被解压的文件<br>
解压到指定目录<br>
unzip 被解压的文件 -d 指定的目录<br>
gzip
日志分析和指令
文件上传
直接将压缩文件拖进xshell中
rz 进行手动选择
awk
awk '{print $数字}'
倒数第一列 awk '{print $NF}'
倒数第三列 awk '{print $(NF-2)}'
从第二列开始从倒数第三 awk NR>1 awk'{print $(NF-2)}'
文件类型
69111793 -rw-r--r-- 1 root root 49M 2月 15 2017 secure-20161219
69234222 身份信息<br>
- 文件类型<br>
rw-r--r-- 权限<br>
1 硬链接数<br>
root root 所有者<br>
49M 文件大小
8月 26 11:48 修改时间<br>
secure-20161219 文件名
文件属性专题
面试官如何提问 star法则<br>
s 什么背景
t 目标<br>
a 方法步骤
r 结果<br>
inodo和dlock<br>
inodo 存储的文件的目录<br>
ls-lhi 查看inodo号码<br>
dlock 存储的是文件的内容
du -sh 查看文件大小 -s只看汇总信息不看每个目录大小<br>
du -sh /* 查看根下每个目录的大小<br>
df-i 查看inodo的使用情况 总数 剩余 可用<br>
df -h 查看磁盘使用情况 可用
扩展名<br>
文件类型
.sh .bash 脚本文件<br>
.py python脚本文件
.conf .fcg .config .yml .xml 配置文件<br>
.txt 文本文件<br>
文件分类<br>
text
文本文件 主机名 网卡配置信息 创建文件 cat / vim<br>
bin / sbin
二进制文件 命令文件<br>
data
数据文件 用专用命令查看<br>
压缩包 数据文件 data 需要用专用的命令来查看
file 查看文件类型<br>
补充 其他文件类型 <br>
man find搜索-type可以找到
软硬连接
软连接
ln -s<br>
相当于Windows中的快捷方式 使用率高
硬链接
ln
创建一个inodo号码相同的文件 只能连接文件<br>
面试题 软连接硬链接的区别
咋来的
ln -s 软连接
ln 硬链接
啥意思
相当于Windows的一个快捷方式
创建一个inodo号码相同的文件
啥特色
目录和文件都可以创建 常用 <br>
不能对目录创建 只能文件 防止删除 用的少
咋没的
删除软连接 源文件不影响
删除源文件 软连接不行 硬链接不影响
源文件删除 硬连接删除 相当于删除了文件 不能访问了
时间
stat 文件<br>
mtime 修改时间<br>
文件内容改变 时间也会改变
ctime 改变时间 <br>
文件属性 修改时间 大小 权限 所有者 硬连接数就会变化<br>
atime 访问时间
查看了就会变化 一般 mtime 变化 atime也变化 <br>
btime 文件创建时间<br>
文件且目录的创建的时间<br>
补充的命令
which
whereis
安全检查工具 aide<br>
yum install -y aide aide-help
/etc/aide.conf 两大部分<br>
1.用于定义格式(监控哪些指标md5,sha256,属性信息指标)<br>
2.用于指定监控哪些文件或目录+格式<br>
使用 <br>
第一次需要初始化 aide --init<br>
改名 mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.new.gz<br>
检查 aide -chick<br>
配置或代码升级或更新 aide -undate<br>
用户管理专题
Linux用户分类
root
UID 0
超级用户管理远
虚拟用户
0—999
用于保证服务和进程正常运行的用户 无法直接使用<br>
普通用户
>=1000
没有root权限呢么高 只能管理自己的家目录<br>
Linux用户相关文件<br>
/etc/passwd<br>
存放用户的信息 UIC 家目录 命令解释器<br>
/etc/group
用户组信息
/etc/shadow<br>
存放密码 密码过期<br>
/etc/gshadow<br>
用户组密码 几乎不用<br>
用户管理指令
增
useradd
-u 指定 UID
-s 指定命令解释器 <br>
默认/bin/bash
需要指定ubt -s /bin/bash<br>
-m 创建家目录
-M 不创建家目录<br>
设置密码 passwd<br>
方法1
echo 1 | passwd --sudin oldboy
方法2
创建pass.txt 里面写上用户名:密码 cat pass.txt | chpasswd
查看用户
whoami
退出注销
ctrl+d<br>
删
userdel
删除用户
-r 删除家目录<br>
查
whoami<br>
显示当前用户是否存在
id
查看用户信息或检查用户是否存在<br>
w
查看谁登录了 干了什么<br>
latc
查看用户登陆情况 谁 哪里 登入时间登出时间<br>
latclog<br>
查看所有用户登录情况<br>
改
usermod 很少使用 <br>
子主题
通过sudo提升系统安全
别名
alias<br>
查看系统已有别名<br>
alias 命令= ‘运行命令后的输出’ 设置别名 临时<br>
永久生效
vim /etc/profile 添加
source /etc/profile 生效<br>
alias 命令 测试<br>
权限管理体系专题
sudo提权
让普通用户临时用root身份运行命令<br>
visudo 写入
100行 <br>写入配置: 用户名 ALL=(ALL) /bin/cat,/bin/less/,/bin/head,/bin/tail,/binmore<br>保存<br>修改密码<br>echo 密码 | passwd --stdin 用户名 <br>使用 之后在输入一边密码<br><br>
sudo -l 查看用户都有什么root权限<br>
sudo su - 直接切换root用户
ubt debian 配置 sudo<br>
Linuxq权限概述<br>
ll -d 文件名<br>
权限与用户的关系<br>
权限与数字
r
4
w
2
x
1
-
0
修改
修改所有者
chown 修改所有者 -R 目录及目录下的都修改<br>
修改权限
chmod 权限 文件/目录 -R <br>
数字形式修改
字符形式修改
堡垒机
克隆 新系统 优化<br>
检查防火墙是否关闭
#麒麟<br>systemctl status firewalld<br>#ubt<br>systemctl status ufw<br>没有running即可.
端口是否占用
ss -lntup<br>
部署
安装
修改主机名
修改时间
解压
进入解压后目录 运行jmsctl.sh<br>
./jmsctl.sh install #一直默认即可<br>./jmsctl.sh start<br>./jmsctl.sh status #查看状态 有9行 8个服务
<br>
文件和目录rwx权限<br>
r
文件:<br>
是否可以查看文件内容 <br>cat/vim/grep/less/head/
目录<br>
是否可以查看目录内容ls/tree,需要x权 <br>限配合rx
w<br>
文件
是否可以修改文件内容,需要r权 <br>限配合.一般叫rw <br>>> > vim/vi
目录
是否可以在目录下创建,删除,重命名,需 <br>要x权限配合,wx,一般rwx
x
文件
是否可以运行文件(系统脚本,命 <br>令),需要r权限,rx或rwx.
目录
是否可以进入目录 <br>是否可以查看或修改目录下文件属性
Linux的特殊属性<br>
lsattr 查看是否有特殊属性<br>
chattr 修改或设置特殊属性<br>
+a -a
只能追加 不能删除文件 删除内容 和移动<br>
+i -i
永垂不朽无法毁灭<br>
给系统命令和文件可以加上锁头.
Linux的特殊权限<br>
suid setuid passwd命令<br>
所有者的位置上有个 s,执行权限<br>
执行命令的时候具有这个命令所有者的权限
sgid setgid<br>
用户组的位置上有个 s,执行权限<br>
执行命令的时候具有这个命令用户组的 权限
sticky 粘滞 位 /tmp<br>
目录,在其他人的位置上t,执行权限<br>
目录具有这个权限(777),每个用户创建的文件只能自己管理<br>
软件管理体系
yum/apta安装软件<br>
yum
yum install yum localinstall 安装<br>
yum list yum provides 查看 查看仓库软件包 查看依赖对应的软件包 /命令对应的软件包<br>
yum install yum update yum upgrade 升级<br>
yum more 删除 可能删除软件包<br>
命令配置<br>
vim /etc/yum.conf<br>
keepcache=1<br>cachedir=/var/cache/yum/ 下载后保留安装包,默认不保留,修改默认位置<br>
find /var/cache/yum/ -type f -name "*.rpm" 检查 <br>
ubt
首先apt update 下然后apt install -y 安装<br>
apt/apt-get 安装命令<br>
rpm/dpkg命令安装rpm包和deb包<br>
rpm
rpm -qa 查看软件是否存在
rpm -ql 查看软件内容
rpm -e 删除软件
rpm -aV 安全检查 是否有变化
rom -ivh/Uvh 安装软件
rpm -qf 查看命令属于哪个软件包<br>
dpkg
dpkg -l 查看软件是否安装
dpkg -L 查看软件内容<br>
dpkg -i xxxx.deb 安装<br>
dpkg -r 删除软件包<br>
dpkg -V 安全检查<br>
二进制软件包
部署tomcat<br>
安装Java yum install -y java
下载tomcat软件包<br>
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-<br>9/v9.0.93/bin/
创建目录 解压 创建软连接<br>
启动关闭<br>
/app/tools/tomcat/bin/startup.sh #开启<br>/app/tools/tomcat/bin/shutdown.sh #关闭
检查
ps -ef | grep java<br>
ss -lntup | grep java
子主题<br>
防火墙<br>
systemctl status firewalld.service
访问
10.0.0.201:8080
编译安装软件<br>
下载nginx源码包 https://nginx.org/en/download.html 下载地址<br>
解压 解压后是源码<br>
安装依赖<br>
yum install -y pcre-devel openssl-devel 红帽系统<br> apt install -y libpcre3 libpcre3-dev libssl-dev ubt/debain
编译安装<br>
./configure --prefix=/app/tools/nginx-1.26.2/ --user=nginx --group=nginx<br>echo $? 输出0 没问题 输出数字 有问题<br>make -j 1 编译<br>echo $? <br>make install 编译<br>ln -s /app/tools/nginx-1.26.0 /app/tools/nginx 创建软连接<br>useradd -s /sbin/nologin -M nginx 创建虚拟用户<br>id nginx 检查用户
启动和检查<br>
ss -lntup 检查端口<br>/app/tools/nginx/sbin/nginx -V 检查版本<br>/app/tools/nginx/sbin/nginx 启动<br>ps -ef | grep nginx 检查进程<br>ss -lntup | grep nginx 检查端口<br>pkill nginx 如果要关闭nginx
防火墙
systemctl status firewalld.service
浏览器访问
10.0.0.202:80
进程管理体系
僵尸进程
查看 top zombie的数量
处理方式 杀死僵尸进程的父级
kill 父级<br>
孤儿进程<br>
进程状态
Z 僵尸进程<br>
R 正在运行
S 睡眠 没有运行
D 不可中断进程
T 挂起的进程 后台没有运行且挂起<br>
带 + 进程前台运行
小s 进程是管理进程 父级<br>
< 高级优先进程<br>
带N 低级优先进程
带 l 进程是多线程<br>
后台进程
命令 &
nohup 命令 & <br>
命令输出结果保留到文件 nohup.txt<br>
ctrl + z
screen
ps -ef
ps aux
top
q 退出<br>
空格 刷新<br>
P 默认 按cpu使用率排序<br>
W 内存使用率排序
1 显示所有核心数的cpu使用情况<br>
进程负载
衡量系统繁忙程度<br>
原因
cpu
进行磁盘io
top
load average 一分钟 五分钟 十五分钟 平均负载
排查流程
同各国监控软件发现故障
通过堡垒机 其他机器连接故障机器<br>
查看是cpu还是io<br>
%cpuz中的us sy 越高负载越高<br>
top 查看 us sy
top命令中 %cpu中wa值越高 说明读写操作<br>
top 查看wa
定位到具体进程
如果是cpu高 ps aux 命令 sort排序<br>
ps -ef /ps aux sort<br>
如果是wa高是io导致 iotop -o<br>
找出问题进程后 根据进程找出服务 查看服务<br>
服务管理
ctl大礼包
hostnamectl
查看主机名 内核
hostnamectl set-hostname xxxx
systemctl
服务管理 开 关 重启 查看状态<br>
systemctl start xxxx 开启
systemctl stop xxxx 关闭
systemctl status xxx 查看状态
systemctl enable xxxx 开启开机自启动
systemctl disable xxxx 关闭开机自启动
systemctl is=start xxxx 输出start 是服务是开启状态 其他则没开启
systemctl is=enable xxxx 输出able是开启开机自启动 其他则没开启
timedatectl
查看和修改时间地区
timedaatectl set-timezone Asia/Shanghai
localectl<br>
查看和修改语言 字符集<br>
System Locale: LANG=zh_CN.UTF-8<br>
LANG语言 .<br>
zh_CN 中文
en_US 英文<br>
修改
localectl set-locale LANG=zh_CH UTF-8
脚本开头<br>
exprot LANG=en_US.UTF-8<br>lscpu | grep -i sockets
root忘记密码<br>
救援模式
麒麟
重启虚拟机 出现vm的log时按e
进入输入root 密码 Kylin123123
然后找到linux开头的中 re改为rw 行尾加上init=/bin/bash 然后ctrl+x
然后改密码 passwd<br>
ubt<br>
重启虚拟机,开机时按e进入 和麒麟一样修改rw 和 /bin/bash 然后按x
U盘救援模式
麒麟
无法进入Linux系统,系统自带的救援模式无法进入.
重启在弹出vm 的logo之前按esc一次<br>
进入到安装系统页面,选择troubleshooting,然后选择Recure installed system<br>
进入命令行后
fdisk -l |grep root<br><br>mount /dev/mapper/klas-root /mnt<br><br>进行操作即可<br>硬盘中的根挂载到了/mnt/<br><br>/etc/hostname<br>cat /mnt/etc/hostname
快照
面试题
Linux运行级别<br>
0
关机 poweroff<br>
1
单用户模式 救援模式 secure<br>
2
多用户模式 multi+user<br>
3
多用户模式
4
多用户模式
5
图形界面 <br>
6
重启 reboot<br>
查看运行级别 <br>
修改运行级别<br>
systemctl set-default multi-user.target<br><br>#了解下面命令即可. init配合runlevel<br>init 0<br>init 6
Linux启动流程<br>
开机自检
检查硬件是否有问题<br>
加载应道程序
选择启动方式 硬盘 U盘 网络<br>
GRUB菜单<br>
a。选择内核 b。救援模式<br>
加载内核<br>
/boot 目录 加载内核相关镜像<br>
启动第一个进程 systemd<br>
启动进程
读取运行级别
读取相应的级别 启动相对应的服务
进行系统初始化<br>
设置主机名 IP地址等<br>
启动服务<br>
启动各种开机自启项
启动成功显示页面
login登录页面 运行login程序<br>
磁盘管理
磁盘分类 接口<br>
机械硬盘
STAT
SAS
固态硬盘
STAT/SAS
U2/PCI-E<br>
磁盘分区
主分区
直接可以占用分区存放数据
扩展分区
占用一个分区,一般有多个空间给多少,无法直接使用<br>
逻辑分区<br>
先创建扩展分区 在创建逻辑分区 存放数据<br>
fdisk<br>
fdisk -l 查看
fidsk /dev/硬盘
磁盘命名<br>
/dev/sda /dev/sdb以此类推<br>
分区MBR分区中数字形式<br>
主分区和扩展 1-4
逻辑分区 5 开始
第一个主分区
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda3
创建分区<br>
fdisk /dev/sd磁盘
n创建
e扩展分区
p 主分区<br>
q 退出
w 保存退出
磁盘分区实战
MBR 2TB一下 fdisk<br>
GPT 2TB以上 parted /gdisk<br>
parted<br>
parted /dev/磁盘
p 查看
mkpart primary 数字 数字 创建分区<br>
rm 分区数字 删除
q 退出<br>
任何更改实时更新
磁盘格式化挂载
拿到一块新硬盘的流程
创建分区 fdisk parted
格式化 创建文件系统 mkfs.xfs<br>
挂载 mount<br>
删除挂载 mount 挂载点<br>
永久挂载
/etc/fstab<br>
vim /etc/fstab
raid级别<br>
raid0
最少1/2块硬盘 冗余最低 磁盘全部容量 读写快<br>
raid1
2块 冗余百分百 容量是一半 读ok写慢<br>
raid5
3块以上 最多损坏一块 损失一块的容量 读还行 写慢<br>
raid10
4块以上 损失一半 损失所有的一般 读写快<br>
磁盘管理进阶<br>
磁盘故障 空间不足
原因
block 满了 大文件导致
inode 用光了 小文件导致
block 文件未彻底删除<br>
block 满了
df -h 查看下整体<br>
du -sh 一步步排查<br>
inode 用光了<br>
df -h 查看空间没满
df -i 不足了<br>
fing / -tepe -d -size +10M 文件大小,小于10m <br>
rm -rf<br>
cd /text/inode<br>
ls | xargs rm<br>
block占用 未彻底删除<br>
yum install -y losf<br>
losf | grep delete<br>
重启服务 流量低谷期<br>
df -h显示空间不足 du -sh显示空间充足<br>
四剑客find<br>
find
-type -d/-f 指定目录/文件
-name 名字
*模糊搜索文件名
-iname 名字不区分大小写<br>
-size 指定文件大小<br>
-mtime 修改时间<br>
-maxdepth 目录深度<br>
特殊符号<br>
引号
单引号 所见即所得 看见啥输出啥
双引号 与单引号类似 不会解析特殊符号 不解析 { } 花口号
反引号 优先执行 首先执行括号里的内容
不加引号 与双引号类似 解析 { } 花括号<br>
重定向符号<br>
> 或 1> 标准输出重定向(正确信息)先清空然后写入<br>
>> 或1>> 标准输出重定向(正确i信息)追加文件尾写入<br>
2> ............(错误信息) 先清空后写入<br>
2>> ..................(错误信息) 追加文件为写入<br>
>>oldboy.txt 2>&1 错误信息和正确信息都写入指定文件<br>
< 或<0 输入重定向<br>
<<或0<< 追加输入重定向<br>
正则表达式
基本正则
^ 以xxx开头的行<br>
$ 以xxx结尾的行<br>
^$ 匹配空行
. 任意一个字符
* 连续出现0次或0次以上
*. 所有
[ ] 表示范围 [0-9] [a-z]<br>
[^ ] 取反<br>
扩展正则<br>
| 或者
+ 连续出现1次或1次以上<br>
{ } 花括号 连续出现的范围 a{m,n} a{m}<br>
( ) 整体 分组使用 sed<br>
? 0次或者1次<br>
四剑客awk
awk
格式 awk '{print $x }'
-F 指定分隔符<br>
awk 取行.<br>
awk ‘{print $NF}’ 最后一列
awk ‘{print $NF-1}’倒数第二列
awk 取列
awk “NR==x”<br>
计算与统计
seq 10 | awk '{i=i+$1} END{print i}' 计算总和<br>
awk '{i=i+1} END{print i}' /etc/services 统计行数<br>
通过awk进行初步计算与统计(eg,统计次数(wc -l),求和) <br>i=i+1 === i++ 统计次数 <br>i=i+$xxx 求和
四剑客sed
sed -n '3p' 找谁干嘛<br>
sed -n 取消默认输出一般与p指令一起用
sed -r 支持扩展正则<br>
sed -i 修改文件内容<br>
找谁 条件 指定行 范围<br>
干啥: 增删改查<br>
范围的过滤:/从哪里来/,/到哪里去/ 日志过滤.<br>
sed -r 's#(..)/(...)/(....):(.*)$#\3-\2-\1 \4#g' time.log |head 替换<br>
脚本文件和定时任务<br>
crontad -l 查看<br>
cronted -e 修改<br>
定时任务
/varspool/cron/root⭐ ⭐ ⭐ ⭐ ⭐<br>
核心使用的配置文件
/etc/crontab<br>
较少使用 也是配置文件
/etc/cron.daily/
系统每天的定时任务
/etc/cron.hourly/
每个小时
/etc/cron.weekly/<br>
每周
/etc/cron.monthly/<br>
每个月<br>
定时任务配置格式详解⭐⭐⭐⭐⭐<br>
指定时间<br>
* * * * * 分时日月周
*/2* * * * 每两分钟<br>
- 减号 范围
,逗号 独立没有规律<br>
指定命令或文本<br>
定时任务故障案例<br>
现象:You have new mail in /var/spool/mail/root文件邮件. <br>以邮件的形式发送给root用户,命令或脚本执行的输出<br>
原因:定时任务运行命令或脚本的时候,命令或脚本有输出.
解决方法:⭐ ⭐ ⭐ ⭐ ⭐:<br>
命令或脚本输出定向到黑洞,收到内容后就被丢弃.
命令或脚本输出定向到某个文件中,方便排查问题.
网络基础与进阶<br>
交换机
路由器<br>
osi7层模型<br>
应用层
大部分软件,服务,协议运行在这一层<br>
http 超文本传输协议<br>
https 多了个s 对数据加密<br>
smtp 简单邮件传输协议<br>
dns 域名解析服务<br>
其他。。。<br>
表示层
负责数据 加密 解密 压缩代码 了解
会话层
主要负责会话管理,维护....(了解)
传输层
主要负责数据传输方式(可靠传输 不可靠传输)<br>
端到端连接 可靠不可靠<br>
可靠的连接. tcp协议(建立连接经历3次握手,断开连接经历4次断开)<br>
不可靠的连接. udp协议(直接建立,直接断开)
网络层
负责将数据从源地址传输到目的地址(IP) 收件人,发件人的地址<br>
提供ip地址(DHCP).<br>
进行路由(问路,指路)(路由表.
数据链路层
这一层加工数据的时候,增加了MAC地址. 数据链路层:把上层数据进行转换转换为帧(对数据进行处理与加工).
物理层<br>
负责把数据转换为介质可以 识别信号(数据),通过介质传输<br>
三次握手和四次挥手
网络基础与进阶2
TCP
传输控制协议,属于3次握手四次挥手,可靠连接
面向连接(3次握手4次连接,建立,断开连接)<br>
可靠传输<br>
流控(检查数据是否丢失,丢失重新发送)
使用TCP应用:WEB浏览器,电子邮件,文件传输程序<br>
UDP<br>
用户数据协议,不可靠连接
无连接<br>
不可靠传输<br>
尽力而为,尽力传递<br>
使用UDP的应用,域名系统(DNS)视频流,IP语音(VoIP)<br>
常见网络协议<br>
DNS<br>
DNS 域名解析服务/协议: 域名--->ip地址 ⭐ ⭐ ⭐ ⭐ ⭐<br>
解析
顶级域名 .com .cn .net<br>
二级域名 jd.com baidu.com<br>
三级域名 www.jd.com<br>
ARP协议<br>
ARP: 地址解析协议<br>
ARP协议: IP ---> MAC地址 <br>ARP地址解析协议: ip地址转换为网卡物理地址(MAC地址)<br>
解析流程简单: 一问(广播)一答(单播)<br>
10.0.0.200---> 10.0.0.2
1.发出arp请求,发送广播找人 谁知道10.0.0.2的mac地址,请告诉10.0.0.200<br>
2.单播:所有局域网的设备都收到广播,只有10.0.0.2这个机器进行响应(回复): 我 是10.0.0.2 我的mac地址是xx:xx:xxxxxxxx<br>
3.缓存mac地址.<br>
注意: arp缓存是双刃剑,也会造成病毒危害系统
预防 记录每个主机的mac地址. ip与mac地址绑定.<br>
解决 抓包查看找出异常mac地址.<br>
ICMP协议<br>
Internet控制报文协议<br>
ping 使用的就是icmp协议<br>
临时禁止ping,重启后恢复<br>echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all<br>
#准许ping<br>echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all<br>
#永久生效<br>echo 'net.ipv4.icmp_echo_ignore_all =1 ' >>/etc/sysctl.conf<br>sysctl -p #生效<br>
协议
DNS<br>
域名解析系统/服务<br>
域名->IP地址
ASP<br>
地址解析协议<br>
P地址->mac地址
ICMP<br>
因特网控制报文协议<br>
ping背后使用的协议
DHCP原理<br>
自动分配IP地址<br>
可以扩展研究下
HTTP/HTTPS<br>
超文本传输协议/加密<br>
第2个阶段 网站服务讲解
0 条评论
下一页