- 博客(124)
- 资源 (3)
- 收藏
- 关注
原创 iptables匹配条件总结(一)
在上一篇博客中我已经说了使用-s作为匹配条件,可以匹配单个源地址,但实际上可以匹配多个源地址iptables -t filter -I INPUT -s 192.168.137.101,192.168.137.102 -j REJECT#这个表示来自101,102的报文全部拒绝同样还可以指定网段iptables -t filter -I INPUT -s 192.168.0.0/16 -j REJ
2018-05-10 11:15:50
2049
原创 iptables规则的命令小节
添加规则iptables -t 表名 -A 链名 匹配条件 -j 动作 ##语法中-A表示在对应链的末尾添加规则,省略-t时,默认为filter表示例:iptables -t filter -A INPUT -s 192.168.137.104 -j REJECTiptables -t 表名 -I 链名 (数字) 匹配条件 -j 动作 #语法中,-I默认表示在对应链的开头添加规则,指定数
2018-05-08 16:07:13
378
原创 iptables命令
iptables -t 表名 -L (链名)查看对应表的所有规则,-t选项指定表名(若是省略,则默认为filter),-L代表列出规则,后边可以加链名,代表列出指定链名的规则。iptables -t 表名 -vL (链名)详细查看对应表的规则,-v表示verbose,表示详细的。使用-v选项时,会显示出“计数器”信息。(在centos6中,加上-x才可以显示精确数值;但在centos7中,不加即显示
2018-05-08 08:48:22
440
原创 Iptables概念
看了朱双印老师的关于iptables的介绍,自己写一下,加深理解。博客源地址:http://www.zsythink.net/archives/1199如何理解Iptables,通俗来讲,它并不是防火墙,而是操纵防火墙的工具。 在此之前,先介绍一些相关概念。 防火墙从逻辑上大体可分为主机防火墙,网络防火墙。主机防火墙:针对于单个主机的防范。网络防火墙:一般处于网络的入口处,针对网络入口的防护
2018-05-07 20:44:15
764
原创 Python,批量执行命令,批量分发。
#!/bin/env python#!coding=utf-8import paramiko,sys,os ##导入模块from multiprocessing import Process,Pool username='root' ##设置该脚本的验证用户pd='westos' ##验证密码def list_ssh(host_info
2018-04-24 22:00:22
2773
原创 Apache和Nginx 的区别
首先,他俩核心的区别,Apache是同步多进程模型,一个连接对应一个进程,Nginx是异步的,多个连接(万级别)对应一个进程。 Apache的优点: 1.比nginx的读写强大 2.比nginx稳定 3.动态请求处理能力比nginx好太多,nginx只适合做静态或者负载均衡。 Nginx优点: 1.轻量级。同样的web服务,比apache占用更少的内存和资源。 2.高并发。nginx处
2018-04-20 16:50:48
305
原创 腾讯二面,apache中keepalive参数,以及Nginx为什么静态能力强
昨天面了腾讯二面,面试官是一个性格很好的人,没有一面面试官那么严肃,让我挑一个做的好的他来问我。于是本人果断又选择了LVS.面试官问的几个场景都能给出具体的解决方案,我想应该是他比较满意的。 然后,他又问了apache中的keepalive参数以及Nginx为什么是静态处理能力强。没有答上来,在此做个记录。Apache的KeepAlive参数。(转载自https://www.cnblog...
2018-04-17 09:47:27
414
原创 Python怎样去读写配置文件
用ConfigParser模块。 首先准备一个配置文件,如:example[oppo]platformName = AndroidplatformVersion = 6.0deviceName = 2a22ceeappPackage = com.sina.weiboappActivity = .SplashActivityurl = http://127.0.0.1:4723/wd/h
2018-04-13 20:08:49
3962
原创 JaveScript基础
<!DOCTYPE html><html> <head> <meta charest='utf-8' /> <title>1</title> <script type='text/javascript'> /* //alert('1
2018-04-13 14:08:33
271
原创 Html概述,格式
DoctypeDoctype告诉浏览器使用什么样的html或xhtml规范来解析html文档有和无的区别BackCompat:标准兼容模式未开启(或叫怪异模式[Quirks mode]、混杂模式)CSS1Compat:标准兼容模式已开启(或叫严格模式[Standards mode/Strict mode])这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compa
2018-04-12 11:13:11
245
原创 Python多进程使用
直接上代码:#!/bin/env pythonimport time from multiprocessing import Process,Lock,Pool ##导入进程模块Process,锁模块Lock,进程池模块Pool。def sayHi(num): ##定义一个函数 time.sleep(1)
2018-04-11 16:37:36
267
转载 对日志文件的IP次数进行统计
遇到的一个面试题:对日志文件的IP值次数进行统计 并显示次数最多的前六名解决方法: grep -i -o -E “([0-9]{1,3}.){3}[0-9]{1,3}” test1.txt | sort -n | uniq -c | sort -n -r | head -6参数详情: grep命令 用于文本搜索-E:用于使用正则匹配-o:只显示匹配的部分-i:忽略大小写sort命令用于排
2018-04-11 10:23:45
1042
原创 生产者消费者模型
如图所示: 厨师A和厨师B扮演的生产者。 其余扮演消费者。 生产者生产包子,将包子放在Queue(消息队列)上,消费者从Queue上取包子进行消费。另一个场景: 若厨师A是活馅儿的,厨师B是包包子的,厨师A的速度大于厨师B的速度,则需要再在厨师A与厨师B之间增加一个Queue,并且再雇佣一个厨师C,使得B和C的速度能满足A的活馅儿速度。这样就不会在B上产生瓶颈。代码:#!/bin/env
2018-04-10 15:49:35
239
原创 多线程
进程与进程之间的空间相互独立,线程与线程之间的空间相互共享。 python中的GIL使得多核的CPU其实只能用一核。 它存在一个全局锁,只能控制一核。可以使同一时刻的内存空间只可以被一个线程更改。并且这个线程不能扩散到其他CPU上。 python中的多线程实际也是串行的(但运行速度很快,感受不到)。且只能跑在一个CPU上。所以Python官方解释是,利用多进程。但是它耗费的资源要多的多。...
2018-04-10 09:50:28
168
原创 Web_ssh 通过paramiko,shellinabox实现
今天看见运维堡垒机,感觉很有意思,就学着搭建了一个简单的。可以实现进行中专,记录命令等基本功能。 原理: 如图所示,运维区人员访问堡垒机,通过堡垒机再访问工作区域。在堡垒机上的一切操作,都将被记录下来,从而达到追踪目的。 而shellinabox则是将登陆过程web化。shellinabox下载地址:http://shellinabox.googlecode.com/files/shellin
2018-04-09 15:25:52
2557
原创 SSH(paramiko模块实现)
SSH认证的过程是加密的,但认证成功后的通信是明文的。 认证过程:A主机以公钥加密发送一段密文给B主机,B主机通过私钥将秘文解密后发送至A主机进行验证,成功后即认证成功。步骤:1:A主机执行命令ssh-keygen #生成私钥和公钥2:A主机执行命令ssh-copy-id root@B主机IP #将私钥发送至B主机通过密码登陆远程主机:#!/bin/env python#!c
2018-04-08 18:54:23
306
原创 创建索引
索引:索引就像书的目录一样,如果在字段上建立了索引,那么以索引列为查询条件时,就可以加快查询速度。 主键索引 最快的索引,每个表只能有一个主键列,但是可以有多个普通索引。主键列要求所有的内容必须唯一,而普通索引列可以不唯一。 创建一个主键索引: 方法1:建立表的时候添加MariaDB [suoyin]> create table student( -> id int(4) not n
2018-04-08 07:35:26
313
原创 Python交互Mysql
贴一段代码#!/bin/env pythonimport MySQLdbimport socketimport commandschoose=0user=raw_input('input username:')passwd=raw_input('input passwd:')def Main(): s=socket.socket(AF_INET,SOCK_STREAM)
2018-03-30 17:12:31
2223
原创 Socket
什么是Socket? 所谓的Socket也被人称之为“套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序常通过‘套接字’向用户发出请求或者应答网络请求。说白了,就是一种通信机制。 它起源于unix,而unix/Linux的哲学就是”一切皆文件”,都可以通过”打开(open)—读写(read/write)—关闭(close)“模式来操作。Socket就是该模式的一个实现,socket是
2018-03-29 15:13:17
182
原创 Class类简单代码
#!/bin/env python#!coding=utf-8class SchoolMember(object): ##定义一个父类 def __init__(self,name,gender,nationality): self.name=name self.gender=gender self.nation=nationali
2018-03-28 16:38:11
1354
原创 Python异常处理,类的私有属性
异常处理:格式:try xxxxexcept 错误类型,变量名(可省): print "XXXXXXXXXXXX",变量名(可省)例:#!/bin/env pythonimport timetry: name=['a','b','c'] name[3] ##第一个错,对应IndexError info_dic={}
2018-03-27 11:31:53
274
原创 链家编程题
题目描述: 数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。输入输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。输出对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。样例输入81 42 2样例输出94.733.41#!/bin/env python#!coding
2018-03-18 21:22:14
259
原创 考题纠错
用户JANKO 想在有三个列: empid, lastname, 和 salary. 的employee表中插入一行,该用户想输入数据empid 59694, lastname Harris, 但没有salary. 哪一个语句最适合这项工作?INSERT INTO employee VALUES(59694,'harris', null)以下哪项不是DNS记录类型?7类,A记录,AAAA记录,CNA
2018-03-18 21:19:14
583
原创 网易内推编程题
1.小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方式将他所有砖块排成漂亮的一行。(如果两种方式所对应的砖块颜色序列是相同的,那么认为这两种方式是一样的。) 例如: s = “ABAB”,
2018-03-18 21:06:39
247
原创 http协议
建立连接首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。发送请求建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议 版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。请求方法:GET 请求指定的页面信息,并返回实体主体。HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头PO
2018-03-18 10:56:09
193
原创 Apache的三种工作模式
Apache的三种工作模式分别为:prefork,worker,event 在Unix系统中,父进程通常以root身份运行以便绑定80端口,而 Apache产生的子进程通常以一个低特权的用户运行。User和Group指令用于配置子进程的低特权用户。运行子进程的用户必须要对他所服务的内容有读取的权限,但是对服务内容之外的其他资源必须拥有尽可能少的权限。 分别说说这三个模式: Prefork a
2018-03-16 17:55:22
773
原创 软链接,硬链接
在linux中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号inode 。 硬链接直接ln创建,软链接ln -s创建软链接:是对源文件创建了一个指向性的文件,该指向性文件类似于windows的快捷方式。该链接的inode号与原文件的inode号不同,可以通过ls -i 查看。因为软链接是指向原文件的,所以当原文件被删除后,软链接其实也没有实际作用了。但,软链接可以跨平台。
2018-03-16 09:24:46
169
原创 使用@property
由于我是刚开始接触python,对于python中很多很智能的模块还不是很理解。 这篇文章讲解一下为何property这个模块是干什么的,以及为什么要用这个模块举个例子,当我们需要使用python写一个程序记录tom的成绩时,我们可以这样写:#!/bin/env pythonclass Student(object): def __init__(self,score=0):
2018-03-14 15:34:06
202
原创 使用__slots__
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:>>> class Student(object):... pass...然后,尝试给实例绑定一个属性:>>> s = Student()>>> s.name = 'Mich...
2018-03-14 10:59:34
132
原创 使用__slots__
定义一个类进行测试>>> class MyObject(object):... def __init__(self):... self.x = 9... def power(self):... return self.x * self.x...>>> obj = MyObject()紧接着,可以测试该对象的属性:>>> hasattr(
2018-03-12 15:56:18
296
原创 偏函数
import模块里有functools这个模块,它存在一个偏函数。functools.partial()EX: int()将数字转换为整形,它还存在一个参数base,将其他进制数转换为10进制。 int('1000',base=2) 8 ##将二进制1000,转换为10进制 将其转化为偏函数: int2 = functools.partial(int,
2018-03-09 15:17:40
139
原创 装饰器
装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数 通俗来讲#!/bin/env pythondef w1(func): ##def一个装饰器w1 def inner(x,y): print "begin call" return func(x,y) return inner@w1
2018-03-09 14:58:19
177
原创 pickle json序列化
pickle 可以把函数,类序列化。 json只能用些常用的。 但前后端,跨平台的序列化的时候,用json。#!/bin/env pythonimport pickleaccount_info = {'917785844':['alex3123',150000,150000],'182342134':['rachel',30000,30000], }
2018-03-07 15:44:26
141
原创 Python自带的函数
lambda() plus2 = lambda x: x+2In [3]: plus2(4)Out[3]: 6abs() ##转换绝对值divmod() ##显示商和余数In [33]: divmod(9,2)Out[33]: (4, 1)pod(3,4) ##3的4次方In [37]: pow(3,4)Out[37]: 81round() ##四舍
2018-03-07 14:50:25
261
原创 yield和return
return:import timedef sayHi2(**kargs): for i in range(10): time.sleep(1) return 'loop', iresult = sayHi2(name='Alex', age=29, phone=1355434)print resultprint resultprint r...
2018-03-07 13:47:57
318
原创 Zabbix监控Nginx
Nginx要被Zabbix监控需要stub_status这个模块,由于源码编译安装时候没有装,所以需要先装载这个模块。 1.查看nginx的安装配置 cd /usr/local/nginx/sbin/ ./nginx -Vnginx version: nginx/1.4.2built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ...
2018-03-06 21:20:47
219
原创 Zabbix监控Server端数据库
监控 zabbix server 上的 mysql 服务 其实zabbix监控agent端的mysql数据库原理上很简单,就是你需要在zabbix客户端新建一个用户,这个用户的账号密码存放到隐藏的文件中,(也是考虑安全性嘛~),服务端通过读取这个配置文件的用户密码去登陆数据库,然后把采集的结果反馈给客户端,切记我们这里不要给root的权限用户哟~ 1.配置mysql在/etc/za...
2018-03-06 21:17:57
1037
原创 Zabbix部署
本文所需软件包: http://download.csdn.net/download/zfx1997/10272660一、Server部署 实验环境: 两台Centos7.2虚拟机。 Server:192.168.137.103 Agent:192.168.137.1022.安装 zabbix 所需软件包zabbix-agent-3.2.6-1.el7.x86_64.rpm ...
2018-03-06 18:31:30
279
转载 Zabbix原理及架构详解
想要用好zabbix进行监控,那么我们首要需要了解下zabbix这个软件的实现原理及它的架构。 重要组件说明:1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;3)web interface:zabbix的GUI接口;4)proxy:
2018-03-06 17:55:32
4659
原创 Python函数
Python函数与shell函数类似。def 函数名(): 定义函数 print 'xxxxx'if __name__ == '__main__': ##只能被执行,不可以被import函数名() ##调用函数函数的局部变量以及全局变量age=17def say(name): age =...
2018-02-14 15:57:32
181
zabbix 3.2.6安装所需的所有包,及php必备模块。
2018-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人