首页
Search
1
v2ray异常错误之二
3,310 阅读
2
linux时区设置
2,698 阅读
3
DB2常用操作
2,173 阅读
4
websphere修改jvm内存xmx和xms
1,929 阅读
5
nfs客户端文件属主为nobody的现象
1,552 阅读
技术
生活
运动
游戏
电影
登录
Search
标签搜索
docker
linux
troubleshooting
nginx
secure
truenas
mysql
windows
python
esxi
docker swarm
oracle
zabbix
tomcat
blog
dsm
群晖
rpa
freenas
db
yuc
累计撰写
291
篇文章
累计收到
0
条评论
首页
栏目
技术
生活
运动
游戏
电影
页面
搜索到
289
篇与
的结果
2024-07-05
一个openvpn无法安装的问题
问题背景 某个新同时电脑 openvpn 安装不成功,分别让其测试使用了管理员权限以及最新版的 openvpn 客户端,但最终都是报的同一个错误,如下: tap_create_adapter: DinstallDevice failed error OpenVPNMSICA tap_create_adapter Error 536870397 分析日志 经过排查后,并没有发现明确的问题,但是其他案例给了我们启发,可以通过日志文件 C:/Windows/INF/setupapi.dev.log 查看到具体的安装异常: openvpn unable to select best compatible driver 可以看到 openvpn 无法选择正确的驱动安装上,导致最后的报错,所以基本上可以确定是电脑、或者其他软件影响的问题 参考文档 https://forums.openvpn.net/viewtopic.php?t=31235 文档没有明确的解决方案,最后是升级系统解决了 解决 既然是电脑、或者软件、或者硬件不匹配导致驱动无法正常安装,所以最后推荐尝试重新安装系统,再重新安装后反馈问题解决
2024年07月05日
11 阅读
0 评论
0 点赞
2024-07-05
如何使用nc、ncat传输文件
问题背景 在极端的网络条件下,双方机器处于不同的网络区域,仅开放了一个端口单向通信,并且登录双方机器非常麻烦,最后对发禁用了 ssh 协议,无法 scp 传输文件。这种情况下我们应该如何方便的传输文件呢? 方案选择 使用 nginx、ftp 等作为文件服务器下载文件 通过 nc、ncat 来传输文件 正常情况推荐使用方案1,但需要安装额外服务,如果没有网络条件可以传输安装包,并且机器无外网,只允许使用yum,那么方法一也无法使用了 nc、ncat 受限比较严重的情况下,我们可以尝试使用nc、ncat来传输文件,步骤如下: 在 nc 服务端监听一个端口,并且传送一个文件进来 nc -l 192.168.3.100 9999 < 222.sh 在客户端连接这个服务端,并且把文件重定向到本地 nc 192.168.3.100 9999 > 222.sh
2024年07月05日
8 阅读
0 评论
0 点赞
2024-07-05
zabbix web显示的权限问题以及后台日志数据库连接问题
问题现象 zabbix在升级到某个版本后前台页面一直不太正常,dashboard 中经常会提示 permission denied ,但不是持续显示,而是一阵一阵的出现 看浏览器请求,有时候 systeminfo 这个请求可以返回正常的内容,有时候只有样式,但是没有数据,且 message 内容是 permission denied,应该可以确定是没有获取到数据导致的 排查分析 没有获取到数据,一般有如下可能: nginx、php 进程问题,调用 php 或者 php 执行脚本或代码存在权限问题 数据库问题,最终 php 代码需要在库中查询数据,但其实有时候查不到 zabbix产品bug 于是我检查了 nginx, php 的配置,均没有发现任何问题,并且 nginx 的日志基本上都是正常响应,而后我怀疑是php脚本权限问题(或者php执行脚本的用户),所以我直接给了 .php 文件 755 的权限,这样所有用户都不会有执行权限问题了,但是问题仍然没有解决 比较怪异的是,重启 zabbix server 可以保持一段时间的正常显示,大概是十几到二十多个小时,之后又会间断性异常 持续排查 在第一次未果后,我计划尽量减少 zabbix server 端的日志,并且持续观察输出,避免有任何异常被错过,功夫不负有心人,终于发现了这些奇怪的日志: 19030:20240628:134313.575 [Z3005] query failed: [4031] The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior. [select u.userid,u.roleid,u.username,r.type from sessions s,users u,role r where s.userid=u.userid and s.sessionid='d938c03d7d2e857296543a4ec4d78547' and s.status=0 and u.roleid=r.roleid] 19042:20240628:134709.563 [Z3005] query failed: [4031] The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior. [select u.userid,u.roleid,u.username,r.type from sessions s,users u,role r where s.userid=u.userid and s.sessionid='ce79c6b9df0683d051e2ee318a55d54d' and s.status=0 and u.roleid=r.roleid] 19013:20240628:134809.545 [Z3005] query failed: [4031] The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior. [select u.userid,u.roleid,u.username,r.type from sessions s,users u,role r where s.userid=u.userid and s.sessionid='ce79c6b9df0683d051e2ee318a55d54d' and s.status=0 and u.roleid=r.roleid] 这个日志初次看起来似乎也跟权限问题挨不上边,都是一些会话中断的问题。不过如果细细想来,如果zabbix连接数据库的会话被异常中断,那么是否可能导致代码无法查询出来数据并且提示权限不足呢? 这完全是有可能的 所以我根据上面的错误进行了检索,发现了可能的如下问题: https://support.zabbix.com/browse/ZBX-23145 这个帖子上面的问题并不与我们完全一致,但是错误的内容可能是相似的,都是数据库连接中断并且无法重连,而且在对话中有一个重点: Error 4031 ER_CLIENT_INTERACTION_TIMEOUT 这个基本上就是我们的日志错误内容,根据连接可以进入到mysql的异常说明中: https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html#error_er_client_interaction_timeout 结合起来可以初步断定是这个问题 解决方法 这个问题是特定 zabbix server 版本 与 mysql 版本碰撞在一起的问题,升级任意一个组件都可以解决。在升级到最新版后经过多天的观察,问题不再出现 思考 这个问题一开始确实很奇怪,完全无法确定是哪里的问题,也无法调试代码来判断是哪里返回的异常,最重要的是中间升级2-3个版本也没有解决,查找zabbix permission denied 的问题和解决方法极少。最后还是通过持续的观察和抓住所有可能的异常问题才确定了原因 所以解决问题还是要耐心,不能没有类似参考的例子就放弃解决,问题总是根据不同环境出现不同的现象,要善于持续的追踪、了解、分析问题。
2024年07月05日
2 阅读
0 评论
0 点赞
2024-07-05
python打包二进制、编译代码
需求和目标 在python代码中如果代码中有敏感信息,或者有保密需求,不想直接提供代码给用户,可以通过以下途径来实现: 使用 pyinstaller 来构建二进制的执行文件 编译为 pyc 的执行文件 编译为 pyd 的执行文件 各优缺点 方案1: 在客户端运行环境满足的情况下可以很好的分发执行,并且能够一定程度的加密,但是可以被反编译,而且还有一个问题是如果有多个py文件作为模块,被打成二进制后无法被主脚本import导入 方案2:可以满足加密的需求,并且还比较方便,是官方自带的方法,目前测试发现 pycdc 反编译 只能获取到部分内容,看还原的代码,变量的定义是拿到了,但是函数全部没有打印出来,但如果使用 pycdas 反汇编貌似可以解析出来函数的执行流程,不过对于不熟悉的人来说从汇编还原还是比较难的 方案3: pyd 貌似听说是最难破解的,但是比 pyc 麻烦,所以暂时未测试 二进制、编译过程 使用 pyinstaller 打包二进制如下: # 首先安装 pyinstaller pip3 install pyinstaller # 安装后的文件在 python/bin 目录下,所以需要链接一下或者此目录加入环境变量 pyinstaller checklogin.py --onefile 编译 pyc 的方式: # 不需要安装其他模块,直接执行就好 python3.10 -m py_compile checklogin.py PS. 遇到的问题 构建二进制或者编译文件的时候可能遇到错误: error while loading shared libraries: libpython3.10.so.1.0: cannot open shared object file 原因是共享库没有被编译出来或者导入系统,需要重新编译 python: # 主要是增加 --enable-shared ./configure --prefix=/usr/local/python3.10 --with-openssl=/usr/local/openssl-1.1.1 --enable-shared make && make install 在重新编译安装 python 之后在 /etc/ld.so.conf.d 中增加 conf 文件添加 python/lib 这个目录,然后执行命令 ldconfig && ldconfig -pv` 生效 pycdc反编译工具的安装 以上使用到的反编译、反汇编工具 pycdc , pycdas 安装,先到如下站点下载源码: https://github.com/zrax/pycdc 安装步骤: 解压代码,安装 cmake 编译器 进入到代码目录,创建 pycdc 目录,并且进入目录 执行指令 cmake .. 执行指令 make 即可生成程序
2024年07月05日
8 阅读
0 评论
0 点赞
2024-06-28
selenium使用的功能技巧
0x0 selenium连接浏览器 chrome_options = Options() chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") driver = webdriver.Chrome(options=chrome_options) 0x1 selenium获取cookie cookies = driver.get_cookies() session = requests.Session() for cookie in cookies: # print(f"{cookie['name']} -> {cookie['value']}") session.cookies.set(cookie['name'], cookie['value']) 0x2 selenium导出页面源码 driver.execute_script('return document.documentElement.outerHTML') 0x3 selenium如何切换标签页 if type == 'main': # 切换回主页 driver.switch_to.window(mainhandleid) else: # 切换回dbid页 all_handles = driver.window_handles for handle in all_handles: if handle != mainhandleid: driver.switch_to.window(handle) Logging('切换tab成功') break
2024年06月28日
7 阅读
0 评论
0 点赞
1
...
12
13
14
...
58