蓝狐狸

蓝狐狸

生活并不会总被预料,有意外才是生活。

Shell脚本编程

参考:Shell教程|菜鸟教程 shell 环境 #!/bin/bash:脚本第一行,告诉系统使用什么解释器来执行,即使用哪一个 shell 注释 单行注释用# 多行注释用 :<< 开头,! 包裹注释内容 1 2 3 4 5 6 # 这是一个单行注释 :<<! 这是多行注释 这是多行注释 这是多行注释 ! 变量 1 2 3 4 # 变量 = 号两侧不能有空格,大小写敏感 my_name="lanhuli" echo ${my_name} unset my_name # 删除变量 双引号和单引号的区别 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字符串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。 双引号里可以有变量 双引号里可以出现转义字符 只读变量 1 2 3 4 myUrl="https://www.google.com" readonly myUrl myUrl="https://www.runoob.com" # 执行报错,NAME: This variable is read only. 字符串变量 1 2 3 4 5 6 7 8 9 10 11 #!

华为交换机命令

简单命令 undo shutdown //激活接口 display current-configuration // 查看当前的配置(内存中) display saved-configuration // 查看保存的配置(Flash 中) 端口信息查看 信息含义: https://support.huawei.com/enterprise/zh/doc/EDOC1100064380/e51dee46 光模块查看 参考: https://support.huawei.com/enterprise/zh/doc/EDOC1100127136/94ef2802 端口批量操作 端口批量修改为 access 参考: https://support.huawei.com/enterprise/zh/knowledge/EKB1000029447 1 2 3 4 5 6 7 8 9 10 11 12 13 14 **配置临时端口组** # 配置接口GE1/0/9至GE1/0/15加入到临时端口组(使用port-group group-member命令)。 <HUAWEI> system-view [HUAWEI] port-group group-member gigabitethernet 1/0/9 to gigabitethernet 1/0/15 [HUAWEI-port-group] **配置永久端口组** # 配置接口GE1/0/1至GE1/0/8加入到永久端口组portgroup1(使用port-group命令)。 <HUAWEI> system-view [HUAWEI] port-group portgroup1 [HUAWEI-port-group-portgroup1] group-member gigabitethernet 1/0/1 to gigabitethernet 1/0/8 1 2 3 4 5 在VLAN视图下批量将接口加入VLAN <HUAWEI> system-view [HUAWEI] vlan 10 [HUAWEI-vlan10] port gigabitethernet 0/0/1 to 0/0/5 mac 黑洞

关于Linux环境变量配置文件

环境变量相关的配置文件 /etc/profile:此文件为系统的每个用户设置环境信息。 /etc/bashrc或 /etc/bash.bashrc:为每一个运行 bash shell 的用户执行此文件.当 bash shell 被打开时,该文件被读取。 ~/.bashrc:该文件包含专用于你的 bash shell 的 bash 信息,当登录时以及每次打开新的 shell 时,该文件被读取。 ~/.bash_profile 或 ~/.bash_login 或 ~/.profile:属于使用者个人配置,需要修改自己的数据,就写入这些文件!(ps1:其实 bash 的 login shell 配置只会读取上面三个文件的其中一个,而读取的顺序则是依照上面的顺序。ps2:这三个文件一般没啥人修改的,因为它们最终都是去调用读取~/.bashrc 这个文件。ps3:这三个文件不一定存在,我的 debian11.9 系统中就没有看到这三个文件,只有~/.bashrc) 以上文件中,其实只有/etc/profile 和~/.bashrc 这两个是常用的、重要的。其他的几乎不用管,没有必要去深入了解。 如果你设置的变量只针对你或其他一个用户,那就修改~/.bashrc,如果是针对所有用户,就修改/etc/profile。 交互式 shell 和非交互式 shell 交互式 shell:顾名思义,这种 shell 中的命令时由用户从键盘交互式地输入的,运行的结果也能够输出到终端显示给用户看。例如我们平常在终端输入的 cd 命令、vi 命令、mv 等都属于交互式的。 非交互式 shell:这种 shell 可能由某些自动化过程启动,不能直接从请求用户的输入,也不能直接输出结果给终端用户看。通常我们写的 shell 脚本都是非交互式的,通过 sh 直接运行该脚本文件。 login shell 和 non-login shell login shell:取得 bash 时需要完整的登陆流程的,就称为 login shell。举例来说,我们登陆 tty1 ~ tty6 时,需要输入用户的账号与密码,此时取得的 bash 就称为 login shell

Linux开机启动执行脚本

方法 1:rc.local 文件位置在 /etc/rc.local。比较简单的方法,但是有些 linux 版本不支持,例如 debian 默认没有 rc.local 这个文件,但是有这个服务,并且这个服务是关闭的。 注意:/etc/rc.local 和/etc/rc.d/rc.local 区别在于,/etc/rc.local 是/etc/rc.d/rc.local 的软连接 1)使用方式 1 2 3 4 5 # 先赋予文件执行权限,有就不用了 chmod +x /etc/rc.d/rc.local # 查看是否有执行权限 ls -l /etc/rc.d/rc.local # 将想要执行的命令添加到 rc.local 文件末尾即可,也可以执行 .sh 文件 2)简单测试一下 先创建一个文件:touch /root/111.txt,在 rc.local 文件后面添加命令 /bin/echo "abc11" > /root/111.txt,重启验证,查看命令是否执行。 重启后 3)debian 系统没有 rc.local 怎么办 debian 虽然默认没有 rc.local 这个文件,但是有这个服务,并且这个服务是关闭的。 手动创建 /etc/rc.local 文件,写入以下内容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!

自建yum源和apt源

老版本 linux 系统的安装源都不维护消失了,没有源安装一些常用软件比较麻烦,可以使用 iso 镜像文件搭建简易安装源,安装常用软件包 参考文章:yum源的三种搭建方式,CentOS 使用iso镜像安装本地 yum 源 ,使用iso镜像设置Ubuntu系统本地apt源,Debian如何配置局域网APT软件仓库 yum 源:网络搭建 这里以 Centos7 为例 1)服务器上需要安装有 apache 或 nginx 等服务器,并可以正常访问,这里使用 nginx 为例,服务器 ip 为 192.168.0.211 网站目录为 /var/www/html/ 2)上传 CentOS-7-x86_64-DVD-2009.iso 镜像到服务器上,然后在网站目录下新建一个文件夹,文件夹名随意。 1 mkdir /var/www/html/repo 3)将 iso 镜像挂载到创建的目录下 /var/www/html/repo 1 mount CentOS-7-x86_64-DVD-2009.iso /var/www/html/repo 挂载完成后,repo 目录下会多出一些文件 4)启动一台 Centos7 服务器,来到 /etc/yum.repos.d 目录下,删除这个目录下的所有文件,创建一个文件 http.repo,写入以下内容。 1 2 3 4 5 6 7 8 9 10 #yum仓库名,可自定义 [http] #yum仓库的描述信息 name=repo_for_http #yum源的网络访问地址。url链接不要填错 baseurl=http://192.168.0.211/repo/ #启用仓库 enabled=1 # 不进行红帽标签检查 gpgcheck=0 至于删除的那些文件的作用和内容,有兴趣可以自行百度或查看上述参考文章。

博客迁移

从hexo转到hugo hugo的环境安装比hexo要简单,hugo下个二进制文件就行,hexo还要下载nodeJS和一堆npm包,而且下载的时候因为网络问题还慢,所以就换了hugo。 之前用hexo时用的主题是butterfly,配置起来挺简单,文档全,也挺好看的。换了hugo之后,找了不少主题,最终选择用了FixIt FixIt主题很简洁,简单,够用,而且还有中文文档,上手挺快的。

Docker镜像仓库

靶场镜像 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # dvwa docker run -d -p 43301:3306 -p 48881:80 --restart=always --name=dvwa sagikazarmark/dvwa # pikachu docker run -d -p 43302:3306 -p 48882:80 --restart=always --name=pikachu area39/pikachu # sqli-labs docker run -d -p 43303:3306 -p 48883:80 --restart=always --name=sqli-labs acgpiano/sqli-labs # xss-labs docker run -d -p 43304:3306 -p 48884:80 --restart=always --name=xss-labs vulfocus/xss-labs # ssrf-labs docker run -d -p 43305:3306 -p 48885:80 --restart=always --name=ssrf-labs anhkhoa14592/ssrf-labs # webgoat 安装 docker run -d -p 48887:8080 -p 49091:9090 -e TZ=Asia/Shanghai --restart=always --name=webgoat webgoat/webgoat # bluelotus_xss 安装 docker run -d -p 48888:80 --restart=always --name=bluelotus_xss tanyiqu/bluelotus_xss_receiver 对于某些课程,您需要在同一时区运行容器。为此,您可以设置 TZ 环境变量。 https://hub.

Debian系统安装服务软件

linux编译安装指令 configure、make、make install 命令 configure:配置,是用来检测你的安装平台的目标特征的。比如它会检测你是不是有 CC 或 GCC,并不是需要 CC 或 GCC,它是个 shell 脚本。configure 脚本负责在使用的系统上准备好软件的构建环境。确保接下来的构建和安装过程所需要的依赖准备好,并且搞清楚使用这些依赖需要的东西。 make:构建,用来编译,它从 Makefile 中读取指令,然后编译。下载的源码包一般没有一个最终的 Makefile 文件,一般是一个模版文件,然后 configure 根据系统的参数生成一个定制化的 Makefile 文件。这个过程会执行在 Makefile 文件中定义的一系列任务将软件源代码编译成可执行文件。 make install:安装,它也从 Makefile 中读取指令,安装到指定的位置。make install 命令就是将可执行文件、第三方依赖包和文档复制到正确的路径。 清除 make 生成的文件:make clean 清除 make 和 configure 生成的文件,包括 Makefile:make distclean apt 源安装 php 由于 debian 11 带的 php 版本是 7.4,有点老,所以我们可以使用 debian 开发者 Ondřej Surý 维护的 php 源 deb.sury.org 。 注意:以下方式还可以安装 php 5.6 版本 1 2 3 4 5 6 7 8 9 10 11 12 13 # 首先,使用下面的命令安装所须的软件包: apt install ca-certificates apt-transport-https software-properties-common -y # 安装所须软件包后,使用以下命令将 Sury 存储库添加到 APT: echo "deb [https://packages.

Xss盲打平台bluelotus搭建

项目地址: https://github.com/firesunCN/BlueLotus_XSSReceiver 自己做成了一个 docker 镜像,可以直接使用。 1 2 3 4 docker pull bluefoxqaq/bluelotus_xss_docker:2.0 # 这里映射宿主机的80端口,其它端口有问题,admin.php页面会不断刷新。80端口就没事 docker run -d -p 80:80 -it --name=bluelotus bluefoxqaq/bluelotus_xss_docker:2.0 # 访问ip:80即可 登录时需要完整的地址,例如:http://ip/login.php ,这个login.php不会自动添加。 镜像制作过程 下载所需要的文件,解压后是个名为 xcc 的文件夹,进入 xcc 文件夹,运行 docker build 命令 1 docker build -f ./Dockerfile -t bluelotus_docker:1.0 . # 注意后面的点号 所需文件下载地址:xcc.zip 其中 Dockerfile 文件内容如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 FROM debian:9.

Dockerfile文件

Dockerfile常用指令 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 Dockerfile 的指令是从上到下依次执行。其实跟我们直接敲命令差不多。 1 2 3 4 5 6 7 # 一些常见指令 FROM:指定基础镜像,必须 WORKDIR :设置指令的工作目录 COPY :将文件或目录复制到镜像中,第一个参数是宿主机文件,第二个是容器 RUN :镜像创建阶段中执行的命令 CMD :容器创建阶段中执行的命令,可以被覆盖。例如在docker run 镜像id xxxx时 EXPOSE :声明端口号 RUN 和 CMD 的区别:RUN 是在创建镜像时执行的命令,一般是安装、下载、创建文件之类的。CMD 是在创建容器时才会执行的命令,一般是启动程序的命令。 CMD 两种写法 exec 模式:不会通过 shell 执行相关的命令,所以向 $HOME 这样的环境变量是获取不到的。 格式:CMD ["可执行文件","参数1","参数2"] shell 模式:docker 以 /bin/sh -c command 的方式执行命令,也就是说容器的 1 号进程是 bash 进程。 格式:CMD command 例如: CMD ["/bin/echo","hello"],会输出 hello。 CMD echo hello,也会输出 hello,但是他其实是这样的 CMD ["","-c","echo hello"] CMD echo $HOME 实际执行是 CMD [ "sh", "-c", "echo $HOME" ]
0%