当前位置:首页 > 作者 星之宇 的所有文章

我前面有文章《RouterOS利用DNSPOD的API接口实现DDNS动态解析》写过通过PHP服务器更新DNSPOD解析的域名IP,但是更多的是带来安全问题,所有这次写了一个RouterOS(以下简称ROS)的原生脚本来实现域名的动态解析。


版本说明

1、最低版本支持RouterOS v6.43,低于这个版本的要么升级,要么还是使用第三方服务器来动态解析。

2、不存在的记录,不会自动添加,需要手动在DNSPOD添加记录,线路为默认,不支持单记录多线路解析。为什么不加自动了添加域名之类的,因为一次添加永久有效,所以脚本中不添加自动了。节省ROS性能(我懒)

3、只支持IPv4,不支持IPv6

Zabbix无法选择中文语言包

问题描述

通过Zabbix Web后台无法选择中文语言包,提示”You are not able to choose some of the languages, because locales for them are not installed on the web server.“


解决方法

1、通过命令安装中文语言包,SSH连接到zabbix,这边使用的是虚拟化版本,账号是root密码是zabbix。

[root@appliance ~]# dnf install langpacks-zh_CN.noarch


2、刷新Zabbix Web后台,这个时候可以选择简体中文,点一下更新即可

VMware ESXi使用IMG镜像安装系统(LEDE安装教程)

最近在玩软路由,很多软路由的安装包都是img镜像格式的,比如LEDE,爱快之类都有img格式。那么img如何安装到VMware ESXi虚拟机下呢?

可能很多人会使用StarWind V2V Converter进行格式转化成虚拟机磁盘镜像,但是有时候发现这样转换出来的磁盘镜像会有问题。所以对于img镜像,我一般使用PE写盘。


操作教程(以LEDE写盘为例)

1、环境介绍

(1)Win Pe ISO镜像,建议使用微PE工具箱

(2)下载LEDE(OpenWrt),可以直接去官网下载http://firmware.koolshare.cn/

(3)UltraISO ISO镜像编辑软件

PHP函数password_hash

Password Hashing函数在 PHP 5.5 时被引入,这边主要讲讲password_hash加密函数、password_verify验证函数以及和md5加密的区别。


password_hash加密

password_hash() 使用足够强度的单向散列算法创建密码的散列(hash)。

password_hash(string $password, mixed $algo, array $options = ?): string|false

有3个参数:密码(必须),哈希算法(必须),选项(选填)

$pwd = '123456'; $hash = password_hash($pwd, PASSWORD_DEFAULT); echo $hash;

输出hash字符串:$2y$10$H7KD.QWJyY68zeKJXTHoW.zH9ZC69zlXALRBtN8BfiKQkk9YolQum

并不是唯一的hash字符串,通过刷新网页,可以输出不同的hash,也就是1个密码会出现不同的hash加密字符串。


password_verify验证

password_verify()验证密码是否和指定的散列值匹配。

password_verify(string $password, string $hash): bool

有2个参数:密码(必须),哈希值(必须)

$pwd = '123456'; $hash = '$2y$10$H7KD.QWJyY68zeKJXTHoW.zH9ZC69zlXALRBtN8BfiKQkk9YolQum'; $result = password_verify($pwd,$hash); var_dump($result); 输出bool(true)


MD5加密

使用《RSA 数据安全公司的 MD5 消息摘要算法》计算 string 的 MD5 散列值,并返回该散列值

md5(string $string, bool $binary = false): string

由于此函数依赖的算法已不足够复杂,不推荐使用此函数对明文密码加密。所以一般使用md5(password+salt)来计算md5值。

$pwd = '123456'; $md5 = md5($pwd); echo $md5;

输出md5字符串:e10adc3949ba59abbe56e057f20f883e

多次刷新网页保持这个字符串不变,由于网上直接加密的可以直接通过字典输出原始密码,导致非常不安全。

$pwd = '123456'; $salt = '77bx'; $md5 = md5($pwd.$salt); echo $md5; 输出md5字符串:caef045fe88f8efa2cf0b85cb91bad4d


加密性能测试

对比md5加密、md5+salt加密、password_hash加密和password_verify验证性能。

本次测试采用虚拟化

CPU:Intel Xeon Gold 6161 2.2GHz 2核4线程

内存:16GB

PHP:7.4

重复计算10次,取平均值得出以下截图结果

结论:

1、不建议使用password_hash和password_verify进行加密和验证,毕竟和md5+salt也有5万倍以上的性能差距。

2、建议使用md5+盐值的方式,毕竟1ms以下的时间对于性能来说影响不大。

3、安全性虽然password_hash比较安全,但是md5+salt的方式也是相对比较安全的。

中兴F460光猫破解超级管理员

ZXA10 F460中兴光猫(E8-C),在第一次安装的时候,超级管理员帐号:telecomadmin 密码:nE7jA%5m 这个是默认的,由安装人员设置好相关设置后,会自动下载配置,这个时候这个超级管理员密码会被修改,修改为telecomadminXXXXXXXX(8个X是8位数字,每个用户是不同的)这种格式。因为很多设置需要在超级管理员下才能设置,所以破解这个超级管理员密码是非常必要的。


破解方法

方法1:打10000号,报设备号可以查到。(当然最好让安装人员打电话去查),我这里是苏州电信,我自己打的10000,说了很久…………可以查到。这个方法最简单,也最没有危险。

PS:跟安装工程师套套近乎,要到他们的电话,他们可以跟服务台联系报出光猫的设备号算出超级密码的。

中兴光纤猫F460桥接和路由模式设置

电信的光猫,我这里用中兴F460演示,其实电信的光猫桥接和路由模式设置多是差不多的,就连我以前的ADSL华为猫和光猫的这个设置差不多多少了。

由于光猫的硬件配置有好有差,带宽各个地方也是不同,对于桥接来说,速度几乎没有影响。而路由模式下,由于光猫配置差,电信开的带宽也比较大,造成路由模式下光猫处理不过来,速度影响也就比较大。

看使用什么模式就看自己的需要,有条件能用自己的路由器的尽量使用自己的无线路由器,路由模式下光猫发热量大,信号不好,有数量限制(这个可以破解)。

那么说说光猫,我这里的光猫设置的初始模式,LAN1,3,4,SSID1全是桥接,可以用来拨号上网。而LAN2和SSID2也是桥接,但是是ITV的接口。2个区别在VLAN和一部分的设置。如果有自己的路由器,直接用在LAN1,3,4上,通过路由器的PPPoE拨号上网就可以了,不用破解光猫。


现在主要来说说,如何使用光猫的多种模式。

CISCO VPN报错“Failed to initialize connection subsystem”的解决方法

问题描述

最近把系统换成了windows 10,可以正常安装Cisco VPN(Cisco VPN版本anyconnect-win-3.0.5080-pre-deploy-k9),启动后出现“Failed to initialize connection subsystem”错误。


解决方法

“右击”,打开VPN的“属性”---“兼容性”,“兼容模式”中勾上“以兼容模式运行这个程序”,下拉菜单选择“windows 7”,并勾上“以管理员身份启动”,就可以正常启动了。

问题描述

PHP调试的时候出现了警告:It is not safe to rely on the system解决方法,其实就是时区设置不正确造成的,本文提供了3种方法来解决这个问题。

Warning: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Chongqing’ for ‘CST/8.0/no DST’ instead Warning: strtotime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Chongqing’ for ‘CST/8.0/no DST’ instead Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in <b>/home/ftp/n/nimaboke/include/lib/function.base.php


问题分析

Visual C++(VC)运行库合集

问题描述1

Windows系统有时候运行某个程序(或者安装某个程序)的时候会报错,错误提示:“由于应用程序配置不正确,应用程序未能启动.重新安装应用程序可能会纠正这个问题。”


问题描述2

Visual C++ 2015(VC14)未安装的错误报错:“XXX - 无法找到组件”,“没有找到VCRUNTIME140.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”

这个错误提示,一般是由于没有安装VC++运行库才会出现的,只要安装下运行库就可以了。


问题分析解决

最近碰到比较多的报错:“无法启动此程序,因为计算机丢api-ms-win-crt-runtime-l1-1-0.dll。尝试重新安装改程序以解决此问题”