14、技术服务的使用与挖掘:从树莓派监控到数据库信息提取

技术服务的使用与挖掘:从树莓派监控到数据库信息提取

1. 网站搭建基础操作

若想学习黑客技术,Hackers - Arise.com 是个好去处。在搭建相关网站时,可在 index.html 文件中添加如下简单 HTML 代码:

<p> If you want to learn hacking, Hackers-Arise.com </p>
<p> is the best place to learn hacking!</p>

操作步骤如下:
1. 精确输入上述文本后,将文件保存为 /var/www/html/index.html 并关闭文本编辑器。若提示文件已存在,直接覆盖即可。
2. 保存好 /var/www/html/index.html 文件后,在浏览器中访问 http://localhost ,就能看到类似图 12 - 2 那样 Apache 服务器提供的网页。

2. OpenSSH 与树莓派监控系统

2.1 SSH 简介

SSH 即 Secure Shell,能让我们安全连接到远程系统的终端,是过去常用的不安全的 telnet 的替代方案。在构建 Web 服务器时,SSH 可创建访问列表、用加密密码验证用户以及加密所有通信,降低非授权用户使用远程终端和拦截通信的风险。Linux 系统中最常用的 SSH 服务是 OpenSSH,几乎所有 Linux 发行版(包括 Kali)都预装了它。

2.2 树莓派监控系统搭建

2.2.1 准备工作
  • 树莓派是一款小巧强大、信用卡大小的计算机,适合作为远程监控工具。可在亚马逊等电子零售商处,以不到 50 美元的价格购买树莓派,相机模块约 15 美元。
  • 确保树莓派运行 Raspbian 操作系统,可从 https://www.raspberrypi.org/downloads/raspbian/ 下载并安装。
  • 将树莓派连接到显示器、鼠标和键盘,再连接到互联网。若对此不熟悉,可查看 https://www.raspberrypi.org/learning/hardware - guide/ 的说明。
  • 以用户名 pi 和密码 raspberry 登录。
2.2.2 启用 SSH 服务
  • 树莓派的 SSH 默认关闭,需进入“Preferences”菜单,启动“Raspberry Pi Configuration”,在“Interfaces”选项卡中,将 SSH 选项勾选为“Enabled”,然后点击“OK”。
  • 打开终端,输入以下命令启动 SSH 服务:
$ pi >service ssh start
2.2.3 安装相机模块
  • 对于树莓派 3 代,关闭树莓派,将相机模块连接到相机端口,再开启树莓派。注意相机很脆弱,切勿接触通用输入输出(GPIO)引脚,否则可能短路损坏。
  • 将树莓派放置在想要监控的位置,通过以太网电缆或 Wi - Fi(树莓派 3 和树莓派 Zero 有内置 Wi - Fi)连接到局域网。
  • 获取树莓派的 IP 地址,使用 ifconfig 命令:
pi >ifconfig
2.2.4 连接树莓派

从 Kali 系统通过 SSH 连接到树莓派,命令如下(需使用自己树莓派的 IP 地址):

kali >ssh pi@192.168.1.101
pi@192.168.1.101's password:

默认密码是 raspberry ,除非你已更改。

2.3 相机配置

输入以下命令启动树莓派配置工具:

pi >sudo raspi - config

操作流程如下:
1. 滚动到“6 Enable Camera”并按回车键。
2. 滚动到菜单底部,选择“Finish”并按回车键。
3. 当配置工具询问是否重启时,选择“Yes”并按回车键。重启后,树莓派相机就可用于监控了。

2.4 开始监控拍照

树莓派重启并通过 SSH 登录后,可使用 Raspbian 操作系统中的 raspistill 应用拍照。
- 输入 raspistill 可查看工具的帮助屏幕和所有选项:

pi@raspberrypi: raspistill
raspistill Camera App v1.3.8
Runs camera for specific time, and takes JPG capture at end if requested
usage: raspistill [options]
Image parameter commands
--snip--
  • 使用默认选项拍照并保存为 JPEG 文件,命令如下:
pi@raspberrypi: raspistill -v -o firstpicture.jpg
raspistill Camera App v1.3.8
width 2592, Height 1944, quality 85, filename firstpicture.jpg
Time delay 5000, Raw no
--snip--

使用 -v 选项获取详细输出, -o 选项指定文件名。使用 ls -l 命令可查看文件:

pi@raspberrypi: ls -l
total 2452
drwxr - xr - x   2  pi pi        4096  Mar 18 2019 Desktop
drwxr - xr - x   2  pi pi        4096  Mar 18 2019 Documents
drwxr - xr - x   2  pi pi        4096  Mar 18 2019 Downloads
- rw - r -- r --   1  pi pi     2472219  Mar 18 2019 firstpicture.jpg
drwxr - xr - x   2  pi pi        4096  Mar 18 2019 Music
drwxr - xr - x   2  pi pi        4096  Mar 18 2019 Pictures
--snip--

3. MySQL/MariaDB 数据库信息提取

3.1 MySQL/MariaDB 概述

MySQL 是数据库驱动的 Web 应用程序中最常用的数据库。在 Web 2.0 时代,几乎每个网站都由数据库驱动,MySQL/MariaDB 存储着大部分网络数据。数据库是黑客的目标,因为其中包含用户的关键信息和信用卡号等机密信息。MySQL 和 MariaDB 是开源的,遵循通用公共许可证(GPL),几乎所有 Linux 发行版都预装了其中至少一个。许多流行的网站和内容管理系统(如 WordPress、Facebook、Joomla 等)都使用 MySQL。

3.2 MySQL 的发展历程

MySQL 于 1995 年由瑞典的 MySQL AB 开发,2008 年被 Sun Microsystems 收购,2009 年 Sun Microsystems 又被 Oracle 收购,所以现在 MySQL 归 Oracle 所有。由于 Oracle 是全球最大的数据库软件发行商,开源社区担心 Oracle 对 MySQL 开源的承诺,因此出现了名为“Maria”的 MySQL 数据库软件分支,致力于保持该软件及其后续版本的开源性。

3.3 启动 MySQL 或 MariaDB

Kali 系统已预装 MySQL 或 MariaDB,若使用其他发行版,可从软件仓库或 https://www.mysql.com/downloads/ 直接下载安装。启动服务的命令如下:

kali >service mysql start

登录并认证,输入以下命令,提示输入密码时直接按回车键:

kali >mysql -u root -p
Enter password:
Welcome to MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.30 - 1 (Debian)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement
mysql >

默认配置下,MySQL 或 MariaDB 的 root 用户密码为空,这是个重大安全漏洞,首次登录后应设置密码。

3.4 SQL 常用命令

SQL 是用于与数据库交互的解释型编程语言,数据库通常是关系型数据库,数据存储在多个相互关联的表中,每个表有列和行。常见 SQL 命令如下:
| 命令 | 作用 |
| ---- | ---- |
| select | 用于检索数据 |
| union | 用于合并两个或多个 select 操作的结果 |
| insert | 用于添加新数据 |
| update | 用于修改现有数据 |
| delete | 用于删除数据 |

可为每个命令添加条件以更精确地操作,例如:

select user, password from customers where user = 'admin';

该命令将返回 customers 表中 user 值为 admin 的用户的 user password 字段的值。

3.5 设置 MySQL root 用户密码

3.5.1 查看现有用户
mysql >select user, host, password from mysql.user;
+----------------------------------------------------------------------------
| user                   | host                       | password
+----------------------------------------------------------------------------
|root                    |localhost                   |
--snip--

结果显示 root 用户未设置密码。

3.5.2 查看可用数据库
mysql >show databases;
+-------------------------------+
| Database                      |
+-------------------------------+
| information_schema            |
| mysql                         |
| performance_schema            |
+-------------------------------+
3 rows in set (0.23 sec)

MySQL 默认有三个数据库,其中 information_schema performance_schema 是管理数据库,这里使用非管理数据库 mysql

3.5.3 连接到 mysql 数据库并设置密码
mysql >use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql >update user set password = PASSWORD("hackers - arise") where user = 'root';

此命令将 root 用户的密码设置为 hackers - arise

3.6 访问远程数据库

访问本地 MySQL 数据库的语法如下:

kali >mysql -u <username> -p

若未指定主机名或 IP 地址,默认使用本地 MySQL 实例。访问远程数据库时,需提供托管 MySQL 数据库的系统的主机名或 IP 地址,例如:

kali >mysql -u root -p 192.168.1.101

此命令将连接到 192.168.1.101 上的 MySQL 实例并提示输入密码。登录成功后,可使用以下命令查看可用数据库:

mysql >show databases;
+-------------------------------+
| Database                      |
+-------------------------------+
| information schema            |
| mysql                         |
| creditcardnumbers             |
| performance_schema            |
+-------------------------------+
4 rows in set (0.26 sec)

假设发现了名为 creditcardnumbers 的数据库,连接到该数据库的命令如下:

mysql >use creditcardnumbers;
Database changed

3.7 查看数据库表信息

连接到 creditcardnumbers 数据库后,可使用以下命令查看数据库中的表:

mysql >show tables;
+-----------------------------------+
| Tables_in_creditcardnumbers       |
+-----------------------------------+
|  cardnumbers                      |
+-----------------------------------+
1 row in set (0.14 sec)

结果显示该数据库只有一个表 cardnumbers 。使用 describe 语句查看表结构:

mysql >describe cardnumbers;
+---------------+--------------+---------+-----------+---------+---------+
| Field         | Type         | Null    | Key       | Default | Extra   |
+---------------+--------------+---------+-----------+---------+---------+
| customers     | varchar(15)  | YES     |           | NULL    |         |
| address       | varchar(15)  | YES     |           | NULL    |         |
| city          | varchar(15)  | YES     |           | NULL    |         |
| state         | varchar(15)  | YES     |           | NULL    |         |
| cc            | int(12)      | NO      |           | 0       |         |
+---------------+--------------+---------+-----------+---------+---------+

通过以上步骤,我们完成了从网站搭建基础操作到树莓派监控系统搭建,再到 MySQL/MariaDB 数据库信息提取的一系列技术服务的使用与挖掘。这些技术在不同领域都有重要应用,同时也提醒我们要重视数据安全和系统安全。

3.8 数据提取与分析思路

在了解了数据库的表结构后,我们就可以根据需求从表中提取数据进行分析。例如,如果我们想要获取所有客户的信息,可以使用 select 命令:

mysql >select * from cardnumbers;

这个命令会返回 cardnumbers 表中的所有行和列的数据。如果我们只想要获取客户的姓名和信用卡号,可以使用以下命令:

mysql >select customers, cc from cardnumbers;

为了更精确地提取数据,我们可以添加条件。比如,我们只想要获取居住在某个城市的客户信息,可以使用 where 子句:

mysql >select * from cardnumbers where city = 'New York';

3.9 数据修改与删除操作

除了提取数据,我们还可以对数据库中的数据进行修改和删除操作。例如,如果某个客户的地址发生了变更,我们可以使用 update 命令来更新数据:

mysql >update cardnumbers set address = '123 New St' where customers = 'John Doe';

这个命令会将 customers John Doe 的客户的地址更新为 123 New St

如果我们想要删除某个客户的信息,可以使用 delete 命令:

mysql >delete from cardnumbers where customers = 'John Doe';

需要注意的是,删除操作是不可逆的,在执行之前一定要谨慎考虑。

3.10 数据库备份与恢复

为了防止数据丢失,我们需要定期对数据库进行备份。在 MySQL 中,可以使用 mysqldump 命令来备份数据库。例如,备份 creditcardnumbers 数据库的命令如下:

kali >mysqldump -u root -p creditcardnumbers > creditcardnumbers_backup.sql

这个命令会将 creditcardnumbers 数据库的所有数据和结构导出到 creditcardnumbers_backup.sql 文件中。

如果需要恢复数据库,可以使用以下命令:

kali >mysql -u root -p creditcardnumbers < creditcardnumbers_backup.sql

4. 技术应用总结与安全建议

4.1 技术应用总结

本文介绍了多个重要的技术应用,包括网站搭建基础操作、树莓派监控系统搭建以及 MySQL/MariaDB 数据库信息提取。这些技术在不同领域都有广泛的应用:
- 网站搭建 :可以用于创建个人博客、企业网站等,为信息传播和业务展示提供平台。
- 树莓派监控系统 :可用于家庭安防、环境监测等领域,实现远程监控和数据采集。
- 数据库信息提取 :对于数据分析、数据挖掘等工作至关重要,帮助企业和组织从海量数据中获取有价值的信息。

4.2 安全建议

在使用这些技术的过程中,安全问题不容忽视。以下是一些安全建议:
- 设置强密码 :无论是树莓派的登录密码还是 MySQL 的用户密码,都要设置足够复杂的密码,避免使用默认密码或简单密码。
- 定期更新系统和软件 :及时安装系统和软件的更新补丁,修复已知的安全漏洞。
- 限制访问权限 :对于树莓派和数据库,只允许授权的用户访问,避免非授权用户获取敏感信息。
- 数据加密 :对于敏感数据,如信用卡号等,要进行加密存储和传输,防止数据泄露。

4.3 操作流程总结

为了更清晰地展示整个技术应用的操作流程,以下是一个 mermaid 流程图:

graph LR
    A[网站搭建] --> B[添加 HTML 代码]
    B --> C[保存文件并覆盖]
    C --> D[访问网站查看效果]
    E[树莓派监控系统搭建] --> F[准备树莓派及配件]
    F --> G[安装 Raspbian 系统]
    G --> H[启用 SSH 服务]
    H --> I[安装相机模块]
    I --> J[获取树莓派 IP 地址]
    J --> K[通过 SSH 连接树莓派]
    K --> L[配置相机]
    L --> M[开始拍照监控]
    N[MySQL/MariaDB 数据库操作] --> O[启动服务并登录]
    O --> P[设置密码]
    P --> Q[访问远程数据库]
    Q --> R[查看数据库和表信息]
    R --> S[提取、修改和删除数据]
    S --> T[备份和恢复数据库]

通过以上的总结和建议,希望读者能够更好地应用这些技术,并保障系统和数据的安全。在实际操作中,要不断学习和探索,根据具体需求进行灵活调整和优化。

跟网型逆变器小干扰稳定性分析控制策略优化研究(Simulink仿真实现)内容概要:本文围绕跟网型逆变器的小干扰稳定性展开分析,重点研究其在电力系统中的动态响应特性及控制策略优化问题。通过构建基于Simulink的仿真模型,对逆变器在不同工况下的小信号稳定性进行建模分析,识别系统可能存在的振荡风险,并提出相应的控制优化方法以提升系统稳定性和动态性能。研究内容涵盖数学建模、稳定性判据分析、控制器设计参数优化,并结合仿真验证所提策略的有效性,为新能源并网系统的稳定运行提供理论支持和技术参考。; 适合人群:具备电力电子、自动控制或电力系统相关背景,熟悉Matlab/Simulink仿真工具,从事新能源并网、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 分析跟网型逆变器在弱电网条件下的小干扰稳定性问题;② 设计并优化逆变器外环内环控制器以提升系统阻尼特性;③ 利用Simulink搭建仿真模型验证理论分析控制策略的有效性;④ 支持科研论文撰写、课题研究或工程项目中的稳定性评估改进。; 阅读建议:建议读者结合文中提供的Simulink仿真模型,深入理解状态空间建模、特征值分析及控制器设计过程,重点关注控制参数变化对系统极点分布的影响,并通过动手仿真加深对小干扰稳定性机理的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值