1 渗透基础

目录

基础前沿

1 vulhub环境搭建

1 proxychains工具:编辑配置文件

2 docker

docker环境搭建

配置docker的代理:

2 nginx编译安装--FPM

1 php.ini

2 php-fpm

3 nginx

4 nginx php-fpm php

1 基本角色分工

2. 请求处理全流程

步骤 1:客户端发送请求

步骤 2:Nginx 接收请求

步骤 3:Nginx 配置示例

步骤 4:Nginx 与 PHP-FPM 通信

步骤 5:PHP-FPM 处理请求

步骤 6:PHP 脚本执行

步骤 7:结果返回

步骤 8:Nginx 返回响应

总结

3 DNS

命令解释

1 dig

2 nslookup

DNS的解析过程


基础前沿

1 vulhub环境搭建

1 proxychains工具:编辑配置文件

vim /etc/proxychains.conf

查看代理端口号:7890

查看本机网卡,一般虚拟机都是vmnet8:

设置配置文件,改代理IP和端口号

测试: proxychains curl http://www.google.com

后面又去访问了google发现不行了,但是访问其他的外网可以正常访问

2 docker

docker环境搭建

需要下载以下的包,如果下载失败可以先apt upgrade 或者 --fix-missing解决问题

sudo apt-get install --fix-missing docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

配置docker的代理:

先创建配置目录

mkdir -p /etc/systemd/system/docker.service.d

写代理:

sudo tee /etc/systemd/system/docker.service.d/proxy.conf <<-'EOF'

[Service]

Environment="HTTP_PROXY=http://192.168.37.1:7890"

Environment="HTTPS_PROXY=http://192.168.37.1:7890"

Environment="NO_PROXY=localhost,127.0.0.1,192.168.37.0/24" # 不代理本地和局域网地址 EOF

测试:拉取环境

docker ps -a

docker rm -f $(docker ps -aq)

docker images

docker rmi $(docker images | awk '{print $3}')

删除第三列的ID

然后构建镜像环境:

docker compose up -d

部署完成,查看镜像和容器:

docker ps -a

docker images

本地访问查看是否成功:

ok!部署完成

进入容器:

docker exec -it 9b7a360a3476 /bin/bash

这里有一个.dockerenv文件,说明我是在docker容器里面,如果说拿下一个网站有这个说明是在容器里面,并没有进入真实的物理机(所以有docker逃逸)

因为docker是最小化的安装,所以他的很多命令都没有

修改docker文件的方法:

1,直接下载软件安装包或者更新源

apt-get upgrade

2,将文件名复制出来,在本地进行修改

docker cp 9b7a360a3476:/var/www/html/color.php /tmp

打开进行修改再复制回去,因为cp是覆盖

3,vscode直接修改

2 nginx编译安装--FPM

1 php.ini

2 php-fpm

3 nginx

进入此配置目录

修改nginx的配置文件,配置与php联动的文件

root@yang:/usr/local/nginx/conf#vim nginx.conf

4 nginx php-fpm php

1 基本角色分工
  • Nginx:高性能的 Web 服务器和反向代理服务器,负责接收客户端请求、静态文件处理和请求转发。
  • PHP-FPM:PHP FastCGI 进程管理器,负责管理 PHP 进程池并处理 PHP 脚本的执行。
  • PHP:脚本语言,执行 PHP 代码并生成动态内容
2. 请求处理全流程
步骤 1:客户端发送请求

用户通过浏览器或其他客户端工具(如 curl)访问网站,例如请  求 http://example.com/index.php

步骤 2:Nginx 接收请求

Nginx 作为 Web 服务器监听 80/443 端口,接收到请求后根据配置文件(nginx.conf 中的配置)决定如何处理:

  • 静态文件请求:直接返回 HTML、CSS、JS、图片等静态资源。
  • PHP 脚本请求:通过 fastcgi_pass 指令将请求转发给 PHP-FPM 处理
步骤 3:Nginx 配置示例

步骤 4:Nginx 与 PHP-FPM 通信

Nginx 通过 FastCGI 协议 将请求转发给 PHP-FPM:

  • 通信方式
    • TCP 套接字(如 127.0.0.1:9000):适合跨服务器通信或调试。
    • Unix 套接字(如 /run/php/php7.4-fpm.sock):性能更高,适合本地通信。
  • 传递参数:Nginx 将请求信息(如 SCRIPT_FILENAMEQUERY_STRINGHTTP_HOST 等)封装为 FastCGI 参数传递给 PHP-FPM。
步骤 5:PHP-FPM 处理请求

PHP-FPM 接收到请求后:

  1. 进程池管理:从空闲进程池中选择一个 PHP 进程(若没有则创建新进程,需配置允许)。
  2. 执行 PHP 脚本:PHP 进程读取并执行指定的 PHP 文件(如 index.php)。
  3. 环境准备:PHP 进程会加载 php.ini 配置,并根据脚本需求加载扩展(如 mysqliredis 等)。
步骤 6:PHP 脚本执行

PHP 解释器执行脚本,可能涉及:

  • 数据库查询(如 MySQL、PostgreSQL)。
  • 文件读写。
  • 调用第三方 API。
  • 生成动态内容(如 HTML、JSON)。
步骤 7:结果返回

PHP 执行完成后,将生成的内容(如 HTML 页面)返回给 PHP-FPM,PHP-FPM 再通过 FastCGI 协议将结果返回给 Nginx。

步骤 8:Nginx 返回响应

Nginx 收到 PHP-FPM 的响应后,添加 HTTP 头(如 Content-TypeCache-Control),并将内容返回给客户端浏览器。

总结
  • Nginx 负责请求分发:静态文件自己处理,PHP 脚本转发给 PHP-FPM。
  • PHP-FPM 管理进程池:提高 PHP 脚本执行效率,避免频繁创建进程。
  • PHP 专注业务逻辑:执行代码并生成动态内容。

3 DNS

命令解释

此节介绍了DNS查询常用命令nslookup和dig。nslookup可进行正向解析、查询指定数据类型和TTL值等,支持指定域名服务器;dig能正向、反向解析,查询特定记录及追踪解析过程。nslookup适合基本查询和诊断,dig功能更强大全面。

1 dig

1.正向解析:使用 dig 域名 @server-ip 的格式,其中server-ip是指定的DNS服务器IP地址。

2.反向解析:使用 dig –x ip @server-ip 的格式,可以查询指定IP地址对应的域名。

3.查询特定类型的记录:使用 dig 域名 type 的格式,其中type是想要查询的记录类型,如A、AAAA、MX、NS、SOA等。

4.追踪解析过程:使用 dig +trace 域名 的格式,可以追踪域名的解析过程,显示从根域名服务器开始到最终权威服务器的解析路径。

2 nslookup

1.正向解析:直接输入 nslookup 域名,例如 nslookup www.baidu.com,即可查询指定域名的IP地址。

2.查询域名制定数据类型:使用 nslookup type=类型 域名 的格式,其中类型可以是A、AAAA、MX、NS、SOA等,用于查询指定类型的记录。 3.查询域名TTL值:使用 nslookup –d 域名 的格式,可以查询指定域名的TTL值。 此外,nslookup还支持指定域名服务器进行查询。例如,nslookup server 8.8.8.8 可以将Google的公共DNS服务器8.8.8.8设置为默认服务器进行查询。

nslookup更适合基本的DNS查询和网络诊断,而dig则提供了更为深入和全面的DNS查询和分析功能。

DNS的解析过程

①客户机向其本地域名服务器发出DNS请求报文。

②本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求。

③根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器。 ④本地域名服务器向顶级域名服务器dns.com发出解析请求报文。

⑤顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器。

⑥本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文。

⑦授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器。

⑧本地域名服务器将查询结果保存到本地缓存,同时返回给客户机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89746.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java+SpringBoot 的榆林特色旅游网站

源码编号&#xff1a;S678源码名称&#xff1a;基于SpringBoot 的榆林特色旅游网站用户类型&#xff1a;双角色&#xff0c;用户、管理员数据库表数量&#xff1a;22 张表主要技术&#xff1a;Java、Vue、ElementUl 、SpringBoot、Maven运行环境&#xff1a;Windows/Mac、JDK1…

Python设计模式深度解析:单例模式(Singleton Pattern)完全指南

Python设计模式深度解析&#xff1a;单例模式&#xff08;Singleton Pattern&#xff09;完全指南前言什么是单例模式&#xff1f;单例模式的三个关键要素基础实现&#xff1a;异常控制式单例Python中的经典单例实现1. 使用 __new__ 方法实现2. 线程安全的单例实现3. 装饰器实现…

LVS 原理详解及部署(包含实验案例)

一、集群和分布式简介1.系统性能扩展方式Scale Up&#xff08;向上扩展&#xff09;&#xff1a;通过增强单台服务器的硬件性能&#xff08;如提升 CPU、内存、存储等&#xff09;来提高处理能力&#xff0c;适用于业务初期或对单点性能要求高的场景。这种方式简单易行&#xf…

两个路由器通过不同的网段互联

一&#xff0c;实验拓扑图&#xff1a;二、实验说明 &#xff1a;在两个接口配置好两个不同网段的的ip地址后是不能相互通信的。经过测试用ospf把两个网段宣告进area 0 是行不通的。最后我们通过静态路由来配置&#xff0c;遇到一个最大的问题是&#xff0c;我们的下一跳地址应…

Python趣味算法:冒泡排序——从理论到极致优化

排序算法是程序员的必修课,而冒泡排序是理解算法思维的绝佳起点。本文将深入解析冒泡排序的7种优化技巧,通过可视化演示+多维度性能分析,带你彻底掌握这一经典算法! 看在每天坚持分享有趣知识的份上,点个关注吧(づ ̄ 3 ̄)づ 关注是我更新的动力 ̄︶ ̄∗ ̄︶ ̄∗) 作者会…

[simdjson] document_stream | iterate_many() | batch_size | 线程加速 | 轻量handle

第七章&#xff1a;文档流 欢迎回来 在前面的章节中&#xff0c;我们学习了如何使用解析器结合填充字符串获取表示JSON根节点的文档&#xff0c;并通过按需API&#xff08;On-Demand API&#xff09;遍历值、对象和数组&#xff0c;同时使用simdjson_result进行错误处理。 到…

【机器学习】向量数据库选型指南:企业内网部署场景

向量数据库选型指南&#xff1a;企业内网部署场景一、选型背景与关键需求 在企业级机器学习应用中&#xff0c;特别是涉及图片、视频等非结构化数据的场景&#xff0c;向量数据库已成为核心基础设施。传统数据库难以高效处理高维向量的相似度检索需求&#xff08;如图片相似性搜…

Django母婴商城项目实践(八)- 数据渲染与显示之首页

8、数据渲染与显示 1 概述 Django作为Web框架,需要一种很便利的方法动态地生成HTML网页,因此有了模板这个概念。模板包含所需HTML的部分代码以及一些特殊语法,特殊语法用于描述如何将视图传递的数据动态插入HTML网页中。 Django可以配置一个或多个模板引擎(甚至是0个,如前…

Redis常见线上问题

文章目录 Redis常见线上问题 引言 报告背景与目的 Redis版本与环境说明 性能瓶颈问题 慢查询分析与优化 高CPU与网络延迟 内存管理问题 内存碎片成因与优化 BigKey与内存溢出 数据一致性与高可用问题 主从同步延迟 脑裂问题与解决方案 持久化机制问题 RDB与AOF对比 核心特性对比…

Typecho博客集成阿里云CDN+OSS实现全站加速方案

文章目录 Typecho博客系统集成阿里云CDN和OSS实现静态资源加速 引言 一、技术选型与准备工作 1.1 为什么选择阿里云CDN+OSS组合 1.2 准备工作 二、OSS存储桶创建与配置 2.1 创建OSS存储桶 2.2 配置Bucket权限 2.3 配置跨域访问(CORS) 三、CDN加速配置 3.1 添加CDN域名 3.2 配置…

计算机毕业设计Java网咖管理系统 Java技术实现的网咖综合管理系统开发 基于Spring Boot框架的网咖运营管理系统设计

计算机毕业设计Java网咖管理系统e0btvq7l &#xff08;配套有源码 程序 mysql数据库 论文&#xff09;本套源码可以先看具体功能演示视频领取&#xff0c;文末有联xi 可分享随着互联网技术的飞速发展和电子竞技的全球兴起&#xff0c;网咖作为一种新兴的休闲娱乐场所&#xff0…

Kotlin main函数

main() 函数 来仔细看看 main() 函数。实际上&#xff0c;它就是一个很常见的函数&#xff1a;你可以对它做任何你能对普通函数做的事。唯一的不同是&#xff1a;它是程序的入口点&#xff08;entry point&#xff09;。这意味着程序的执行从调用这个函数开始。 我们来拆解一下…

深入理解 Spring:事务管理与事件机制全解析

文章目录前言一、Spring 事务管理&#xff08;Transaction Management&#xff09;1. 使用 Transactional 管理事务2. 核心属性说明3. 事务传播行为详解&#xff08;Propagation&#xff09;4. 异常回滚策略分析5. 底层原理剖析&#xff08;源码级&#xff09;二、Spring 事件机…

AWD练习的平台搭建

ubuntu虚拟机搭建 前提资源准备 进行AWD我们需要在一个独立的虚拟机 现在就来搭建一个ubuntu的 这里我们使用的VMware是17的 然后下载镜像的地址&#xff1a;Ubuntu最全的国内镜像下载地址 - 哔哩哔哩 我下载的是中科大的 这里需要准备的前提资源就有了。 创建Ubuntu虚…

C++ 详谈继承体系下的构造函数和析构函数

前言 前面呢, 我们说了C中实现多态的原理, 其中也说了, 虚函数表和虚函数指针的创建时机, C 详谈多态实现原理-CSDN博客 , 这一节呢, 我们会说说在C中继承体系下的另一个知识点, 那就是: 继承体系下的构造函数和析构函数~~, 主要围绕两个问题: 执行顺序? 虚析构函数的作用? …

PostgreSQL 字段类型速查与 Java 枚举映射

1. 查询 SQLSELECTc.table_schema,c.table_name,c.column_name,c.data_type,c.udt_name,CASE-- 数值WHEN c.udt_name IN (int2,int4,int8,float4,float8,numeric,money)THEN NUMERIC-- 布尔WHEN c.udt_name boolTHEN BOOLEAN-- 日期/时间WHEN c.udt_name IN (date,time,timetz…

数据分析综合应用 30分钟精通计划

🔬 数据分析综合应用 30分钟精通计划(完整版含输出) ⏰ 时间分配 5分钟:数据加载与清洗基础 10分钟:探索性数据分析(EDA) 10分钟:数据分析实战案例 5分钟:分析报告生成 📚 第一部分:数据加载与清洗基础 (5分钟) 1. 模拟真实数据集 import pandas as pd import nu…

Python爬虫实战:研究psd-tools库相关技术

一、引言 1.1 研究背景 Adobe Photoshop 是目前最流行的图像处理软件之一,其原生文件格式 PSD(Photoshop Document)包含了丰富的图像信息和编辑历史。PSD 文件不仅在设计领域广泛使用,还在数字营销、版权保护和安全分析等领域具有重要价值。然而,手动分析大量 PSD 文件是…

基于卷积傅里叶分析网络 (CFAN)的心电图分类的统一时频方法

一、研究背景与核心问题​​ECG分类的挑战​&#xff1a;心电图&#xff08;ECG&#xff09;信号分类在心律失常检测、身份识别等领域至关重要&#xff0c;但传统方法难以同时有效整合时域和频域信息。现有方法包括&#xff1a;​时域分类&#xff08;CNN1D&#xff09;​​&am…

Linux——LinuxOS

cd,pwd,mkdir,rm,ls,touch,cat,echo,