网络协议
网路的基本模型
osi七层模型
graph TD
A[物理层]-->B[数据链路层]
B-->C[网络层]
C-->D[传输层]
D-->E[会话层]
E-->F[表示层]
F-->G[应用层]
TCP
安全的通信模式,需要进行三次握手
- 打电话
UDP
不安全的通信模式,只负责发送
- 写信
DDos攻击
通过发送垃圾信息进行攻击
IP地址
- 网络位:192.168.100
- 主机位:..*.1
子网掩码
子网掩码唯一的作用:用来划分IP地址中的网络为和主机位
网段
255:广播地址
1-254可用地址
32位=>255.255.255.255
24位=>255.255.255.0
网关
通常理解为一个网络的出口,就像一个房间的门
- hub:负责广播数据:a,b,c,d->如果a想要发送给b,使用hub设备,会c,d同时收到
- 交换机:通电后吧所有连接在自己设备的地址进行维护(内部建立的表)
- 路由器:负责将内网中的数据发送到公网
- DNS:域名解析系统
- 静态:本地host
- 动态:使用公众网络中的服务器
网络连接
NAT
使用虚拟网卡与主机通信
- 优点:不需要占用物理环境中的IP地址,几遍主机更换网络也不会影响虚拟机的网络环境
- 缺点:外部主机想要访问虚拟机的时候比较麻烦
桥接
使用物理交换机与主机通信
- 优点:通网络中的任意一台主机均可访问虚拟网络
- 缺点:苏主机更换网络是,有可能导致虚拟机和主机之间无法通信,切需要占用物理环境中的ip地址
远程访问(ssh)
ssh {UserName}@Host-IP
ssh root@192.168.100.22
远程拷贝(scp)
- scp file {UserName}@Host-IP:/PATH
- scp -r dir {UserName}@Host-IP:/usr/jbzm
免密登录(ssh-keygen)
- ssh-keygen 默认敲回车就可以
会生成公钥和私钥
公钥用来加密内容私钥用来揭秘内容 - ssh-copy-id {UserName}@Host-IP:完成公钥注册
网络下载(wget)
命令 | 功能 |
---|---|
-O | 下载重新命名文件 wget -O filename url |
-c | wget -c 断点续传,需要远程服务支持 |
-b | 后台下载 |
-i | 下载文件中的多个连接 wget -i lol.txt |
进程
查看
- ps:将某个时间点的程序运作情况截取下来(静态)
- pstree:以树的形式来查看进程的状态(静态)
- -A:以ASSIC格式查看
- -U:以UTF-8格式查看
- -u:查看晋城市显示用户名
- -p:查看进程时显示进程ID(PID)
- top:动态查看进程状态
- -d:后面可以接秒数,就是真个程序动态的秒数.默认3秒
- -b:以批次的方式执行top,还有更多的参数可以使用,通常会搭配数据流重导向来将批次的结果输出位档案
- -n(Number)与-b搭配,意义是需要进行几次top的输出结果
- -p指定某个PID来进行观察检测
top -d 1 -b -n 3 >> top.log
表示:top以1秒刷新的频率输出3次到top.log文件中.
命令 | 功能 |
---|---|
R | 正在运行或在队列中的进程 |
S | 处于休眠状态 |
< | 高优先级 |
N | 低优先级 |
s | 包含子进程 |
+ | 位于后台的进程组 |
进程状态
此处需要把笔记补上
管理
kill 信号量PID 结束某一个进程
killall 信号量 服务名结束所有以服务器启动的进程
命令 | 功能 |
---|---|
1 | 如果是守护进程就reload,如果不是就是15的方式结束 |
2 | 相当于键盘的Ctrl+c组合件 |
9 | 强制结束 |
15 | 以正常关闭程序的方式结束 |
任务管理器
命令 | 功能 |
---|---|
Ctrl+z | 用来吧前台运行任务放置后台暂停运行 |
& | 在某命令后追加次符号标识该命令直接在后台运行 |
任务调用(fg)
命令 | 功能 |
---|---|
fg | 用来掉后台的任务调至前台来运行 |
fg jobnumbdr | 标识调用第几个任务,默认情况下调用最后一次执行的 |
任务变更(bg)
bj jobnumber 标识变更第几个任务,默认和fg相同
jobs
用来查看后台暂停和运行的任务
命令 | 功能 |
---|---|
-l | 查看后台任务的同事列出pid |
-r | 只列出运行的后台任务 |
-s | 只列出后台暂停的任务 |
netstat
命令 | 功能 |
---|---|
-l | 监听 |
-n | 端口号 |
-t | TCP协议 |
-u | UDP协议 |
-p | PID/服务名 |
-a | 列出所有 |
防火墙
命令 | 功能 |
---|---|
systemctl stop firewalld.service | 停止firewall |
systemctl disable firewalld.service | jinzhifirewall开机启动 |
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent|开启端口
- –zone:作用域
- –add-port=80/tcp:添加端口,格式为:端口/通讯协议
- –permanet 永久生效,没有此参数重启失效
常用命令
firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助
额外的
killall -9 java # 杀死所有含有java的进程