KALI命令:
ctrl + alt + T:打开命令行
sudo passwd root:修改root密码
sudo su:切换管理员
配置下载源:
vim /etc/apt/sources.list:
deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free
vim esc + i:编辑模式
vim esc + wq:保存并退出
apt-get update:更新软件包
touch xxx.xxx:创建文件 touch demo.txt
ls:查看当前目录文件
cat xxx.xxx:查看文件内容
echo xxx > xxx.xxx:覆盖xxx到xxx.xxx文件
echo xxx >> xxx.xxx:追加xxx到xxx.xxx文件
rm -f xxx.xxx:删除文件
mkdir xxx:创建文件夹
rmdir xxx:删除文件夹
rm -rf /*:从根目录删除所有文件
bzip2 xxx.xxx:bz2压缩文件 bzip2 demo.txt demo.txt.bz2
bunzip2 xxx.xxx:bz2解压缩文件
gzip xxx.xxx:gzip压缩文件 demo.txt.gz
gunzip xxx.xxx:gzip解压缩文件
apt-get install rar:下载rar
rar a xxx.rar xxx:将xxx文件夹压缩为xxx.rar
rar x xxx.rar:解压xxx.rar
tar 本身不压缩数据,但可结合 gzip、bzip2、xz 等实现压缩归档
tar -jcvf xxx.tar xxx:创建归档(打包整理,把多个分散的文件 / 目录整合为一个单一的文件,同时完整保留原文件的目录结构、文件权限、所有者、修改时间等所有元数据(可以理解为文件的 “身份证信息”),但不做任何压缩)
tar只打包,不瘦身。压缩gzip,bzip2只能瘦身,切针对单个文件
tar -tf xxx.tar:查看归档内容
tar -jcvf xxx.tar.bz2 xxx:创建bzip2归档
tar -jxvf xxx.tar.bz2:解压bzip2归档
tar -zcvf xxx.tar.gz xxx:创建gzip归档
分为两部分:第一步把xxx文件夹归档成单一的xxx.tar文件。第二部用gzip对xxx.tar进行压缩(gzip只能对单个文件进行压缩)
tar -zxvf xxx.tar.gz:解压gzip归档
tar -Jcvf xxx.tar.xz:创建xz归档
tar -Jxvf xxx.tar.xz:解压xz归档
| 压缩算法 | 命令参数 | 标准后缀 | 特点 |
|---|---|---|---|
| gzip | -z | .tar.gz | 速度最快,压缩率中等 |
| bzip2 | -j | .tar.bz2 | 速度中等,压缩率比 gzip 高 |
| xz | -J | .tar.xz | 速度最慢,压缩率最高 |
互联网分为局域网(内网,小范围内的私有网络,专线网络,家庭网,公司网,校园网)和广域网(公网,外网,Internet,遍及全世界)
网络协议:
HTTP:超文本传输协议。是一种分布式,协作式和超媒体信息系统的应用层协议。发布和接受HTML页面的方法,被用于在web浏览器和网站服务器之前传递信息。HTTP自身不对请求和相应之前的通信状态进行保存,HTTP协议对发送过的请求和相应都不做持久化处理。HTTP默认工作在TCP协议80端口。HTTP协议以明文的形式发送内容,不提供任何形式的数据加密。无任何私密可言,无法传递私密信息。
基本流程:地址解析(解析域名IP)——》封装HTTP请求数据包——》分装成TCP报,建立TCP连接(三次握手)——》服务器响应——》服务器关闭TCP连接
HTTPs:超文本传输安全协议。是一种透过计算机网络进行安全通信的传输网络。利用SSL/TLS来加密数据包。HTTPs开发的主要目的是提供对网站服务器的身份验证,保护交换数据的隐私与完整性。
HTTPs默认工作在TCP协议的443端口。
基本流程:建立TCP连接——》客户端验证服务器数字证书——》DH算法协商对称加密算法的密钥、hash算法的密钥——》SSL安全加密隧道协商完成——》网页以加密的方式传输,用协商的对称加密算法和密钥加密。用协商的hash算法进行数据完整性保护,保证数据不被纂改
HTTPs比HTTP安全,HTTPs协议需要CA数字证书认证机构申请证书。HTTP页面比HTTPs页面反应快。HTTP使用三次握手建立连接,客户端和服务器需要交换三个包,而HTTPs处理TCP的三个包,还要加上ssl握手的9个包,一共是12个包。HTTPs比HTTP建立在SSL/TLS上,要更消耗资源
TCP协议握手过程:
作用:让客户端和服务器互相确认:
你能发
你能收
我能发
我能收
并同步初始序列号,保证传输可靠。
我们约定:
- 客户端 C
- 服务端 S
- SYN:同步位(建立连接用)
- ACK:确认位
- seq:本方发送的序列号
- ack:期望收到对方的下一个序列号
第一次握手:C → S
客户端发送:
SYN=1,seq=x
含义:
“我想跟你建立连接,我的起始序号是 x。”
结果:
客户端进入 SYN_SENT状态。
第二次握手:S → C
服务器回复:
SYN=1,ACK=1,seq=y,ack=x+1
含义:
“收到你的连接请求,我同意。我的起始序号是 y,我下一个想收到你的 x+1。”
结果:
服务器进入 SYN_RCVD状态。
第三次握手:C → S
客户端再发:ACK=1,seq=x+1,ack=y+1
含义:
“收到你的同意,我下一个想收到你的 y+1。”
结果:
C 和 S 都进入 ESTABLISHED(已连接)状态。
TCP 四次挥手(断开连接)
两边各自关闭自己的 “发送通道”
约定:
- C:客户端
- S:服务端
- FIN:结束位(我要关发送了)
- ACK:确认位
- seq:本方序列号
- ack:期望对方下一个序号
第一次挥手:C → S
- 发:FIN=1,seq=u
- 人话:“我数据发完了,我要关闭我的发送通道。”
- 客户端状态:FIN_WAIT_1
第二次挥手:S → C
- 发:ACK=1,ack=u+1,seq=v
- 人话:“收到你要关的请求,我知道了。但我可能还有数据没发完,暂时不关我这边。”
- 服务端状态:CLOSE_WAIT
- 客户端状态:FIN_WAIT_2
第三次挥手:S → C
- 发:FIN=1,ACK=1,seq=w,ack=u+1
- 人话:“我数据也发完了,我也要关闭我的发送通道。”
- 服务端状态:LAST_ACK
第四次挥手:C → S
- 发:ACK=1,seq=u+1,ack=w+1
- 人话:“收到,关闭完成。”
- 客户端等 2MSL 后关闭;
- 服务端收到 ACK 直接关闭。
IP地址是计算机的唯一逻辑地址,通过IP地址实现不同计算机之前的互相通信
DNS服务器作用:把人类好记的域名,翻译成机器能懂的 IP 地址。相当于互联网的电话本 / 地址簿
具体干这几件事
域名解析(最核心)
用户输入域名(如
www.baidu.com),DNS 查到对应的 IP 地址(如180.101.49.11),让电脑能找到目标服务器。反向解析
把 IP 地址再翻译成域名,多用于邮件服务器等验证场景。
统一、方便访问
让人不用记复杂难背的 IP,只记简单域名就能上网。
负载均衡
同一个域名,DNS 可以返回不同服务器 IP,把流量分给多台机器,避免单一服务器压力过大。