自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

syztoo

一只什么都不懂的小猴子

  • 博客(114)
  • 收藏
  • 关注

原创 分光器和分流器

分光器由入射和出射狭缝、反射镜和色散元件组成,其作用是将所需要的共振吸收线分离出来,对光信号进行比例分配,其中大比例光信号给业务链路,小比例光信号给旁路监控链路。TAP分流器的一种应用场景是,接收分光器的小比列光信号作为输入,然后按照一定策略进行分流,通过多个端口输出到流量监控、势态感知、攻击溯源系统、病毒检测、审计系统等需要原始流量数据包作为数据源的旁路分析设备上。TAP分流器可以按照一定的策略进行分流,作用在L2-L4层,所以支持许多功能,比如汇聚、负载均衡、报文过滤、报文编辑等。

2024-03-19 21:21:49 631

原创 NAT笔记

静态NAT、动态NAT、PAT端口多路复用

2024-03-14 22:09:47 633

原创 用filter求素数

not_divisible(n),其实是一个外壳,它返回一个函数select,真正作用于序列的是函数select。那么序列里面的对象,自然是传递给select的参数x。总结,当筛选函数有两个变量需要传递时,可以套一层外壳。那在筛选过滤时,序列里面的对象是传递给哪一个参数?用Python来实现这个算法,可以先构造一个从。注意这是一个生成器,并且是一个无限序列。而上面定义的筛选函数,有两个参数n和x。不断筛下去,就可以得到所有的素数。不断产生筛选后的新的序列。,它一定是素数,然后用。,它一定是素数,然后用。

2023-12-06 18:12:09 721

原创 在Centos上配置bgp路由

Quagga BGP是Quagga软件中的BGP路由进程,负责运行BGP协议并与其他BGP路由器进行通信。BGP路由器是指运行BGP协议的路由器,能够对路由信息进行交换和选择,使得数据包能够根据最佳路径到达目的地。其中,router bgp指定本地自治系统号,bgp router-id指定BGP路由器的ID,network指定本地网络,neighbor指定邻居BGP路由器的IP地址和自治系统号。Quagga是一款开源的路由软件套件,其中包含了支持BGP协议的软件包zebra和Quagga BGP。

2023-10-09 15:50:35 790

原创 tsar-性能监控工具

tsar是淘宝自己开发的一个采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等),以及应用数据(如squid haproxy nginx等)。收集到的数据存储在磁盘上,可以随时查询历史信息,输出方式灵活多样,另外支持将数据存储到mysql中,也可以将数据发送到nagios报警服务器。tsar在展示数据时,可以指定模块,并且可以对多条信息的数据进行merge输出,带–live参数可以输出秒级的实时信息。在tsar的使用中,可以参考下面的帮助信息,完成对应的监控。

2023-09-26 17:33:49 900

原创 Python空值None的意义

举个例子,我们常使用 print() 函数输出数据,其实该函数的返回值就是 None。因为它的功能是在屏幕上显示文本,根本不需要返回任何值,所以 print() 就返回 None。需要注意的是,None 是 NoneType 数据类型的唯一值,也就是说,我们不能再创建其它 NoneType 类型的变量,但是可以将 None 赋值给任何变量。和 False 不同,它不表示 0,也不表示空字符串,而表示没有值,也就是空值。这里的空值并不代表空对象,即 None 和 [] 以及 "" 不同。

2023-09-18 14:37:50 220

原创 yum 包管理工具

2、通过 yum 下载 rpm 包,仅下载,不安装。1、查询某个命令是由哪个rpm包提供的。3、搭建 yum 离线仓库。

2023-08-11 15:27:53 216

原创 SSH 认证原理

对称加密:对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。非对称加密:非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。5、服务器接受到加密后的字符串之后用自己的公钥解密,如果正确就让客户端登录,否则拒绝。

2023-08-08 12:17:58 968

转载 IP包结构

IP是) 的简称,是TCP/IP协议栈中的网络层协议。IP协议在发展的过程中,衍生出IPv4和IPv6两个不同版本。其中,历史版本IPv4目前仍广泛使用;后继版本IPv6世界各地正在积极部署。IP协议的通信单元是IPpacket),同样分为IPv4和IPv6两个版本。一个IPv4包的结构是这样的:我们猜得没错,IP包也分为header) 和data)两大部分,其中头部也可称为。虽然我们猜到了头部中的几个关键字段,头部却远比我们想象中的要复杂。

2023-05-25 15:01:19 1243

原创 ssh反向代理、动态代理、本地代理

缩略词本机: ssh命令发起方,即运行ssh命令的那台机器。也可简称ssh客户端。远程机:ssh命令连接到的服务器,一般指运行ssh服务的那台机器。也可简称ssh服务端。本地机群:能直接与本机通迅的主机集合,包含本机自身。远程机群:能直接与远程机通迅的主机集合,包含远程机自身。1、动态代理动态代理一般用于代理服务器。应用场景为:本地机群不能直接访问某些地址/端口,但远程机可以。本机通过建立一个指定本机端口,远程机端口不指定(动态)的连接,让本地机群可以通过该连接去访问那些地址(基...

2022-05-27 16:21:37 3293

转载 tcpdump命令笔记

tcpdump命令可以对网络上的数据包进行截获和分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump 命令格式说明:Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]

2022-05-25 14:08:33 759

原创 storcli64

storcli641、查询raid卡、raid组、物理硬盘信息  Controller_id:硬盘所在的raid卡的id,可以将该参数设置为all,表示查询该工具可管理的所有控制器的id  Enclosure_id:硬盘所在的enclosure的id,可以将该参数设置为all,表示查询该工具可管理的所有控制器连接的硬盘背板id  Slot_id:物理硬盘槽位编号,可以将该参数设置为all,表示查询所有硬盘的id  Vd_id:虚拟磁盘id,可以将该参数设置为all,表示查询所有虚拟磁盘的

2022-05-11 06:39:33 5797

原创 e2label设置文件系统的卷标

e2label命令 用来设置第二扩展文件系统的卷标。语法示例:查看卷标e2lable /dev/sdn1设定卷标e2lable /dev/sdn1 /apsara/cloud/log参数文件系统:指定文件系统所对应的设备文件名; 新卷标:为文件系统指定新卷标。实例e2label这个命令相当有效。在介绍它之前,我们先看看/etc/fstab文件:label=/ / ext3 defaults 1 1/dev/hda7 /usr ext3 default..

2022-05-11 05:59:13 476

原创 dockerfile add与copy的区别

COPY和ADD都是Dockerfile中的指令,有着类似的作用。它们允许我们将文件从特定位置复制到 Docker 镜像中。COPYCOPY指令从<src>复制新的文件或目录,并将它们添加到 Docker 容器文件系统的<dest>的路径下。COPY有两种格式:COPY [--chown=<user>:<group>] <src>... <dest> COPY [--chown=<user&...

2021-02-24 10:51:27 1874

原创 Python 实现类的计数

类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响;方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据;通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节。和静态语言不同,Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同。实现类的计数功能,实例化一个实例,数值加1。>>> class Student.

2020-09-29 11:00:05 1068

转载 CentOS 启动流程

Linux 系统的启动是不需要人为参与和控制的,只要按下电源,系统就会按照设定好的方式进行启动。不过,了解系统的启动有助于我们在系统出现问题时能够快速地修复 Linux 系统。在 CentOS 6.x 中,系统的启动过程和以前的系统相比变化较大,CentOS 6.x 系统使用 Upstart 启动服务取代了原先的 System V init 启动服务。Upstart 是事件驱动类型的,使用事件来...

2020-03-03 15:52:57 544

原创 Linux IP命令

前言我之前一直都使用ifconfig命令,觉的这个命令挺好用的,后来有次安装Linux发型版本,发现没有了ifconfig这个工具了,无奈之下,到处百度,发现了ip这个命令,一顿学习后,发现ip命令完全可以替代ifconfig命令,而且功能还比ifconfig命令强大,所以,还等什么,借用现在的一个网络流行词:盘它。命令简介作为每个Linux网络管理员和所有的Linux使用者们,ip命...

2020-03-03 10:29:43 344

原创 MYSQL篇 获取第二高的薪水

题目:编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪...

2020-01-20 18:27:56 702

原创 SHELL篇 统计词频

题目:写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。为了简单起见,你可以假设: words.txt只包括小写字母和 ' ' 。 每个单词只由小写字母组成。 单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is...

2020-01-20 14:48:20 608

原创 SHELL篇 转置文件

题目:给定一个文件 file.txt,转置它的内容。你可以假设每行列数相同,并且每个字段由 ' ' 分隔。示例:假设 file.txt 文件内容如下:name agealice 21ryan 30应当输出:name alice ryanage 21 30解题方法一:#/bin/bashawk '{ # NF表示列数,NR表示当前行...

2020-01-19 17:30:59 1928

转载 Python 元类 type 和 metaclass

type()动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。比方说我们要定义一个Hello的class,就写一个hello.py模块:class Hello(object): def hello(self, name='world'): print('Hello, %s.' % name)当Python解释器载入...

2019-12-13 11:31:43 209

原创 Linux crontab

假设我要设置一个任务,每分钟就要做一个数据同步,这个同步脚本的路径是 /home/do/rsyncfile.sh,那么我可以在终端输入crontab -e#此时会进入 vi 的编辑画面! 每一行就是一项工作。#分 时 日 月 周 |<===== 任务的完整命令行 * * * * * /home/do/rsyncfile.sh任何用户只要不...

2019-12-10 16:26:52 162

转载 Python 并发编程之 yield from 语法

本文目录为什么要使用协程 yield from 的用法详解 为什么要使用 yield from为什么要使用协程举个例子,假如我们做一个爬虫,要爬取多个网页。这里简单举例,爬取两个网页( 两个 spider 函数 ):第一步,获取HTML,然后再对 HTML 进行解析并取得我们感兴趣的数据。代码结构精简如下:def spider_01(url...

2019-12-03 16:11:28 209

转载 Python pop3 收取邮件

SMTP 用于发送邮件,POP3 用于收取邮件。收取邮件就是编写一个 MUA 作为客户端,从 MDA 把邮件获取到用户的电脑或者手机上。收取邮件最常用的协议是 POP 协议,目前版本号是3,俗称 POP3。Python内置一个 poplib 模块,实现了POP3协议,可以直接用来收邮件。注意到 POP3 协议收取的不是一个已经可以阅读的邮件本身,而是邮件的原始文本,这和 SMTP 协议...

2019-11-29 17:31:49 830

转载 Python smtp 发送邮件

SMTP 是发送邮件的协议,Python 内置对 SMTP 的支持,可以发送纯文本邮件、HTML 邮件以及带附件的邮件。Python 对 SMTP 支持有 smtplib 和 email 两个模块,email 负责构造邮件,smtplib 负责发送邮件。首先,我们来构造一个最简单的纯文本邮件:from email.mime.text import MIMETextmsg...

2019-11-29 16:02:45 773

转载 TCP/IP 简介

虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多。计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM、Apple和Microsoft都有各自的网络协议,互不兼容,这就好比一群人有的说英语,有的说中文,有的说德语,说同一种语言的人可以交流,不同的语言之间就不行了。为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议...

2019-11-28 15:39:38 150

转载 Python 分布式进程

在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个进程中,依靠网络通信。由于managers模块...

2019-11-21 15:01:40 127

转载 Python 多线程

多任务可以由多进程完成,也可以由一个进程内的多线程完成。我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。Python的标准库提供了两个模块:_thread和threading,_thread是低级...

2019-11-21 10:56:44 116

转载 Python 枚举类型

起步枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期、月份、状态等。在没有专门提供枚举类型的时候我们是怎么做呢,一般就通过字典或类来实现:Color = { 'RED' : 1, 'GREEN': 2, 'BLUE' : 3,}class Color: RED = 1 GREEN = 2 ...

2019-11-19 15:31:41 125 1

转载 Python 生成器

要创建一个generator,有很多种方法。一、列表生成式第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:>>> L = [x * x for x in range(10)]>>> L[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]>>> g = (x * ...

2019-11-14 16:42:44 148

转载 Python 函数的参数

一、位置参数def power(x): return x * x对于power(x)函数,参数x就是一个位置参数。二、默认参数def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s参数 n 就是一个默认参数,默认...

2019-11-14 14:06:31 186

原创 linux 磁盘分区

1、 列出系统上所有磁盘列表[root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 200M 0 part /boot/efi├─sda2 ...

2019-10-24 18:01:53 308

转载 kubernetes之statefulset

一、statefulset简介    从前面的学习我们知道使用Deployment创建的pod是无状态的,当挂载了Volume之后,如果该pod挂了,Replication Controller会再启动一个pod来保证可用性,但是由于pod是无状态的,pod挂了就会和之前的Volume的关系断开,新创建的Pod无法找到之前的Pod。但是对于用户而言,他们对底层的Pod挂了是没有感知的,但是当...

2019-10-09 18:39:18 1485

转载 kubernetes之secret和configmap

在日常单机甚至集群状态下,我们需要对一个应用进行配置,只需要修改其配置文件即可。那么在容器中又该如何提供配置信息呢???例如,为Nginx配置一个指定的server_name或worker进程数,为Tomcat的JVM配置其堆内存大小。传统的实践过程中通常有以下几种方式:启动容器时,通过命令传递参数; 将定义好的配置文件通过镜像文件进行写入; 通过环境变量的方式传递配置数据; 挂载D...

2019-09-12 16:40:49 569

转载 kubernetes之存储卷

一、存储卷的概念和类型为了保证数据的持久性,必须保证数据在外部存储在docker容器中。在宿主机和容器内做映射,可以保证在容器的生命周期结束时,数据依旧可以实现持久性存储。但是在k8s中,由于pod分布在各个不同的节点之上,并不能实现不同节点之间持久性数据的共享,并且,在节点故障时,可能会导致数据的永久性丢失。为此,k8s就引入了外部存储卷的功能。k8s的存储卷类型:[root@...

2019-09-12 11:49:46 409

原创 kubernetes之ingress

原文博客:https://www.cnblogs.com/linuxk/p/9706720.htmlhttps://www.cnblogs.com/caibao666/p/11235500.html一、什么是Ingress?Kubernetes 暴露服务的方式目前只有三种:LoadBlancer Service、NodePort Service、Ingress;1、...

2019-09-10 11:35:58 11064

转载 kubernetes之service

一、Service的概念Pod存在生命周期,有销毁,有重建,无法提供一个固定的访问接口给客户端,存在生命周期,属于不可再生类组件。而在动态和弹性的管理模式下,Service为该类Pod对象提供了一个固定、统一的访问接口和负载均衡能力。但是要知道的是,Service和Pod对象的IP地址,一个是虚拟地址,一个是Pod IP地址,都仅仅在集群内部可以进行访问,无法接入集群外部流量。而为了解决该...

2019-09-06 15:59:44 201

转载 kubernetes之DaemonSet控制器

一、什么是DaemonSet?DaemonSet确保全部(或者一些)Node 上运行一个 Pod 的副本。当有 Node 加入集群时,也会为他们新增一个 Pod 。当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。使用 DaemonSet 的一些典型用法:运行集群存储 daemon,例如在每个 Node 上运行glust...

2019-09-06 14:56:27 3431

转载 kubernetes之pod控制器

一、Pod控制器功能及分类1、功能Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源。2、pod控制器有多种类型ReplicaSet: 代替用户创建指定数量的pod副本数量,确保pod副本数量符合预期状态,并且支持滚动式自动扩容和缩容功能。ReplicaSet主要三个组件组...

2019-09-05 11:59:34 622

原创 IPC

Inter-process communication,进程间通信,缩写 IPC各进程运行时相互之间有时需要资源共享,通知事件,进程控制、以及数据传输等,可用IPC方式实现。数据传输:一个进程想要将它的数据发送给另一个进程。 共享数据:多个进程想要同时操作一组数据,一个进程对数据的修改,别的进程可以立刻看到。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事...

2019-09-04 16:43:32 239

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除