【Linux & Nginx】Linux下安装Nginx与版本升级(nginx-1.24.0)

网安导师小李 2024-06-13 11:37:03 阅读 99

Linux下安装Nginx与版本升级【nginx-1.24.0】
六、Nginx环境准备 6.1.Nginx版本6.2.获取Nginx源码6.3.准备服务器系统 6.3.1.环境准备6.3.2.确认centos的内核6.3.3.确保centos能联网6.3.4.确认关闭防火墙6.3.5.确认停用selinux 七、Nginx安装方式【源码安装和yum安装】 7.1.Nginx源码安装需要提前准备 7.1.1.GCC编译器7.1.2.PCRE7.1.3.zlib7.1.4.OpenSSL7.1.5.警告时缺少安装包 7.2.方案一:Nginx的源码安装 7.2.1.进入官网查找需要下载版本的链接地址,然后使用wget命令进行下载7.2.2.将下载的资源进行包管理7.2.3.解压缩7.2.4.进入资源文件中,发现configure7.2.5.指定编译参数,编译Nginx复杂安装7.2.6.编译&安装7.2.7.启动Nginx7.2.8.测试 7.3.方案二:yum安装【默认安装最新版】 7.3.1.官方安装步骤7.3.2.安装yum-utils工具7.3.3.添加yum源文件7.3.4.查看是否安装成功7.3.5.使用yum进行安装7.3.6.查看nginx的安装位置7.3.7.启动测试 7.4.卸载nginx 7.4.1.步骤一:需要将nginx的进程关闭7.4.2.步骤二:将安装的nginx进行删除7.4.3.步骤三:将安装包之前编译的环境清除掉 八、Nginx目录结构分析 8.1.Nginx目录结构8.2.nginx所有配置文件目录8.3.nginx.conf8.4.Nginx基础配置文件nginx.conf 解读 九、Nginx服务器版本升级和新增模块 9.1.环境准备 9.1.1.先准备两个版本的Nginx分别是 1.22.1和1.24.09.1.2.使用Nginx源码安装的方式将1.22.1版本安装成功并正确访问9.1.3.将Nginx1.24.0进行参数配置和编译,不需要进行安装。 9.2.方案一:使用Nginx服务信号进行升级 9.2.1.将1.22.1版本的sbin目录下的nginx进行备份9.2.2.将Nginx1.24.0安装目录编译后的objs目录下的nginx文件,拷贝到原来`/usr/local/nginx/sbin`目录下9.2.3.发送信号USR2给Nginx的1.22.1版本对应的master进程9.2.4.发送信号QUIT给Nginx的1.22.1版本对应的master进程 9.3.方案二:使用Nginx安装目录的make upgrade命令完成升级 9.3.1.将1.22.1版本的sbin目录下的nginx进行备份9.3.2.将Nginx1.24.0安装目录编译后的objs目录下的nginx文件,拷贝到原来`/usr/local/nginx/sbin`目录下9.3.3.进入到安装目录,执行`make upgrade`9.3.4.查看是否更新成功 十、Nginx安装成系统服务 10.1.创建脚本10.2.服务脚本内容10.3.进行权限设置10.4.开机启动 endl

六、Nginx环境准备

6.1.Nginx版本

Nginx的官方网站为: http://nginx.org

Nginx的官方下载网站为http://nginx.org/en/download.html

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.2.获取Nginx源码

http://nginx.org/download/

打开上述网站,就可以查看到Nginx的所有版本,选中自己需要的版本进行下载。

在这里插入图片描述

6.3.准备服务器系统

6.3.1.环境准备

FinalShell SSH工具官网:http://www.hostbuf.com/

FinalShell SSH工具官网下载:http://www.hostbuf.com/t/988.html

Centos官网:https://www.centos.org/download/

MobaXterm官网:https://mobaxterm.mobatek.net/

MobaXterm官网下载:https://mobaxterm.mobatek.net/download.html

6.3.2.确认centos的内核

准备一个内核为2.6及以上版本的操作系统,因为linux2.6及以上内核才支持epoll,而Nginx需要解决高并发压力问题是需要用到epoll

# 查询linux的内核版本uname -a

在这里插入图片描述

6.3.3.确保centos能联网

ping www.baidu.com

在这里插入图片描述

在这里插入图片描述

6.3.4.确认关闭防火墙

关闭的方式有如下两种:

# 关闭运行的防火墙,系统重新启动后,防火墙将重新打开systemctl stop firewalld# 永久关闭防火墙,,系统重新启动后,防火墙依然关闭 systemctl disable firewalld# 查看防火墙状态 systemctl status firewalld

在这里插入图片描述

6.3.5.确认停用selinux

selinux(security-enhanced linux),美国安全局对于强制访问控制的实现,在linux2.6内核以后的版本中,selinux已经成功内核中的一部分。可以说selinux是linux史上最杰出的新安全子系统之一。虽然有了selinux,我们的系统会更安全,但是对于我们的学习Nginx的历程中,会多很多设置,所以这块建议大家将selinux进行关闭。

# 查看状态sestatus

在这里插入图片描述

如果查看不是disabled状态,我们可以通过修改配置文件来进行设置,修改SELINUX=disabled,然后重启下系统即可生效。

vim /etc/selinux/config# 重启系统reboot

在这里插入图片描述

七、Nginx安装方式【源码安装和yum安装】

7.1.Nginx源码安装需要提前准备

7.1.1.GCC编译器

Nginx是使用C语言编写的程序,因此想要运行Nginx就需要安装一个编译工具。

GCC就是一个开源的编译器集合,用于处理各种各样的语言,其中就包含了C语言。

# 安装gccyum install -y gcc# 查看gcc是否安装成功gcc --version

7.1.2.PCRE

Nginx在编译过程中需要使用到PCRE库(perl Compatible Regular Expressoin 兼容正则表达式库),因为在Nginx的Rewrite模块和http核心模块都会使用到PCRE正则表达式语法。

# 安装 PCRE库yum install -y pcre pcre-develrpm -qa pcre pcre-devel

7.1.3.zlib

zlib库提供了开发人员的压缩算法,在Nginx的各个模块中需要使用gzip压缩,所以我们也需要提前安装其库及源代码zlib和zlib-devel

yum install -y zlib zlib-develrpm -qa zlib zlib-devel

7.1.4.OpenSSL

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。

SSL:Secure Sockets Layer安全套接协议的缩写,可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。-

在Nginx中,如果服务器需要提供安全网页时就需要用到OpenSSL库,所以我们需要对OpenSSL的库文件及它的开发安装包进行一个安装。

yum install -y openssl openssl-develrpm -qa openssl openssl-devel

上述命令,一个个来的话比较麻烦,我们也可以通过一条命令来进行安装

# 一条命令来进行全部安装yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-develgcc --versionrpm -qa pcre pcre-devel zlib zlib-devel openssl openssl-devel

7.1.5.警告时缺少安装包

安装gcc

yum -y install gcc

checking for OS + Linux 3.10.0-693.el7.x86_64 x86_64 checking for C compiler ... not found ./configure: error: C compiler cc is not found

安装perl库

yum install -y pcer-devl

./configure: error: the HTTP rewrite module requires the PCRE library.You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option.

安装zlib库

yum install -y zlib zlib-devel

./configure: error: the HTTP gzip module requires the zlib library.You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option.

7.2.方案一:Nginx的源码安装

7.2.1.进入官网查找需要下载版本的链接地址,然后使用wget命令进行下载

yum -y install wgetwget http://nginx.org/download/nginx-1.24.0.tar.gz

在这里插入图片描述

在这里插入图片描述

7.2.2.将下载的资源进行包管理

mkdir -p /app/nginx/coremv nginx-1.24.0.tar.gz /app/nginx/core

7.2.3.解压缩

cd /app/nginx/coretar -zxvf nginx-1.24.0.tar.gz

7.2.4.进入资源文件中,发现configure

cd /app/nginx/core/nginx-1.24.0

在这里插入图片描述

7.2.5.指定编译参数,编译Nginx复杂安装

./configure --prefix=/usr/local/nginx \--sbin-path=/usr/local/nginx/sbin/nginx \--modules-path=/usr/local/nginx/modules \--conf-path=/usr/local/nginx/conf/nginx.conf \--error-log-path=/usr/local/nginx/logs/error.log \--http-log-path=/usr/local/nginx/logs/access.log \--pid-path=/usr/local/nginx/logs/nginx.pid \--lock-path=/usr/local/nginx/logs/nginx.lock \--with-http_gzip_static_module \--with-http_ssl_module \--with-stream

7.2.6.编译&安装

make & make install

在这里插入图片描述

7.2.7.启动Nginx

进入安装好的目录 /usr/local/nginx/sbin

cd /usr/local/nginx/sbin./nginx -V 查看版本详细信息./nginx 启动./nginx -s stop 快速停止./nginx -s quit 优雅关闭,在退出前完成已经接受的连接请求./nginx -s reload 重新加载配置

在这里插入图片描述

在这里插入图片描述

7.2.8.测试

在这里插入图片描述

7.3.方案二:yum安装【默认安装最新版】

官网:http://nginx.org/en/docs/install.html

RHEL and derivatives:http://nginx.org/en/linux_packages.html#RHEL

使用源码进行简单安装,我们会发现安装的过程比较繁琐,需要提前准备GCC编译器、PCRE兼容正则表达式库、zlib压缩库、OpenSSL安全通信的软件库包,然后才能进行Nginx的安装。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.3.1.官方安装步骤

RHEL and derivatives:http://nginx.org/en/linux_packages.html#RHEL

在这里插入图片描述

RHEL and derivatives

This section applies to Red Hat Enterprise Linux and its derivatives such as CentOS, Oracle Linux, Rocky Linux, AlmaLinux.

Install the prerequisites:

sudo yum install yum-utils

To set up the yum repository, create the file named /etc/yum.repos.d/nginx.repo with the following contents:

vim /etc/yum.repos.d/nginx.repo

[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true[nginx-mainline]name=nginx mainline repobaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/gpgcheck=1enabled=0gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true

By default, the repository for stable nginx packages is used. If you would like to use mainline nginx packages, run the following command:

# 切换成主线版本,暂时不需要sudo yum-config-manager --enable nginx-mainline

To install nginx, run the following command:

sudo yum install nginx

When prompted to accept the GPG key, verify that the fingerprint matches 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62, and if so, accept it.

7.3.2.安装yum-utils工具

sudo yum install -y yum-utils

7.3.3.添加yum源文件

vim /etc/yum.repos.d/nginx.repo

[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true[nginx-mainline]name=nginx mainline repobaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/gpgcheck=1enabled=0gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true

在这里插入图片描述

7.3.4.查看是否安装成功

yum list | grep nginx

在这里插入图片描述

7.3.5.使用yum进行安装

yum -y install nginx

在这里插入图片描述

7.3.6.查看nginx的安装位置

whereis nginx

在这里插入图片描述

7.3.7.启动测试

cd /usr/sbin./nginx

在这里插入图片描述

在这里插入图片描述

7.4.卸载nginx

7.4.1.步骤一:需要将nginx的进程关闭

# 先看下nginx是否在运行中ps aux | grep nginx# 如果在运行中,则停止./nginx -s stop 或者直接杀死进程 pkill nginx或 kill -9 进程号

7.4.2.步骤二:将安装的nginx进行删除

cd ~# 找到所有nginx有关文件find / -name nginx*# 删除有关nginx的文件(linux中一切都文件)rm -rf /usr/local/nginx

7.4.3.步骤三:将安装包之前编译的环境清除掉

cd /app/nginx/core/nginx-1.24.0make clean# 卸载nginx的有关依赖yum remove nginx

在这里插入图片描述

八、Nginx目录结构分析

8.1.Nginx目录结构

# 安装tree工具展示目录结构yum -y install tree# 查看centos系统上的文件目录结构tree /usr/local/nginx# 显示所有文件和目录tree /usr/local/nginx -a

在这里插入图片描述

8.2.nginx所有配置文件目录

[root@192 sbin]# tree /usr/local/nginx/usr/local/nginx├── client_body_temp├── conf # 用来存放配置文件相关的│ ├── fastcgi.conf # fastcgi相关配置文件│ ├── fastcgi.conf.default # fastcgi.conf的备份文件│ ├── fastcgi_params # fastcgi的参数文件│ ├── fastcgi_params.default # fastcgi的参数备份文件│ ├── koi-utf │ ├── koi-win│ ├── mime.types # 媒体类型,记录的是HTTP协议中的Content-Type的值和文件后缀名的对应关系│ ├── mime.types.default # mime.types的备份文件│ ├── nginx.conf # 这个是Nginx的核心配置文件│ ├── nginx.conf.default # nginx.conf的备份文件│ ├── scgi_params # scgi的参数文件│ ├── scgi_params.default # scgi的参数备份文件│ ├── uwsgi_params # uwsgi的参数文件│ ├── uwsgi_params.default # uwsgi的参数备份文件│ └── win-utf # koi-utf、koi-win、win-utf这三个文件都是与编码转换映射相关的配置文件,用来将一种编码转换成另一种编码├── fastcgi_temp├── html # 存放nginx自带的两个静态的html页面│ ├── 50x.html # 访问失败后的失败页面│ └── index.html # 成功访问的默认首页├── logs # 记录入门的文件,当nginx服务器启动后,这里面会有 access.log error.log 和nginx.pid三个文件出现│ ├── access.log # 访问日志│ ├── error.log # 错误日志│ └── nginx.pid # nginx进程的PID├── proxy_temp├── sbin # nginx的主程序│ └── nginx # nginx是用来控制Nginx的启动和停止等相关的命令├── scgi_temp└── uwsgi_temp

# 查看Nginx的PIDmore /usr/local/nginx/logs/nginx.pid# 查看日志tail -f /usr/local/nginx/logs/access.logtail -f /usr/local/nginx/logs/error.log

在这里插入图片描述

8.3.nginx.conf

Nginx的核心配置文件默认是放在/usr/local/nginx/conf/nginx.conf

vi /usr/local/nginx/conf/nginx.conf

worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}

8.4.Nginx基础配置文件nginx.conf 解读

# 指令名指令值; #全局块,主要设置Nginx服务器整体运行的配置指令worker_processes 1; # 默认为1,表示开启一个业务进程# events块,主要设置,Nginx服务器与用户的网络连接,这一部分对Nginx服务器的性能影响较大events { # 事件驱动模块accept_mutex on; #设置Nginx网络连接序列化,防止多个进程对连接的争抢multi_accept on; #设置Nginx的worker进程是否可以同时接收多个网络请求worker_connections 1024; # 设置Nginx单个worker进程最大的连接数use epoll; #设置Nginx使用的事件驱动模型,使用epoll函数来优化Ngin}# http块,是Nginx服务器配置中的重要部分,代理、缓存、日志记录、第三方模块配置... http { include mime.types; # 引入http mime类型 default_type application/octet-stream; # 如果mime类型没有匹配上,默认使用二进制流的方式传输 sendfile on; # 使用limux的sendfile(socket,file,len)高效网络传输,也就是数据0拷贝 tcp_nopush on; # 主要是用来提升网络包的传输效率 tcp_nodelay on; # 提高网络包传输的实时性 keepalive_timeout 65; include nginx_gzip.conf;# server块,是Nginx配置和虚拟主机vhost相关的内容 server { # 虚拟主机配置 listen 80; # 监听端口号80 server_name localhost; # 域名、主机名 # location块,基于Nginx服务器接收请求字符串与location后面的值进行匹配,对特定请求进行处理 location / { # 匹配路径 root html; # 文件根目录 index index.html index.htm; # 默认页名称 } error_page 500 502 503 504 /50x.html; # 报编码错误对应页面 location = /50x.html { root html; } }}

nginx_gzip.conf

# Gzip压缩功能的实例配置gzip on; #开启gzip功能gzip_types *; #压缩源文件类型,根据具体的访问资源类型设定gzip_comp_level 6; #gzip压缩级别gzip_min_length 1024; #进行压缩响应页面的最小长度,content-lengthgzip_buffers 4 16K; #缓存空间大小gzip_http_version 1.1; #指定压缩响应所需要的最低HTTP请求版本gzip_vary on; #往头信息中添加压缩标识gzip_disable "MSIE [1-6]\."; #对IE6以下的版本都不进行压缩gzip_proxied off; #nginx作为反向代理压缩服务端返回数据的条件

gzip on;gzip_types *;gzip_comp_level 6;gzip_min_length 1024;gzip_buffers 4 16K;gzip_http_version 1.1;gzip_vary on;gzip_disable "MSIE [1-6]\.";gzip_proxied off;

九、Nginx服务器版本升级和新增模块

需求:Nginx的版本最开始使用的是nginx-1.22.1,由于服务升级,需要将Nginx的版本升级到nginx-1.24.0,要求Nginx不能中断提供服务。

为了应对上述的需求,这里我们给大家提供两种解决方案:

方案一:使用Nginx服务信号完成Nginx的升级

方案二:使用Nginx安装目录的make命令完成升级

9.1.环境准备

9.1.1.先准备两个版本的Nginx分别是 1.22.1和1.24.0

在这里插入图片描述

9.1.2.使用Nginx源码安装的方式将1.22.1版本安装成功并正确访问

# 进入安装目录,指定编译参数,按照自己需求./configure --prefix=/usr/local/nginx \--sbin-path=/usr/local/nginx/sbin/nginx \--modules-path=/usr/local/nginx/modules \--conf-path=/usr/local/nginx/conf/nginx.conf \--error-log-path=/usr/local/nginx/logs/error.log \--http-log-path=/usr/local/nginx/logs/access.log \--pid-path=/usr/local/nginx/logs/nginx.pid \--lock-path=/usr/local/nginx/logs/nginx.lock \--with-http_gzip_static_module \--with-http_ssl_module \--with-stream

make && make install

在这里插入图片描述

在这里插入图片描述

9.1.3.将Nginx1.24.0进行参数配置和编译,不需要进行安装

# 进入安装目录,指定编译参数,按照自己需求./configure --prefix=/usr/local/nginx \--sbin-path=/usr/local/nginx/sbin/nginx \--modules-path=/usr/local/nginx/modules \--conf-path=/usr/local/nginx/conf/nginx.conf \--error-log-path=/usr/local/nginx/logs/error.log \--http-log-path=/usr/local/nginx/logs/access.log \--pid-path=/usr/local/nginx/logs/nginx.pid \--lock-path=/usr/local/nginx/logs/nginx.lock \--with-http_gzip_static_module \--with-http_ssl_module \--with-stream

# 不需要进行安装,直接makemake

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9.2.方案一:使用Nginx服务信号进行升级

9.2.1.将1.22.1版本的sbin目录下的nginx进行备份

cd /usr/local/nginx/sbinmv nginx nginxold

在这里插入图片描述

9.2.2.将Nginx1.24.0安装目录编译后的objs目录下的nginx文件,拷贝到原来/usr/local/nginx/sbin目录下

cd /nginx/core/nginx-1.24.0/objscp nginx /usr/local/nginx/sbin

在这里插入图片描述

9.2.3.发送信号USR2给Nginx的1.22.1版本对应的master进程

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

在这里插入图片描述

9.2.4.发送信号QUIT给Nginx的1.22.1版本对应的master进程

kill -QUIT `more /usr/local/logs/nginx.pid.oldbin`

在这里插入图片描述

9.3.方案二:使用Nginx安装目录的make upgrade命令完成升级

9.3.1.将1.22.1版本的sbin目录下的nginx进行备份

cd /usr/local/nginx/sbinmv nginx nginxold

在这里插入图片描述

9.3.2.将Nginx1.24.0安装目录编译后的objs目录下的nginx文件,拷贝到原来/usr/local/nginx/sbin目录下

cd /nginx/core/nginx-1.24.0/objscp nginx /usr/local/nginx/sbin

在这里插入图片描述

9.3.3.进入到安装目录,执行make upgrade

make upgrade

在这里插入图片描述

9.3.4.查看是否更新成功

cd /usr/local/nginx/sbin./nginx -v

在这里插入图片描述

十、Nginx安装成系统服务

10.1.创建脚本

vi /usr/lib/systemd/system/nginx.service

10.2.服务脚本内容

[Unit]Description=nginx web serviceDocumentation=http://nginx.org/en/docs/After=network.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.confExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s stopPrivateTmp=true[Install]WantedBy=default.target

[Unit]:服务的说明Description:描述服务After:描述服务类别[Service]服务运行参数的设置Type=forking是后台运行的形式ExecStartpre是检查配置文件ExecStart为服务的具体运行命令ExecReload为重启命令ExecStop为停止命令PrivateTmp=True表示给服务分配独立的临时空间注意:[Service]的启动、重启、停止命令全部要求使用绝对路径[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

10.3.进行权限设置

chmod 755 /usr/lib/systemd/system/nginx.service

10.4.开机启动

# 重新加载系统服务systemctl daemon-reload# 启动服务systemctl start nginx#停止systemctl stop nginx#重启systemctl restart nginx#重新加载配置文件systemctl reload nginx# 查看nginx状态systemctl status nginx# 开机启动systemctl enable nginx.service# 查看nginx是否启动ps -ef | grep nginx

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?

既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。

②学习网络安全相关法律法规。

③网络安全运营的概念。

④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)

①渗透测试的流程、分类、标准

②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking

③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察

④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)

①Windows系统常见功能和命令

②Kali Linux系统常见功能和命令

③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)

①计算机网络基础、协议和架构

②网络通信原理、OSI模型、数据转发流程

③常见协议解析(HTTP、TCP/IP、ARP等)

④网络攻击技术与网络安全防御技术

⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础

②SQL语言基础

③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介

②OWASP Top10

③Web漏洞扫描工具

④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)

在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习

搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉【整整282G!】网络安全&黑客技术小白到大神全套资料,免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。