《Python网络安全项目实战》

《Python网络安全项目实战》

  • 项目1 Python 环境安装
    • 任务1.1 Windows上安装Python
    • 任务1.2 Ubuntu环境下安装Python
  • 项目2 Python基础练习
    • 任务2.1 使用数据类型
    • 任务2.2 使用组合数据类型
    • 任务2.3 使用控制结构
    • 任务2.4 使用函数
    • 任务2.5 使用模块
  • 项目3 处理文件中的数据
    • 任务3.1 读文件
    • 任务3.2 写文件
    • 任务3.3 处理文件数据
  • 项目4 编写网络扫描程序
    • 任务4.1 扫描内网有效IP地址
    • 任务4.2 编写端口扫描工具
  • 项目5 编写网站扫描程序
    • 任务5.1 暴力破解网站目录和文件位置
    • 任务5.2 制作网页JPG爬虫
  • 项目6 编写密码工具程序
    • 任务6.1 猜数字游戏
    • 任务6.2 编写密码工具程序
  • 项目7 编写Windows键盘和屏幕监控程序
    • 任务7.1 编写键盘记录软件
    • 任务7.2 屏幕截取快照

项目1 Python 环境安装

Python是一种面向对象的解释性语言,简单、易学、免费、开源,可以在程序开发期节省相当多的时间。阅读一个良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题而不是去搞明白语言本身。 2017年7月20日,IEEE发布2017年编程语言排行榜:Python高居首位。
项目目标:
 熟悉Windows下Python开发环境的安装;
 熟悉Ubuntu下Python开发环境的安装。

任务1.1 Windows上安装Python

任务描述

公司接到一个跨平台项目需要在Windows和Ubuntu两种操作系统环境下进行Python编程和运行。项目经理布置任务,需要我们小组在Windows系统环境下进行Python编程环境的搭建。请大家和我一起共同完成这个任务。
任务分析
所有版本的windows、Linux、Mac OS都有相应的Python版本支持,本次任务是在Windows10系统中下载、安装和使用Python3.6.1。
Python对硬件配置的要求,就是相应操作系统对硬件的最低要求。
安装Python开发环境,首先需要进行Windows系统的安装,然后去Python官方网站下载Python安装包,并且进行Python的安装。假定Windows 已经安装好,我们现在去Python官方网站下载Python并进行安装。
任务实施
进入Python的官方下载页面https://www.python.org/downloads/,如图1-1-1所示。

在这里插入图片描述
图1-1-1 Python官方网站下载页面
在这个页面上显示了两个主要版本的下载按钮,Python3.6.1是最新的发布的版本。因为比较新,所以Python3.6.1学习资料和例程会比较少,Python2.7.13是一个库文件和参考资料比较容易获得的常用版本,但是因为Python3.6.1具有新的功能和特性,代表了未来的方向所以我们还是选择新的版本。
由于Python在不同操作系统都有很多不同版本与之对应,我们在这里就不一一介绍了。但是有一点应该清楚,就是使用不同的操作系统,就必须下载与操作系统相对应的Python版本,在Windows中如果使用的32位的操作系统,就必须下载32位的Python版本,若使用的是64位的操作系统,那么就必须下载64位的Python版本。
最新版本的Python 3(Python 3.6.1)的二进制文件可从Python官方网站的下载页面: http://www.python.org/downloads/windows/ 下载,可以使用以下不同的安装选项。
这里我们选择下载Python3.6.1,进入下载页面选择windows x86-64 executable installer 进行下载并进行安装如下图1-1-2所示。
在这里插入图片描述
图1-1-2 Python官方网站下载选择页面
下载Windows x86-64 executable installer安装文件。在弹出的下载页面,选择保存路径,并点击保存文件按钮,下载完成后双击可执行文件python-3.6.1-amd64.exe。
【步骤1】:双击python-3.6.1-amd64.exe 可执行文件,显示安装选项,窗口下方的复选框:①Install lanuncher for all users(recommended);(使系统上的所有用户都可以使用python)②AddPython 3.6 to PATH;(添加python到系统的环境变量中)两个全部选中,并选择“Cusomize installation”定制安装如图1-1-3所示。
在这里插入图片描述
图1-1-3 Python安装参数选择
【步骤2】:在弹出的复选框中,我们选择安装文档,安装pip工具,可以通过pip下载第三方库文件,安装IDLE开发环境,安装python的测试套件,让所有用户都可以使用python,使用上一个版本python的全局路径,全部选中并点击“Next”下一步按钮,如图1-1-4所示。
在这里插入图片描述

图1-1-4 Python安装组件选择
【步骤3】:在弹出的高级选项中,我们选择前5个,前5个分别是,第一个让所有用户都安装,第二个是见文件跟python关联,第三个是为已经安装的应用程序创建快捷方式,第四个是将python添加到系统环境变量中,第五个是预编译标准库,安装路径选择安装在 D:\Program Files\Python36,并单击“Install”按钮,如图1-1-5所示
在这里插入图片描述

图1-1-5 Python安装高级选项
【步骤4】:开始安装,并等待安装完成,如图1-1-6所示。
在这里插入图片描述

图1-1-6 Python安装进度显示
【步骤5】:安装完成后选择关闭(Close),如图1-1-7所示。
在这里插入图片描述

图1-1-7 Python安装成功完成
由于我们在安装的第一步中,已经选择了“Add Python 3.6 to PATH”了,所以这里不需要单独去设置环境变量了。如果没有选择此项,则应该需要将Python 3.6添加到环境变量。假设您已经按照上面的步骤来安装完成,到此,在windows系统上安装Python 3.6.1已经完成了。
【步骤6】:在windows开始菜单中找到并打开Python IDEL,如图1-1-8所示。
在这里插入图片描述

图1-1-8 Python shell
【步骤7】:输入print(‘Hello world!’) 并按下Enter键,恭喜你,Python已经开始工作了,并且已经完成了所有编程语言学习的第一步:输出“Hello world!”,如图1-1-9所示。
在这里插入图片描述

图1-1-9 Hello world
【步骤8】:我们打开Python IDEL帮助系统中的Turtle Demo,如图1-1-10所示。
在这里插入图片描述

图1-1-10 教学示例程序
【步骤9】:可以看到这是一个编程示例教程,里面包含了多个绘图程序,如图1-1-11所示。
在这里插入图片描述

图1-1-11 example
【步骤10】:点开Examples菜单可以看到里面包含了多个绘图程序,如图1-1-12所示。
在这里插入图片描述

图1-1-12 example菜单
【步骤11】:点开第一个示例程序bytedesign,程序绘制图案,位图,如图1-1-13所示。
在这里插入图片描述

图1-1-13 程序绘制图案
【步骤12】:第二个示例程序chaos,噪声演示程序,如图1-1-14所示。
在这里插入图片描述

图1-1-14 噪声演示程序
【步骤14】:第三个示例程序Clock,时钟程序,如图1-1-15所示。
在这里插入图片描述

图1-1-15 时钟程序
相关知识
对于Windows系统,存在易于使用的图形界面安装包,只需要按照提示一步一步完成安装过程。安装工具包可以从www.python.org/downlaod处获取,该网站为Windows系统提供了3个独立的安装系统,一般需要下载的是普通的“Windows X86 MSI Installer”,除非确认自己的机器使用的是AMD64或Itanium处理器,这种情况需要下载处理器特定的安装程序。下载安装程序后,只需要运行并按提示进行操作,就可以安装好Python3了。
任务评价
请学生按照下表中的要求完成本次评价,并在物理机桌面上以自己的两位学号+姓名的形式命名文件夹,保存所有截图文件,文件保存为jpeg或 png格式。
在这里插入图片描述
任务拓展
在Windows32位系统环境下安装Python3.6.0。
操作系统版本不同,相应下载的Python安装文件也会有所不同,特别是操作系统是32位的还是64位的要特别注意。
1、进入Python的官方下载页面,如图1-1-16所示。
https://www.python.org/downloads/
在这里插入图片描述

图1-1-16 Python的官方下载页面
在这个页面上显示了两个主要版本的下载按钮,Python3.6.1是最新的发布的版本,因为比较新所以学习资料和例程会比较少,Python2.7.13是一个库文件和参考资料比较容易获得的常用版本。
2、这里我们选择下载稳定版本Python3.6.0进入下载页面并进行安装,如图1-1-17所示。
在这里插入图片描述

图1-1-17 Python版本选择
3、选择windows x86 executable installer 进行下载,如图1-1-18所示。
https://www.python.org/downloads/release/python-360/
在这里插入图片描述

图1-1-18 Python安装文件
4、在下载页面,选择保存路径,并点击保存文件按钮,如图1-1-19所示。
在这里插入图片描述

图1-1-19 Python下载保存
5、下载并安装完毕,打开Python IDEL,如图1-1-20所示。
在这里插入图片描述

图1-1-20 Python shell
6、输入print(‘Hello world!’) 并回车,恭喜你Python已经开始工作了,并且已经完成了所有编程语言学习的第一步:输出“Hello world!”如图1-1-21所示。
在这里插入图片描述

图1-1-21 Hello world

任务1.2 Ubuntu环境下安装Python

任务描述

公司接到一个跨平台项目需要在Windows和Ubuntu两种操作系统环境下进行Python编程和运行。项目经理布置任务,需要我们小组在Ubuntu系统环境下进行Python编程环境的搭建。请大家和我一起共同完成这个任务。
任务分析
所有版本的windows、Linux、Mac OS都有相应的Python版本支持,本次任务是在ubuntu12.4LTS中下载安装和使用python3.2.3。
Python对硬件配置的要求,就是相应操作系统对硬件的最低要求。
Ubuntu系统当中有软件中心,在软件中心里的开发工具中我们可以找到Python,我们选择Python3.2进行安装。安装Python开发环境,首先需要进行操作系统的安装,然后去下载Python安装包,并且进行Python的安装。假定操作系统已经安装好,我们现在去下载Python并进行安装。
任务实施
【步骤1】:在Ubuntu桌面用鼠标点击打开Ubuntu软件中心,如图1-2-1所示。
在这里插入图片描述

图1-2-1 Ubuntu桌面
【步骤2】:在软件中心窗口左侧菜单栏中点击开发工具,如图1-2-2所示。
在这里插入图片描述

图1-2-2 软件中心
【步骤3】:在Ubuntu软件中心开发工具窗口当中用鼠标点击Python语言,如图1-2-3所示。
在这里插入图片描述

图1-2-3 开发工具
【步骤4】:在Ubuntu软件中心开发工具Python语言窗口当中点击IDLE(使用Python3.2),如图1-2-4所示。
在这里插入图片描述

图1-2-4 IDLE(使用Python3.2)
【步骤5】:Python语言窗口中点击IDLE(使用Python3.2)右侧的安装按钮,如图1-2-4所示。
在这里插入图片描述

图1-2-5 IDLE安装按钮
【步骤6】:Python安装完毕以后,屏幕左侧出现了Python开发工具的图标,右侧的安装按钮就变成了卸载,如图1-2-6所示。
在这里插入图片描述

图1-2-6 IDLE安装完毕
【步骤7】:打开Python交互操作窗口,如图1-2-7所示。
在这里插入图片描述

图1-2-7 Python shell
【步骤8】:点击Python交互操作窗口最大化图标,输入print(‘Hello world!’)并回车,这时Python 已经开始工作,如图1-2-8所示。
在这里插入图片描述

图1-2-8 Hello world
相关知识
如果使用的是较新版本的系统,并经过了及时的更新,就应该已经安装了Python3。检查是否已经安装,可以在控制台中输入命令Python V(注意是大写的V),如果版本为3.X,就说明系统已经安装了Python3,不需要自己再安装了。
任务评价
请学生按照下表中的要求完成本次评价,并在物理机桌面上以自己的两位学号+姓名的形式命名文件夹,保存所有截图文件,文件保存为jpeg或 png格式。
在这里插入图片描述
任务拓展
在Ubuntu 16.04 安装python3.6 环境并设置为默认
【步骤1】:添加python3.6安装包,并且安装。
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
【步骤2】:修改系统默认python版本为3.6。
1 cd /user/bin
2 rm python
3 ln -s python3.6m python
【步骤3】:升级pip版本。
python pip install --upgrade pip
项目评价
在这里插入图片描述
未完待续。。。。。。点赞和收藏数量越多。。。。。。更新越快。。。。。

项目2 Python基础练习

Python是一门完整的编程语言;与 Shell 脚本或批处理文件相比,它为编写大型程序提供了更多的结构和支持。并且作为一门高级语言,它内置支持高级的数据结构类型,例如:灵活的列表和字典。Python 允许你将程序分割为不同的模块,以便在其他的 Python 程序中重用。Python 内置提供了大量的标准模块,你可以将其用作程序的基础,或者作为学习 Python 编程的示例。下面的网址含有大量的Python基础学习资料和操作指导,可以用来配合本项目的学习。
http://www.pythondoc.com/
http://www.runoob.com/python3/python3-tutorial.html
项目目标:
熟悉Python的关键要素:
 数据类型
 组合数据类型
 控制结构
 函数
 模块

任务2.1 使用数据类型

任务描述
公司接到一个项目需要使用Python进行编程,项目经理布置任务需要我们小组进行编程的准备并写出个例子程序。请大家和我一起熟悉python数据类型的使用,进行准备并使用Python编程。
任务分析
Python具有高级的内置数据类型,比如灵活的数字和字符串。由于python提供了更为通用的数据类型,Python 操作数据会更简单明了。
 输出
 输入
 数字
 字符串

任务2.2 使用组合数据类型

任务描述
公司接到一个项目需要使用Python进行编程,项目经理布置任务需要我们小组进行编程的准备并写出例子程序。请大家和我一起熟悉python组合数据类型的使用,进行准备并使用Python编程。
任务分析
组合数据类型
 列表
 元组
 集合
 字典

任务2.3 使用控制结构

任务描述
公司接到一个项目需要使用Python进行编程,项目经理布置任务需要我们小组进行编程的准备并写出一个例子程序。请大家和我一起熟悉python控制结构的使用,进行准备并使用Python编程。
任务分析
控制结构
If
while
for
try

任务2.4 使用函数

任务描述
公司接到一个项目需要使用Python进行编程,项目经理布置任务需要我们小组进行编程的准备并写出一个例子程序。请大家和我一起熟悉python函数的使用,进行准备并使用Python编程。
任务分析
python函数的使用包括以下几个方面
 函数的定义
 函数参数的传递
 函数的Lambda形式
 文档字符串
 函数的注解

任务2.5 使用模块

任务描述
公司接到一个项目需要使用Python进行编程,项目经理布置任务需要我们小组进行编程的准备并写出一个例子程序。请大家和我一起熟悉python模块的使用,进行准备并使用Python编程。
任务分析
python模块的使用包括以下几个方面:
 模块—可重用的Python代码块
 标准模块—纳入Python标准的Python可重用代码块
 包—系列相关的可重用代码块的容身之地

项目3 处理文件中的数据

能够使用编程语言对文件进行操作,也是编程中最基本的技能,熟练掌握好python中处理文件的方法,带来的不仅仅是编程语言的提升,更是快捷的处理文件的能力。
项目目标:
 熟练掌握python编程读取文件的方法;
 熟练掌握python编程写入文件的方法;
 能够正确替换文件中的数据。

任务3.1 读文件

任务描述

我们在平常经常会创建文件,文件夹,也会打开和删除文件和文件夹,掌握Python编程中对文件的操作,包括文件和文件夹的读写、修改、移动、复制、删除、重命名等。
任务分析
我们平常用鼠标键盘在对文件进行操作时,主要是四步,一是先找到文件,二是打开文件,三是读文件中的内容,四是关闭文件。而在Python中,对文件和文件夹进行操作也是同一个道理,对文件和文件夹的操作需要使用到os及shutil两个模块,所以需要对文件进行操作,要引用os模块,用os模块中的open()函数来进行文件的控制,用print()函数来将接收到的内容打印到屏幕上,再将用open()函数打开的文件用close()函数关闭。

任务3.2 写文件

任务描述

除了需要读取文件之外,我们也会需要用来创建文件,并向文件中写入内容。
任务分析
写文件同样是必须得先有个文件路径,用‘w’写模式,如果文件存在,是先将文件的内容清空,然后再对文件写入内容,如果文件不存在,则创建一个文件

任务3.3 处理文件数据

任务描述

在对文件的操作中,除了对文件的读取,文件的写入,有时还需要对文件中的内容进行修改操作。
任务分析
对文件中的内容进行修改, 首先是读取到这个文件的内容,将全部内容获取到之后,在内容中进行查找,查找到需要修改的内容,将内容进行替换或者增加。定义一个变量接收读取文件的内容,而接收到的读取内容则都是字符串,实际就是在对字符串进行操作,之后对操作完成的字符串再写入原先的文件当中。

项目4 编写网络扫描程序

许多扫描工具是由Python编写的。本项目中我们将用python写一个IP扫描工具,用来发现内网在线的IP以及开放的端口。

项目目标:
 能够正确获取系统的类型,是Windows还是Linux;
 能够正确获得本机IP的地址;
 能够正确得到IP地址的在线和端口开放情况。

任务4.1 扫描内网有效IP地址

任务描述

在对局域网进行管理时,为了知道网段内的IP在线情况,知道网段IP地址的使用情况,我们可以对网段的所有IP地址进行一次扫描。
任务分析
判断一个IP是否在线,最简单的方法就是去ping这个IP,通过ping返回的信息来判断IP是否在线,在Windows中ping命令默认发送4个数据包,而Linux中默认是一直发送数据,但是这个值也是可以更改的,Windows中只需要加上-n参数后面跟上一个数字,就是发送多少个数据包,而Linux中为-c,为了统一发送数据包的个数,需要先判断系统为Linux还是Windows。
确定好系统之后就是本网段的所有网址,对于一个C类内网网段,,一共有256个内网地址,从0到255,通过获取自己的IP地址,再对IP地址进行编辑,就可以获得内网所有IP,再通过ping命令去ping所有的IP,再通过返回信息就可以得到内网所有有效的IP地址。
使用python编程进行内网的IP扫描,那么需要用到网络相关的模块,在扫描内网前,先要知道自己的IP地址,而自己的IP地址是本地系统上的信息,所以还需要用到os模块,为了一次ping多个IP同时进行,还需要treading模块。

任务4.2 编写端口扫描工具

任务描述

使用python对指定端口进行扫描。
任务分析
在对服务器的探测中,能否正确的判断端口的开放是十分重要的,一个服务器开放的端口越多,就代表着打开的窗户越多,而这些打开的窗户,难免就会存在一些问题,那么我们为了能够更好安全性,就必须了解一个服务器开放了哪些端口,利用python,就可以很好的实现端口的发现。
在python编程中,可以使用socket模块中的connect()来与指定IP的指定端口建立连接,连接建立成功则说明IP的端口是开放状态,若长时间没能成功建立连接,我们就认为这个端口是关闭的。
端口一共有65535个,周知端口为0-1023,注册端口为1024-49151,动态端口为49152-65535,而常用的服务一般都在0-1023之间,除了这个1024个端口外,还有一些常见端口,如1433,3389,4899等。
本任务要求在192.168.1网段对指定的IP地址区间进行扫描,扫描每一个IP地址的端口,并将扫描结果保存在一个文件中。
IP地址的生成。
端口号的生成。
扫描端口是否开放。

项目5 编写网站扫描程序

WEB网站安全渗透测试过程中需要进行目录扫描和网站爬行,网上可以找到一些不错的工具软件,但是对于别人写的工具是否安全可靠有待商榷,所以我们如果能够写出自己的网站扫描和爬行程序,对于我们的工作会有极大的帮助。
使用Python的标准网络模块编写网络工具软件非常方便,这里我们使用Python完成网站扫描程序的编写。
项目目标:
 熟悉使用Python进行网站扫描程序的编写。

任务5.1 暴力破解网站目录和文件位置

任务描述

当我们通过sql注入等方式得到网站的数据库时,由于后台一般是隐藏起来的,所以我们想要登陆后台的话,还是要手工或者以暴力破解的方式找到后台。
任务分析
对一个站点目录和文件进行扫描,那么就需要用Python3环境下requests模块。扫描目录主要是对网站地址发出请求,若网站存在这个地址则会返回状态码200,如果不存在则会返回404,如果是没有权限访问,或者是其他一些情况,都会有相应的状态码,我们主要是需要访问成功的状态码和地址就可以了。
Requests 是使用 Apache2 Licensed 许可证的 HTTP 库, 支持 HTTP 连接保持和连接池,支持使用cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。本次任务要扫描的WWW服务器就搭建在本机上,我们在本机搭建了一个Discuz网站,计划扫描的网址是:http://127.0.0.1/Discuz/upload。

任务5.2 制作网页JPG爬虫

任务描述

在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。
常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。
这里可以通过python来实现这样一个简单的爬虫功能,把我们想要的图片爬取并下载到本地。下面就看看如何使用python来实现这样一个功能。
任务分析
利用Python抓取网络图片的步骤:

  1. 根据给定的网址获取网页源代码。
  2. 利用正则表达式把源代码中的图片地址过滤出来。
  3. 根据过滤出来的图片地址下载网络图片。

项目6 编写密码工具程序

在密码的使用过程中,我们给出一个密码经常是弱密码,这样的密码有一定的规律可以比较容易记忆。但是使用弱密码,很容易就可以对你的密码进行破解。所以我们要编写一个密码工具程序,对给出的密码进行测试,确定这个密码是不是弱密码,是不是可以使用。并且我们给出的程序功能,需要自动生成强密码,并对密码进行测试确定不是弱密码。
项目目标:
 熟悉Python的关键要素;
 熟练使用Python语言对数据安全、系统安全编程。

任务6.1 猜数字游戏

任务描述

项目经理要求我们编写猜数字游戏,从而模拟纯数字密码的生成与猜测。
任务分析

  1. 编写基本的猜数字程序
    (1)编写一个程序,用来进行输出。
    (2)使用模块random中的函数randint()生成一个随机整数。
    (3)使用Python内置函数input()提示用户输入一个整数。
    (4)对比两个数字,输出对比结果。
  2. 加入新功能更新版本
    (1)为猜数字程序加入连续猜数的功能。
    (2)测试并修改程序。
    (3)给程序增加注释。

任务6.2 编写密码工具程序

任务描述

使用python编写一个密码工具程序
任务分析

  1. 原形设计:
    • 密码由大小写英文字母、数字、特殊符号组成,
    • 将需要的字母、数字和符号放入列表,
    • 使用random.sample()产生随机序列,
    • 将选取的字符加入一个新的列表,
    • 把生成的新列表中的字符连接成字符串作为密码
  2. 增加功能:
    • 根据输入控制密码位数,
    • 测试弱密码功能
    • 菜单功能

项目7 编写Windows键盘和屏幕监控程序

在远程和本地监控Windows系统下用户操作行为的过程中,经常需要记录计算机键盘的输入和屏幕的输出。虽然网上可以找到类似的程序,但是自己写的程序更灵活并且安全可靠。
项目目标:
 熟悉使用Python进行键盘记录和屏幕记录编程。

任务7.1 编写键盘记录软件

任务描述
键盘记录是最古老的黑客技术之一,至今仍在不同的层面广泛使用,攻击者使用它是因为它能有效的捕获所需的敏感信息,如账号密码和聊天记录等。强大的第三方Python库PyHook能够让我们很容易的捕获键盘事件。他利用了原生的Windows函数SetWindowsHookEx,这个函数允许我们安装自定义的钩子函数。当发生特殊的windows事件时,会调用这个钩子函数。通过注册键盘事件的钩子函数就能捕获目标机器触发的所有按键消息。
任务分析

这个工具会自动检查目标是否切换窗口,从而捕捉对应的窗口录入信息,在Python程序中输出结果。
利用Python捕获键盘信息的步骤:

  1. 加载相关模块。
  2. 分别构造进程和判断是否切换窗口的过程函数。
  3. 创建和注册钩子函数管理器和相关设置。
  4. 测试验证输出结果。

任务7.2 屏幕截取快照

任务描述

大部分渗透测试框架和恶意软件都具有截取远程目标屏幕的能力,他能捕获打开的图片、播放的视频帧和其他一些敏感信息,这些信息一般能由数据抓包或键盘记录来获取。
任务分析
本章使用第三方的PyWin32库,通过调用本地的Windows API的方式实现截屏功能。主要利用Windows图形设备借口(GUI)获得截取屏幕时必须的参数,如屏幕大小,分辨率等。

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

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

相关文章

雷赛L6N伺服驱动器基本参数设置——EtherCAT 总线型

1、指令脉冲设置 PA0.08代表电机转一圈,所需要的指令脉冲数,该值驱动器默认值为0,该值更改后断电重启后生效。 2、编码器反馈脉冲设置 PA0.11,代表编码器输出每转脉冲数,实际反馈的脉冲数做了4倍频处理,设…

MySql数据库中数据类型

本篇将介绍在 MySql 中的所有数据类型,其中主要分为四类:数值类型、文本和二进制类型、时间日期、String 类型。如下(图片来源:MySQL数据库): 目录如下: 目录 数值类型 1. 整数类型 2. …

【论文笔记】MLSLT: Towards Multilingual Sign Language Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: MLSLT: Towards Multiling…

系统架构设计师教程 第2章 2.6 计算机语言 笔记

2.6计算机语言 ★★★★☆ 2.6.1计算机语言的组成 计算机语言 (Computer Language) 是指用于人与计算机之间交流的一种语言,是人与计算机之间传递信息的媒介。 计算机语言主要由一套指令组成,指令一般包括表达式、流程控制和集合三大部分内容。 表达…

基于JSP的高校食堂食材选购管理系统【附源码】

基于JSP的高校食堂食材选购管理系统 效果如下: 系统首页界面 用户登录页面 食材信息页面 论坛交流界面 管理员登录界面 管理员功能主界面 食材信息管理界面 订单配送管理界面 用户功能主界面 商家功能主界面 司机功能主界面 研究背景 近年来互联网技术的发展使得…

新王Claude 3.5的6大应用场景

Anthropic AI深夜发布了备受期待的Claude 3.5系列更新,包括了全新升级的Claude 3.5 Sonnet和首发的Claude 3.5 Haiku。 Claude 3.5 Sonnet能够理解细微的指令和上下文,识别并纠正自身错误,还能从复杂数据中生成深入的分析和洞察。 结合最先进…

java项目之在线考试系统设计与实现(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的在线考试系统设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于JavaWeb技术…

PostgreSQL C++客户端API libpqxx的使用

PostgreSQL是一个先进的、开源的、免费的、功能强大的关系型数据库,缩写版是postgres。它使用一种客户端/服务器(C/S)的模型。一次PostgreSQL会话由下列相关的进程(程序)组成: (1).一个服务器进程,它管理数据库文件、接受来自客户端应用与数据…

C++研发笔记8——C语言程序设计初阶学习笔记6

在第一部分——课前准备的学习中,我就提到了学习C语言的过程中,练习是必不可少的环节,所以本篇笔记我们来进行记录我们学习《C语言程序设计初阶》阶段的第一篇练习文章。 题目一 下面哪个不是C语言内置的数据类型: A.char B.d…

mysql5.7.44 arm 源码编译安装

一、:下载源码:mysql官网:MySQL :: MySQL Downloads #####下载mysql安装包 : 网址:https://www.mysql.com/ 可在页面下载后上传或直接下载。 官网地址首页,拉到最底部,找到社区版本下载&#xf…

财务域——财务信息化

摘要 博文探讨了企业财务信息化相关内容。首先阐述了企业以创造价值为目标,涉及业务、管理和信息三大循环。业务循环涵盖获取 / 支付、转换、销售 / 收款等环节;管理循环包含计划、执行、控制与决策;信息循环强调数据的收集、处理、存储与输…

【Linux | IO多路复用】epoll的底层原理详解

epoll 是一种高效的 I/O 多路复用机制,广泛用于 Linux 系统中,用于处理大量并发的文件描述符。它比传统的 select 和 poll 方法具有更好的性能,特别是在处理大量并发连接时。 1.epoll的设计思路 epoll是在select 出现 N 多年后才被发明的&a…

week08 zookeeper多种安装与pandas数据变换操作-new

课程1-hadoop-Zookeeper安装 Ububtu18.04安装Zookeeper3.7.1 环境与版本 这里采用的ubuntu18.04环境的基本配置为: hostname 为master 用户名为hadoop 静态IP为 192.168.100.3 网关为 192.168.100.2 防火墙已经关闭 /etc/hosts已经配置全版本下载地址&#xff1…

软考(网工)——网络安全

文章目录 🕐网络安全基础1️⃣网络安全威胁类型2️⃣网络攻击类型 🕑现代加密技术1️⃣私钥密码/对称密码体制2️⃣对称加密算法总结3️⃣公钥密码/非对称密码4️⃣混合密码5️⃣国产加密算法 - SM 系列6️⃣认证7️⃣基于公钥的认证 🕒Hash …

MYSQL全局锁、标级锁、行级锁

一、全局锁 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新…

好/坏代码实例解读:图文并茂说明

我曾经在某处读到过一句话,基本上有以下内容: “现代世界许多人的生活都依赖于软件,例如控制大型商用客机飞行系统的软件,但软件开发领域大多不受监管。任何人都可以成为自学成才的软件开发人员,并且没有像其他高风险…

python爬虫——Selenium的基本使用

目录 一、Selenium的介绍 二、环境准备 1.安装Selenium 2.安装WebDriver 三、元素定位 1.常用定位元素的方法 2. 通过指定方式定位元素 四、窗口操作 1.最大化浏览器窗口 2.设置浏览器窗口大小 3.切换窗口或标签页 切换回主窗口 4. 关闭窗口 关闭当前窗口 关闭所…

Mkdm的51单片机学习日记:实时时钟DS1302

15.2 SPI时序初步认识 单片机常用的通信协议有三种:SPI,UART,I2C SPI:Serial Peripheral Interface 串行外围设备接口,是一种全双工,同步的通信总线 常用于单片机与EEPROM,FLASH,…

如何使用JMeter进行性能测试的保姆级教程

性能测试是确保网站在用户访问高峰时保持稳定和快速响应的关键环节。作为初学者,选择合适的工具尤为重要。JMeter 是一个强大的开源性能测试工具,可以帮助我们轻松模拟多用户场景,测试网站的稳定性与性能。本教程将引导你通过一个简单的登录场…

w~自动驾驶合集6

我自己的原文哦~ https://blog.51cto.com/whaosoft/12286744 #自动驾驶的技术发展路线 端到端自动驾驶 Recent Advancements in End-to-End Autonomous Driving using Deep Learning: A SurveyEnd-to-end Autonomous Driving: Challenges and Frontiers 在线高精地图 HDMa…