使用 Python 3 在图片上绘制可见水印 (1.0 版)

运行环境:Ubuntu Ubuntu 18.04.1 LTS

代码如下:

import PIL
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

# 设置所使用的字体和字体大小
font1 = ImageFont.truetype("UbuntuMono-B.ttf", 100)

# 打开图片
imageFile = "1.jpeg"
im1 = Image.open(imageFile)

# 绘图实例化
draw1 = ImageDraw.Draw(im1)

# 设置水印的位置,内容,颜色,字体
draw1.text((10, 10), "www.zhaokaifeng.com", (255, 0, 0), font=font1)

# 将生成的图片另存
im1.save("11.jpg")

 

本项目 GitHub 地址:HERE

在 VirtualBox 中为 BlackArch Linux 设置共享文件夹

操作环境

虚拟化软件:VirtualBox 5.2.22 r126460 (Qt5.6.2)

物理机操作系统:Windows 10 家庭版 64位

虚拟机操作系统:blackarch-linux-2018.08.01

操作过程

在物理机上新建一个文件夹,打开”设备/共享文件夹”,添加一个共享文件夹并设置为“自动挂载”,如图:

图 1 添加共享文件夹
图 1 添加共享文件夹

之后重启虚拟机系统。

在虚拟机系统的/media/sf_share 目录下可以看到共享文件夹中的内容:

图 2 在虚拟机系统中查看共享文件夹中的文件
图 2 在虚拟机系统中查看共享文件夹中的文件

解决 BlackArch 联网报错:Could not connect to wicd’s D-bus interface. Check the wicd log for error message.

操作环境

虚拟化软件:VirtualBox 5.2.22 r126460 (Qt5.6.2)

物理机操作系统:Windows 10 家庭版 64位

虚拟机操作系统:blackarch-linux-2018.08.01

虚拟机联网方式:桥接

报错产生的过程

启动 BlackArch 之后,右键”network/wicd-gtk”, 如图:

图 1 启动 wicd-gtk
图 1 启动 wicd-gtk

随后出现弹窗提示:

图 2 无法连接到 wicd 的 D-Bus 接口
图 2 无法连接到 wicd 的 D-Bus 接口

上述报错的文字内容即是:

Could not connect to wicd’s D-bus interface. Check the wicd log for error message.

问题解决过程

ip a  命令查看网卡和网络连接情况:

图 3 网卡 enp0s3 未获取到 IP 地址
图 3 网卡 enp0s3 未获取到 IP 地址

运行 dhcpcd enp0s3  命令自动获取 IP 地址:

图 4 自动获取 IP 地址
图 4 自动获取 IP 地址

之后,使用 ip a 命令即可看到系统已经获取到了 IP 地址等网络配置信息:

图 5 成功获取 IP 地址
图 5 成功获取 IP 地址

ping 测试发现可以正常连接互联网:

图 6 ping www.zhaokaifeng.com
图 6 ping www.zhaokaifeng.com

GNS3 2.1.11 导入 c7200 路由器的过程(图文)

操作环境

GNS3版本:GNS3 2.1.11

c7200文件名称:c7200-adventerprisek9-mz.124-24.T.BIN

操作过程

依次点击“Edit/Preferences”:

图 0 点击preferences参数选择
图 0 点击preferences参数选择

选中”IOS routers”, 点击”New”:

图 1 New 一个 IOS router
图 1 New 一个 IOS router

“c7200-adventerprisek9-mz.124-24.T.BIN”这个文件的存放路径中如果有中文,会出现如下提示:

图2 IOS image 文件路径中只能包含ascii(英文)的字符
图2 IOS image 文件路径中只能包含ascii(英文)的字符

点击OK之后会询问我们是否将 IOS 的 image 文件拷贝至系统默认的路径下,这时点击”Yes”即可:

图 3 拷贝image文件至默认的目录
图 3 拷贝image文件至默认的目录

按照上面的步骤(将 image 文件放在包含中文的路径下并同意系统将其拷贝至默认的路径)。当然,我们也可以将 image 文件放在一个不包含中文的路径下,操作完成后,点击”Next”:

图 4 点击 Next
图 4 点击 Next

这一步需要我们指定名称和平台,由于我们导入的是 c7200 路由器而且系统已经帮助我们自动选择了 c7200 的平台,所以在这里使用默认即可,点击”Next”:

图 5 指定名称和平台
图 5 指定名称和平台

这一步让我们为路由器指定可使用的物理内存的上限,默认是 512MiB, 但是如果不准备使用该路由器进行大型实验而且物理内存不是很大的话,可以适当减小这个数值,这里我选择指定为 256MiB:

图 6 设置内存上限
图 6 设置内存上限

这一步让我们设置将默认插入到每台新的路由器实例中的网络适配器。

图 7 配置网络适配器
图 7 配置网络适配器

根据需要,我的网络适配器模块的配置如下:

图 8 网络适配器配置完成
图 8 网络适配器配置完成

这一步我们需要计算一下Idle-PC值(关于Idle-PC值的作用可查看文末附1),点击”Idle-PC finder”开始计算。计算完成后系统会自动填入,最后点击”Finish”即可。

图 9 正在计算Idle-PC
图 9 正在计算Idle-PC
图 10 Idle-PC值计算完成
图 10 Idle-PC值计算完成

应用配置:

图 11 应用配置
图 11 应用配置

测试。通过”File/New blank project”新建一个空白项目,拖出一台 c7200, 检测其是否能正常开机,:

图 12 c7200成功开机
图 12 c7200成功开机

附1:Idle-PC值的作用

Idle-PC 是 Dynamips 思科路由器模拟器的一项功能。在没有配置 Idle-PC 的情况下,我们很容易就会看到在模拟器上开启思科路由器后,CPU 占用率达到 100%. 通过 Idle-PC, Dynamips 可以知道虚拟出来的路由器什么时候是空闲的,什么时候在做有用的工作,这样的话那些处于“休眠”状态的路由器就可以极大的被减少 CPU 资源的消耗,从而使整个虚拟系统的 CPU 资源占用率降低。

荒原之梦网站 LOGO 1.0 版设计灵感与实现过程

设计灵感

该图标设计灵感产生于2018年10月15日晚上且于当晚完成制作并正式上线,这是荒原之梦第一款正式的网站图标。

主要灵感来源于2进制电子计算机的机器码和荒原之梦网站自建站之始就确立的“方正,灵动”的主题文化以及继往开来,创造新知的坚定信念。

在LOGO 1.0 版中可以看到一个抽象的英文字母”Z”和一个汉字“工”。其中英文字母”Z”源于荒原之梦网站域名”zhaokaifeng.com”的第一个字母”Z”. 而汉字“工”则如同铁路轨道中钢轨的横截面,代表着一种风雨无阻,勇于进取的精神,灵感来源于我家门前的陇海铁路。

图 0 LOGO 1.0
图 0 LOGO 1.0
继续阅读“荒原之梦网站 LOGO 1.0 版设计灵感与实现过程”

设置Windows防火墙以允许被ICMP Ping(两种配置方式)

背景与目的

Ping测试常被用于测试网络中两台主机之间是否互相连通,但是,大多数Windows操作系统(包括桌面版和服务器版)默认都是只允许ping其他主机而不允许其他主机ping自己。下面演示如何在Windows系统上开启基于ICMPv4协议的Ping.

继续阅读“设置Windows防火墙以允许被ICMP Ping(两种配置方式)”

荒原之梦IT周报第二十八期(14 October, 2018)

摘要:Chrome 69 will keep Google Cookies when you tell it to delete all cookies;Facebook公布调查进展 证实2900万用户信息遭黑客窃取;用 HTML 标记的古怪代码注释;新手应该如何学习 PHP 语言;Git 原理入门;俄罗斯飞船发射失败,幸好两名宇航员没事…

继续阅读“荒原之梦IT周报第二十八期(14 October, 2018)”

荒原之梦IT周报第二十七期(7 October, 2018)

摘要:脸书再次遭数据泄露 近5000万用户账户可能被入侵;Tesla内部服务器受感染 被用于加密货币挖矿;WinWorld:大型的废弃操作系统、软件、游戏的博物馆;Linux各发行版本及其软件包管理方法;莫言香港公开大学演讲;危险的“黎曼猜想”…

继续阅读“荒原之梦IT周报第二十七期(7 October, 2018)”

荒原之梦IT周报第二十六期(30 September, 2018)

摘要

  • ThreatList: Hackers Turn to Python as Attack Coding Language of Choice
  • 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件
  • 警惕:大量知名软件安装包被植入“安装幽灵”挖矿病毒
  • Hacker vows to delete Mark Zuckerberg’s Facebook account; reports it for bounty instead
  • NESSUS的高级扫描方法
  • FreeDOS 的简单介绍
  • 快速找出网站中可能存在的XSS漏洞实践(一)
  • 终结者出场:英特尔拟收购博通 高通究竟落入谁手?
  • 印度天才被政策逼迫弃理学商,却捧回亚洲首个物理诺奖
  • #Meme:为什么人类的本质是复读机?

继续阅读“荒原之梦IT周报第二十六期(30 September, 2018)”

月满中秋, 仰天以歌

今天是中秋节,一个关于团圆和月亮的节日。

李白曾“举杯邀明月”,自认为可以“对影成三人”,我们可以将此理解为诗人的诗意。然而,自古至今,月球对于人类的吸引力从未削减——晴朗的夜空,一轮明月高悬空中,宛若晶莹的碧玉,偶尔飘过的几朵隐隐约约的云彩,向只能待在地球上的人类炫耀着天宫的美轮美奂。

继续阅读“月满中秋, 仰天以歌”

荒原之梦IT周报第二十五期(23 September, 2018)

目录

  • “绿斑”行动——持续多年的攻击
  • 互联网黑灰产工具软件安全报告:2018年度半年报告
  • 服务器遭黑客潜伏一个多月,这家公司原本打算赴美上市的
  • Cisco Video Surveillance Manager Appliance Default Password Vulnerability
  • 苹果iOS12刚出不到几小时 被阿里安全潘多拉实验室完美越狱
  • Linux面试题
  • 刺透内网的HTTP代理
  • i春秋论坛半月刊
  • Nmap备忘单
  • Kali Linux渗透基础知识整理
  • Kali Linux渗透测试实战 2.2 操作系统指纹识别
  • 业务逻辑漏洞探索之暴力破解
  • NSA工具包实战–32位XP系统(MS17-010)
  • 使用 Ubuntu Cleaner 为 Ubuntu/LinuxMint 释放空间
  • 换手机的季节又到了,旧手机如何物尽其用,这里有 6 个建议 | Hack Your Life
  • 航空公司总爱提“引进百架新飞机”,其实全球一半以上客机都是租的 | 好奇心小数据
  • 美国国家太阳天文台神秘关闭
  • 猴子的自拍
  • p0f – Passive Traffic Analysis OS Fingerprinting and Forensics Tool
继续阅读“荒原之梦IT周报第二十五期(23 September, 2018)”

Python 3中实现cmp()函数的功能

cmp() 函数是Python 2中的一个用于比较两个列表, 数字或字符串等的大小关系的函数, 在Python 3中已经无法使用这个函数了:

>>> a = [1, 2, 3] 
>>> b = [4, 5, 6] 
>>> cmp(a, b) Traceback (most recent call last): File "<pyshell#60>", line 1, in <module> cmp(a, b) NameError: name 'cmp' is not defined 
>>>

在Python 3中, 使用operator模块来实现同样的功能. 无论是在交互模式还是在文本模式下, 要使用operator模块都需要先导入该模块:

import operator

在交互式模式下可以这样使用:

>>> a = [1, 2] 
>>> b = [1, 3] 
>>> import operator 
>>> operator.eq(a, b) 
False 
>>>

但是如果我们在文本模式下也这样使用:

a = [1, 2] 
b = [1, 3] 
import operator 
operator.eq(a, b)

Run之后并没有任何回显:

=================== RESTART: C:/Users/Master/Desktop/1.py =================== 
>>>

如果要实现交互式模式下一样的回显, 需要使用print()函数输出:

a = [1, 2] 
b = [1, 3] 
import operator 
print(operator.eq(a, b))

回显如下:

=================== RESTART: C:/Users/Master/Desktop/1.py ===================
False
>>>

operator模块的功能如下:

函数
含义
operator.lt(a, b)
a < b
operator.le(a, b)
a <= b
operator.eq(a, b)
a == b
operator.ne(a, b)
a != b
operator.gt(a, b)
a > b
operator.ge(a, b)
a >= b

比较大小的规则是以ASCII码表为基准, 从两个列表中的第一个字符开始进行比较, 返回值为布尔类型.


荒原之梦网全部内容均为原创,提供了涵盖考研数学基础知识、考研数学练习题、考研数学真题等方面,大量精心研发的学习资源。

豫ICP备17023611号-1 | 公网安备 - 荒原之梦 豫公网安备41142502000132号
Copyright©2017-2026 ZhaoKaifeng.com 版权所有 All Rights Reserved.

豫ICP备17023611号-1
  豫公网安备41142502000132号
Copyright©2026   ZhaoKaifeng.com   All Rights Reserved.

荒原之梦 自豪地采用WordPress