山翁不醉酒
码龄4年
关注
提问 私信
  • 博客:93,885
    问答:537
    动态:116
    94,538
    总访问量
  • 56
    原创
  • 71,850
    排名
  • 591
    粉丝
  • 学习成就

个人简介:有志者事竟成

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河南省
  • 加入CSDN时间: 2021-03-09
博客简介:

weixin_55932038的博客

博客描述:
加油!
查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    576
    当月
    4
个人成就
  • 获得239次点赞
  • 内容获得14次评论
  • 获得623次收藏
创作历程
  • 2篇
    2024年
  • 54篇
    2023年
成就勋章
兴趣领域 设置
  • Python
    python
  • 网络与通信
    网络安全
  • 服务器
    负载均衡
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

183人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

巡检命令对比

功能类别 华为命令 思科命令 H3C命令 锐捷命令 查看设备基本信息 display version show version display version show version display device show hardware display device show device 查看接口状态 display interface brief show interfaces display
原创
发布博客 2024.07.12 ·
422 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

华为设备常用命令

基础信息命令
原创
发布博客 2024.07.12 ·
1361 阅读 ·
14 点赞 ·
0 评论 ·
10 收藏

开花时节

发布动态 2024.03.28

golang怎么设置excel打开密码

答:

在Go语言中,可以使用excelize这个包来设置Excel文件的打开密码。以下是使用excelize设置Excel打开密码的步骤:

  1. 安装excelize:您需要先安装excelize包。可以通过以下命令进行安装:
go get github.com/xurime/excelize/v2
  1. 设置密码:使用excelize包中的SetPassword函数来为Excel文件设置打开密码。以下是一个简单的示例代码:
package main

import (
    "fmt"
    "github.com/xurime/excelize/v2"
)

func main() {
    // 创建一个新的Excel文件
    f := excelize.NewFile()

    // 设置Sheet1作为默认的工作表
    f.SetActiveSheet(excelize.Sheet1)

    // 在A1单元格写入数据
    f.SetCellValue("Sheet1", "A1", "Hello")

    // 设置Excel文件的打开密码
    err := f.SetPassword("password")
    if err != nil {
        fmt.Println(err)
        return
    }

    // 保存到文件
    err = f.SaveAs("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println("Excel file with password set successfully.")
}
  1. 运行代码:运行上述代码后,会生成一个名为Book1.xlsx的Excel文件,该文件已经被设置了打开密码。

  2. 验证密码:当您尝试打开生成的Excel文件时,系统会提示输入密码。只有输入正确的密码才能打开文件。

请注意,excelize包的版本可能会随着时间推移而更新,因此建议您查看最新的文档和版本发布说明,以获取最准确的功能和使用方法。

回答问题 2024.03.26

windowns11 无法连接无密码的WIFI

答:

是否是注册表丢失的原因造成的故障,如果不是,请检查电脑上是否安装了天擎一类的行为管理程序或是因为这个无密码的WiFi需要通过某种账号登录才可以使用,你可以询问一下你的同事

回答问题 2024.03.26

centos7 安装openvpn全过程,能正常访问网络

答:
  1. 安装必要的依赖包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加Docker仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装Docker CE:
sudo yum install -y docker-ce
  1. 启动Docker服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
  1. 拉取OpenVPN镜像:
sudo docker pull kylemanna/openvpn
  1. 创建OpenVPN配置文件目录:
sudo mkdir -p /etc/openvpn
  1. 生成OpenVPN证书和密钥:
sudo openssl genrsa -out /etc/openvpn/ca.key 2048
sudo openssl req -new -x509 -days 3650 -key /etc/openvpn/ca.key -out /etc/openvpn/ca.crt
sudo openssl genrsa -out /etc/openvpn/server.key 2048
sudo openssl req -new -key /etc/openvpn/server.key -out /etc/openvpn/server.csr
sudo openssl x509 -req -days 3650 -in /etc/openvpn/server.csr -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -set_serial 01 -out /etc/openvpn/server.crt
  1. 创建OpenVPN容器:
sudo docker run -v /etc/openvpn:/etc/openvpn --rm -it -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn ovpn_genconfig -u udp://localhost
sudo docker run -v /etc/openvpn:/etc/openvpn --rm -it -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn ovpn_initpki
  1. 修改OpenVPN配置文件:
sudo sed -i 's/port 1194/port 1194\nproto udp/' /etc/openvpn/server.conf
sudo sed -i 's/dev tun/dev tun\nuser nobody\ngroup nobody/' /etc/openvpn/server.conf
sudo sed -i 's/cipher AES-256-CBC/cipher AES-256-GCM/' /etc/openvpn/server.conf
sudo echo "push \"redirect-gateway def1 bypass-dhcp\"" >> /etc/openvpn/server.conf
sudo echo "client-to-client" >> /etc/openvpn/server.conf
sudo echo "keepalive 10 120" >> /etc/openvpn/server.conf
sudo echo "tls-auth ta.key 1" >> /etc/openvpn/server.conf
  1. 启动OpenVPN容器:
sudo docker run -v /etc/openvpn:/etc/openvpn --rm -it -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn

至此,已经在CentOS 7上使用Docker安装了OpenVPN,并且可以正常访问网络。

回答问题 2024.03.26

Excel运行中提示“已停止工作”

答:

这个问题可能是由于Excel的VBA环境在处理大量数据时出现了内存溢出。你可以尝试以下方法来解决这个问题:

优化代码:检查你的代码,确保没有不必要的循环或者重复的操作。尽量减少对单元格的操作,尽量使用数组而不是直接操作单元格。

分批处理数据:如果可能的话,尝试将数据分成几个部分进行处理,而不是一次性处理所有数据。这样可以减少内存的使用。

关闭不必要的应用程序:在运行你的VBA程序之前,关闭其他不需要的应用程序,以释放更多的内存供Excel使用。

增加系统内存:如果以上方法都无法解决问题,你可能需要考虑增加系统的内存。

更新Excel和VBA:确保你的Excel和VBA都是最新版本,有时候问题可能是由于软件的bug导致的,更新到最新版本可能会解决问题。

回答问题 2024.03.26

influxdb-java-2.14的query报连接重置

答:

这个问题可能是由于InfluxDB服务器的连接超时或者网络不稳定导致的。你可以尝试以下方法来解决这个问题:
增加InfluxDB服务器的连接超时时间。你可以在InfluxDB的配置文件中设置http.timeout参数,例如将其设置为60秒:

http.timeout = 60s

然后重启InfluxDB服务使配置生效。
检查你的网络连接是否稳定,确保客户端和服务器之间的网络通信没有问题。
如果问题仍然存在,你可以尝试使用其他工具(如telnet)来测试与InfluxDB服务器的连接,以排除服务器端的问题。

回答问题 2023.12.25

询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表

答:

可以使用以下存储过程来实现这个需求:

CREATE PROCEDURE SyncDepartments
AS
BEGIN
    -- 声明变量
    DECLARE @AServerConnection NVARCHAR(100) = 'Data Source=A服务器地址;Initial Catalog=数据库名;User ID=用户名;Password=密码';
    DECLARE @BServerConnection NVARCHAR(100) = 'Data Source=B服务器地址;Initial Catalog=数据库名;User ID=用户名;Password=密码';
    DECLARE @AServerGUIDTable NVARCHAR(100) = '部门表A';
    DECLARE @BServerGUIDTable NVARCHAR(100) = '部门表B';
    DECLARE @AServerLastSyncTime DATETIME;
    DECLARE @BServerLastSyncTime DATETIME;

    -- 获取A服务器和B服务器的上次同步时间
    SELECT @AServerLastSyncTime = MAX(SyncTime) FROM AServerSyncLogs WHERE TableName = @AServerGUIDTable;
    SELECT @BServerLastSyncTime = MAX(SyncTime) FROM BServerSyncLogs WHERE TableName = @BServerGUIDTable;

    -- 如果A服务器的上次同步时间晚于B服务器的上次同步时间,则从A服务器查询新增部门数据并同步到B服务器
    IF @AServerLastSyncTime > @BServerLastSyncTime
    BEGIN
        -- 从A服务器查询新增部门数据
        INSERT INTO #NewDepartments (DepartmentGUID, DepartmentName)
        SELECT DepartmentGUID, DepartmentName FROM [AServer].[dbo].[部门表A]
        WHERE DepartmentGUID NOT IN (SELECT DepartmentGUID FROM [BServer].[dbo].[部门表B]);

        -- 将新增部门数据同步到B服务器
        INSERT INTO [BServer].[dbo].[部门表B] (DepartmentGUID, DepartmentName)
        SELECT DepartmentGUID, DepartmentName FROM #NewDepartments;

        -- 记录同步日志
        INSERT INTO AServerSyncLogs (TableName, SyncTime) VALUES (@AServerGUIDTable, GETDATE());
        INSERT INTO BServerSyncLogs (TableName, SyncTime) VALUES (@BServerGUIDTable, GETDATE());
    END

    -- 删除临时表
    DROP TABLE #NewDepartments;
END;

然后,可以使用以下代码来每天定时执行这个存储过程:

-- 创建触发器,每天定时执行存储过程
CREATE TRIGGER trg_SyncDepartments
ON DATETIME
AFTER UPDATE AS
EXEC SyncDepartments;

注意:请根据实际情况替换A服务器地址、数据库名、用户名、密码等参数。

回答问题 2023.12.08

学生的,送钱的超简单的sql,三个表,每个字段8个属性吧,写两条查询sql

答:

当创建表时,你需要指定每个字段的名称和数据类型。下面是一个示例,创建三个表并写出两个查询语句的例子:

表1名为table1,有以下字段:

id (主键,整数类型)
name (字符串类型)
age (整数类型)
gender (字符串类型)
email (字符串类型)
address (字符串类型)
phone_number (字符串类型)
salary (浮点数类型)
创建table1表的SQL查询:

CREATE TABLE table1 (
  id INT PRIMARY KEY,
  name VARCHAR(255),
  age INT,
  gender VARCHAR(10),
  email VARCHAR(255),
  address VARCHAR(255),
  phone_number VARCHAR(20),
  salary DECIMAL(10, 2)
);

表2名为table2,有以下字段:

id (主键,整数类型)
table1_id (外键,关联表1的id)
product_name (字符串类型)
price (浮点数类型)
quantity (整数类型)
total_amount (浮点数类型)
order_date (日期类型)
is_paid (布尔类型)
创建table2表的SQL查询:

CREATE TABLE table2 (
  id INT PRIMARY KEY,
  table1_id INT,
  product_name VARCHAR(255),
  price DECIMAL(10, 2),
  quantity INT,
  total_amount DECIMAL(10, 2),
  order_date DATE,
  is_paid BOOLEAN,
  FOREIGN KEY (table1_id) REFERENCES table1(id)
);

查询示例1:从table1表中获取年龄大于等于30岁的员工的姓名和薪水信息。

SELECT name, salary FROM table1 
WHERE age >= 30;

查询示例2:从table2表中获取已支付订单的产品名称和总金额信息。

SELECT product_name, total_amount FROM table2 
WHERE is_paid = true;

请注意,以上的示例是一种创建表和查询的方法,具体的实现可能会因你所使用的数据库管理系统和数据库架构的不同而有所变化。请根据你的实际情况进行适当的修改。

回答问题 2023.07.17

交换机常用的命令以及使用方法

使用方法:在全局配置模式下输入ip route <destination_network> <subnet_mask> <next_hop>,即可配置静态路由。使用方法:在接口配置模式下输入ip address <ip_address> <subnet_mask>,即可为接口配置IP地址。使用方法:在接口配置模式下输入switchport access vlan <vlan_id>,即可将接口指定到指定的VLAN。
原创
发布博客 2023.07.17 ·
13408 阅读 ·
17 点赞 ·
0 评论 ·
125 收藏

内 网 优 化

2)交换机之间存在很多冗余链路,必须防止环路的发生,并且能够提高链路的利用率,要求每个部门的主机访问其他主机时,使用的都是最优的转发路径。-让SW5成为vlan10/vlan20的Master,vlan30的Backup。-让SW6成为vlan30的Master,vlan10/vlan20的Backup。-让SW5成为vlan10/vlan20的主根,vlan30的备根。-SW5是VLAN10和VLAN20的主根 ,是VLAN30的备根。-SW6是VLAN10和VLAN20的备根 ,是VLAN30的主根。
原创
发布博客 2023.07.14 ·
612 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

WAF、防火墙、IDS、IPS、IDS和IPS的区别

一、WAF1.WAF是什么个人理解WAF是一个应用级别的防护软件,主要是针对HTTP/HTTPS的防护,网站应用级别的防护,通过一系列的黑白名单等操作对于诸如SQL注入,XSS,CSRF等攻击进行防护1.1威胁识别和防御:WAF监视传入和传出的Web流量,并使用规则或算法来识别潜在的攻击行为,如SQL注入、XSS攻击、缓冲区溢出等。它可以拦截和阻止这些恶意请求,保护Web应用程序免受攻击。1.2阻止DDoS攻击:WAF可以检测到分布式拒绝服务(DDoS)攻击,并通过过滤恶意流量或限制连接数量来减轻攻击。这有
原创
发布博客 2023.07.14 ·
2090 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

DHCP Snooping、DHCP Server仿冒者攻击、DHCP饿死攻击

因为DHCP客户端发送的DHCP Discover报文是以广播形式发送,无论是合法的DHCP 服务器,还是非法的DHCP Server都可以接收到DHCP Discover报文,如果此时非法的DHCP仿冒服务器,回应给DHCP 客户端,恶意的仿冒信息(如:错误的IP、错误的网关、错误的DNS),DHCP 客户端无法分辨这些信息,所以最终导致DHCP客户端无法上网和信息泄露。[SW3-DHCP-Vlanif1]dhcp select global //在vlanif 1虚接口下开启基于全局的dhcp。
原创
发布博客 2023.07.10 ·
2848 阅读 ·
6 点赞 ·
0 评论 ·
30 收藏

JAVA网页自动输入

答:

你可以使用Selenium库来实现对网页中的某一输入框的自动输入,并使用POI库来从Excel文件中获取输入内容。
下面是一个示例的JAVA代码:
首先,你需要在项目中引入Selenium和POI的相关依赖。你可以在pom.xml文件中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.0.0</version>
    </dependency>
</dependencies>

创建一个JAVA类,例如AutoInput.java,并在该类中编写以下代码:

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

import org.apache.poi.ss.usermodel.*;

public class AutoInput {

    public static void main(String[] args) throws IOException, InterruptedException {
        // 设置Excel文件路径
        String excelFilePath = "input.xlsx";

        // 加载驱动程序
        System.setProperty("webdriver.chrome.driver", "path_to_chromedriver");
        WebDriver driver = new ChromeDriver();

        // 设置隐式等待时间
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        // 打开网页
        driver.get("http://example.com");

        // 读取Excel文件
        FileInputStream fis = new FileInputStream(excelFilePath);
        Workbook workbook = WorkbookFactory.create(fis);
        Sheet sheet = workbook.getSheetAt(0);

        // 获取输入框元素
        WebElement inputBox = driver.findElement(By.id("inputBoxId"));

        // 遍历Excel中的每一行,从第二行开始
        for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
            // 获取当前行的单元格
            Row row = sheet.getRow(rowNum);
            Cell cell = row.getCell(0);

            // 从单元格中获取内容
            String inputText = cell.getStringCellValue();

            // 清空输入框并输入内容
            inputBox.clear();
            inputBox.sendKeys(inputText);

            // 回车键
            inputBox.sendKeys(Keys.ENTER);

            // 延时30秒
            Thread.sleep(30000);
        }

        // 关闭浏览器
        driver.quit();
        fis.close();
        workbook.close();
    }
}

请注意,你需要将上述代码中的"input.xlsx"替换为包含输入内容的实际Excel文件的路径,并将"path_to_chromedriver"替换为你系统中ChromeDriver的路径。此外,请根据你的实际情况修改页面中输入框的ID(通过修改By.id("inputBoxId")中的"inputBoxId")。编译并运行该代码,即可实现对网页中的输入框进行自动输入和回车,并且每次输入后都会延时30秒。

回答问题 2023.07.04

安装和配置java环境

4.中间出现提示的话继续点击确定以及下一步即可,最终出现如下界面代表成功,点击关闭即可。进入到cmd命令窗口,输入:java,看到参数表,表示安装java成功!5.点击新建(两个新建,点击哪个都可以)1.鼠标右键点击此电脑→选择属性。4.点击环境变量,出现如下的界面。6.添加JAVA_HOME变量。1.安装java开发环境。2.点击高级系统设置。
原创
发布博客 2023.07.04 ·
2074 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

网络安全发展

5)网络钓鱼 ,攻击者发送大量的欺骗性的短信,邮件、网页等诱饵,引诱收信人给出[敏感信息](https://baike.baidu.com/item/敏感信息/4833390),受骗者往往会上钩,从而泄露自己的私人资料,如信用卡号、银行卡账户、身份证号等内容。4)漏洞利用,漏洞是指硬件、软件、协议或系统安全策略上存在的缺陷,漏洞利用是利用程序中的某些漏洞,来得到计算机的控制权、窃取资料、使目标主机崩溃、执行程序、获取键盘记录、截屏等。措施:保护网络系统的硬件、软件、数据、不遭受破坏、不被更改,不会泄密。
原创
发布博客 2023.06.30 ·
527 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

Telnet实验、AAA认证实验、 配置文件备份和还原实验

R2-GigabitEthernet0/0/0]ip address 192.168.12.2 24 //给接口配置IP地址。[R2-GigabitEthernet0/0/0]ip address 192.168.1.2 24 //给接口配置IP地址。[R2-GigabitEthernet0/0/0]ip address 192.168.1.2 24 //给接口配置IP地址。<R1>dis startup //查询本机下次启动时要加载的配置文件,看是否是gaga.zip。
原创
发布博客 2023.06.29 ·
441 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

链路聚合综合实战

设备之间配置lacp模式的链路聚合,并确保同vlan之间的主机可以互通。-PC1和PC3属于vlan 10、PC2和PC4属于vlan 20。3)交换机和PC互联的接口设置为access ,并加入指定的vlan。-设置trunk模式,允许vlan 10 20 通过。2)所有交换机创建vlan10 和vlan20。-定义 链路聚合的工作模式为lacp。-创建eth-trunk 组。4)配置SW1和SW2的系统优先级。-在链路聚合添加成员接口。5)配置Eth-Trunk。1)PC配置IP地址。
原创
发布博客 2023.06.29 ·
236 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

VLAN间通信之VLANIF虚接口

3)每个VLAN需要配置一个VLANIF,给VLANIF配置接口IP地址,并指定一个IP子网网段,作为VLAN内主机的网关。SW4配置:(保证6个vlan10/20/30/40/12/23在每一个交换机都存在)SW5配置:(保证6个vlan10/20/30/40/12/23在每一个交换机都存在)第三步:配置vlanif虚接口IP地址,做vlan内主机的网关,并实现直连路由。保证这6个vlan10/20/30/40/12/23在每一个交换机都存在。-所有的交换机都配置vlan10/20/30/40。
原创
发布博客 2023.06.26 ·
10895 阅读 ·
19 点赞 ·
2 评论 ·
107 收藏
加载更多