赞
踩
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
这表示网站目录的默认首页是 index.php,如果没有 index.php 系统会自动寻找 index.html做为默认首页了。
修改完 Apache 的配置文件后,记得使用 apachectl restart
重启 Apache 服务,然后这个时候回发现我们重启居然报错了:
verilog
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
AH00013: Pre-configuration failed
不要慌问题不大,下面来解决这个问题
先找到如下行:
properties
LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so
给他注释掉为:
properties
#LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so
然后找到如下行:
properties
#LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so
取消注释:
properties
LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so
最终的示例图如下:
在 Apache 的网站根目录下,创建一个 index.php ,测试一下 phpinfo() 函数能否正常运行:
bash
echo '<?php phpinfo(); ?>' > $PREFIX/share/apache2/default-site/htdocs/index.php
然后浏览访问: http://127.0.0.1:8080
查看效果:
OK
Termux 官方封装了 Clang,他是一个 C、C++、Objective-C 和 Objective-C++ 编程语言的编译器前端。
bash
pkg install clang
clang 在编译这一块很强大,感兴趣的朋友可以去网上查看详细的教程,国光这里只演示基本的 Hello World 使用。写一个 Hello World 的 C 程序,如下 hello.c
:
c
#include <stdio.h>
int main(){
printf("Hello World")
return 0;
}
编辑完成后,使用 clang 来编译生成 hello 的可执行文件:
bash
clang hello.c -o hello
效果图
Termux 早期原生编译 JAVA 只能使用 ecj
(Eclipse Compiler for Java) 和 dx
了,然后使用 Android 自带的 dalvikvm 运行。后面 Termux 官方也封装了 openjdk-17 这样安装起来就更方便了。
还有如果想要完整体验 JAVA 环境的话,另一个方法就是 Termux 里面安装一个完整的 Linux 系统,然后在 Linux 里面运行Java,安装系统部分下面文章会详细介绍,这种思路也是可以的。
bash
pkg update
pkg install openjdk-17
当然这个包可能不太稳定,遇到相关问题可以去 Termux 官方的项目下提交 issue:
安装编译工具
bash
pkg install ecj dx -y
国光这里只演示基本的 Hello World 使用。写一个 Hello World 的 JAVA 程序,如下 HelloWorld.java
:
java
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello Termux");
}
}
编译生成 class 文件
bash
ecj HelloWorld.java
编译生成 dex 文件
bash
dx --dex --output=hello.dex HelloWorld.class
使用 dalvikvm 运行
格式规范如下:
dalvikvm -cp dex文件名 类名
bash
dalvikvm -cp hello.dex HelloWorld
效果图
MariaDB 是 MySQL 关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在 GNU GPL下开源。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
Termux 官方也封装了 MariaDB,所以安装起来很方便:
bash
pkg install mariadb
这里基本上会安装很顺利,但是早期用户可能出现安装失败的情况,如果安装失败的话,这个时候手动在配置目录下创建my.cnf.d
文件夹即可:
bash
$ cd /data/data/com.termux/files/usr/etc/
$ mkdir my.cnf.d
早期的 Termux 安装完 MySQL是需要初始化数据库的,新版本在安装时候就已经初始化了数据库
bash
mysql_install_db
2020年4月19日:国光今天安装的 MySQL 发现已经存在 mysql.user 表了,无需初始化:
因为正常启动完成后,MySQL 这个会话就一直存活,类似与 Debug 调试一样,此时使用Ctrl + C
-> 中止当前进程也无济于事,体验式就一点都不优雅,所以这里国光使用Linux自带的nohup
命令将其放到后台启动。
bash
nohup mysqld &
图片上这个17115
此时就是mysqld
的进程PID号,我们使用如下命令验证一下是否正确:
bash
ps aux|grep mysql
可以看到果然是进程的 PID 号:
至于 nohup 运行的提示
ini
nohup: ignoring input and appending output to `nohup.out'
这个是正常现象,无伤大雅,Termux 下就这样将就着用吧。
Termux 下没有好的办法退出 MySQL 服务,只能强制杀掉进程了,使用如下命令格式可以轻松杀掉进程:
bash
kill -9 PID
成功kill掉
当然每次查看进程的PID号,再杀掉进程有点繁琐了,实际上这一步可以直接这样操作:
bash
kill -9 `pgrep mysql`
Awesome ! 优雅!
用户登录的前提是 MySQL 服务在后台运行,如果你按照上一小节操作把 MySQL kill 掉的话,请重新启动一下 MySQL 服务
新版本的 Termux 安装初始化数据库的时候包含两个高权限用户,一个是无法访问的 root 用户
提示拒绝root登录
提示拒绝root登录
另一个用户就是 Termux 的用户名,默认密码为空
,我们来登录看看:
bash
mysql -u $(whoami)
可以成功登录 并执行SQL语句
可以成功登录 并执行 SQL 语句
那么这个无法登录的 root 用户该怎么办呢 ?不要着急 继续往下看
老版本的 Termux 的直接使用mysql_secure_installation
可以设置密码,但是新版本的安全策略变更了 我们在设置密码的时候回提示当前密码不正确,所以这条路行不通了。
这里我们只能使用 MySQL 的另一个用户名,即 Termux 用户名登录,然后来修改 root 的密码,使用如下命令修改 root 密码:
bash
# 登录 Termux 用户
mysql -u $(whoami)
# 修改 root 密码的 SQL语句
use mysql;
set password for 'root'@'localhost' = password('你设置的密码');
# 刷新权限 并退出
flush privileges;
quit;
细节图片
OK! 如何和图片上差不的效果,那么修改 root 密码就成功了。
修改完密码之后我们就可以美滋滋地使用 root 用户来登录了:
bash
mysql -u root -p
Enter password: xxxxx(这里输入你的密码)
使用 ip a
后查看 IP 地址后,尝试电脑端远程访问 Termux 的数据库:
发现默认是无法成功连接的,这个时候我们需要到数据库手动开启 root 用户的远程访问权限:
这里的 P@ssw0rd 是我的 root 密码
sql
grant all on *.* to root@'%' identified by 'P@ssw0rd' with grant option;
flush privileges;
执行完成后 尝试 PC 端远程过去看看:
Nginx 是一个高性能的 Web 和反向代理服务器,Nginx 用的熟悉的话,下面搭建各种网站也就轻而易举了。
Termux 安装 Nginx 也很简单,一条命令即可:
bash
pkg install nginx
安装完成后,国光的习惯是查看一下版本信息:
1.17.10 版本
测试检查 Nginx 的配置文件是否正常:
bash
nginx -t
现在测试肯定是 OK 的,这个多用于我们修改完 Nginx 的配置文件后的检查。
早期版本的 Termux 需要在termux-chroot
环境下才可以成功启动 Nginx ,新版本的 Termux 可以直接启动,还是很方便的:
bash
nginx
Termux 在 Nginx 上默认运行的端口号是 8080, 使用pgrep
命令也可以查看 Nginx 进程相关的 PID 号。
然后手机本地直接访问http://127.0.0.1:8080
查看 Nginx 是否正常启动:
一般当修改完 Nginx 相关的配置文件时,我们需要重启 Nginx,使用如下命令即可重启:
bash
nginx -s reload
方法一 原生停止
bash
nginx -s stop
或者
bash
nginx -s quit
quit 是一个优雅的关闭方式,Nginx 在退出前完成已经接受的连接请求。Stop 是快速关闭,不管有没有正在处理的请求。
方法二 杀掉进程
只需三番钟,里造会干我一样,爱象节款游戏 扯远了,只需要 1 条命令,即可优雅的终止掉 Nginx 服务:
bash
kill -9 `pgrep nginx`
貌似手机党 并不好敲 这个 ` 符号 =,= ,如果实在敲不出来,那就分两步走吧:
bash
# 查询 nginx 进程相关的 PID 号
pgrep nginx
# 杀掉 查询出的 PID号进程
kill -9 PID
Termux 下的 Nginx 解析 PHP 这里单独拿出一级标题来叙述,成功解析的话,下面安装 wordpress等 PHP网站就会轻松很多。
Nginx 本身不能处理 PHP,它只是个 Web 服务器,当接收到 PHP 请求后发给 PHP 解释器处理。Nginx 一般是把请求转发给 fastcgi 管理进程处理,PHP-FPM 是一个PHP FastCGI管理器,所以这里得先安装它:
bash
pkg install php-fpm
安装完成顺便检查一下版本信息吧:
编辑 php-fpm 的配置文件 www.conf
:
bash
vim $PREFIX/etc/php-fpm.d/www.conf
定位搜索 listen =
找到
ini
listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock
将其改为:
ini
listen = 127.0.0.1:9000
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。