2012年12月2日
摘要:
由于工作需要,这段时间用到了udp端口扫描的知识,这里总结下,也方便我以后查阅。 一、概述 任务描述:开发一个程序,用于获取局域网中开启snmp服务的主机ip地址列表,并写入相应文件以便其它程序使用。背景知识:SNMP是基于UDP的,而且标准的SNMP服务使用161和162端口。思路:1、获取局域在
阅读全文
posted @ 2012-12-02 23:54
Mike_Zhang
阅读(21404)
推荐(0)
2012年11月29日
摘要:
我用git的目的主要是为了数据的完整性,信息不丢失,虽然repository的代码服务器和本地都会存一份,但有时候自己的小片段代码很多(比如github的gist),不可能每天都用得到,需要定期的备份,以备不时之需(比如网络断开、服务器当机等因素)。 一、备份原理 通过某种方法获取需要备份repos
阅读全文
posted @ 2012-11-29 14:48
Mike_Zhang
阅读(4292)
推荐(2)
摘要:
最近在用markdown写技术随笔,感觉很好,可有时候需要吧markdown文件转换为pdf,在网上查了查,这个可以用pandoc来实现, 可感觉太麻烦,还要安装pdflatex: 由于之前用过chrome将网页输出为pdf文件的功能,我想先让markdown文件转换为html,再借助chrome来
阅读全文
posted @ 2012-11-29 11:26
Mike_Zhang
阅读(14228)
推荐(4)
2012年11月27日
摘要:
最近在用git,感觉每次输入密码很不方便,想借助ssh key来实现(一种类似ssh命令中-i参数的机制)。现在问题解决了,这里总结下(从建库开始),也方便我以后查阅。 建立一个私有仓库 这里以test1目录示例:1、创建test1文件夹 2、git初始化 3、添加文件 4、导出"祼仓库" 产生ss
阅读全文
posted @ 2012-11-27 13:01
Mike_Zhang
阅读(23693)
推荐(0)
摘要:
1.首先查看磁盘使用情况 df -h 2、卸载/home umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程: fuser -m -v -i -k /home 3、调整分区大小 resize2fs -p /dev/mapper/vg-lvhome 50G
阅读全文
posted @ 2012-11-27 10:28
Mike_Zhang
阅读(3888)
推荐(0)
2012年11月18日
摘要:
这段时间在做服务器状态监控,是借助snmp协议来实现的,这里把snmp的安装配置和python扩展snmp记录一下,也方便我以后查阅。一、安装snmp1、linux下安装net-snmp环境:CentOS 6.3_641.1 通过yum查找snmp完整名称yum search snmp1.2 安装net-snmpyum install net-snmp -y安装成功,版本为5.5:1.3更改配置文件文件路径:/etc/snmp/snmpd.conf在默认配置文件的基础上更改以下几个关键点:说明:41行的是默认值不用改动,这里的public比较关键,下文要用的到。47行和48行是snmp协议版本
阅读全文
posted @ 2012-11-18 23:09
Mike_Zhang
阅读(9391)
推荐(2)
2012年11月9日
摘要:
这里用虚拟机演示,记录一下,方便以后查阅。一、加载光盘镜像加载本地bin-DVD镜像文件到虚拟机系统,如图所示:二、更改yum源1、挂载光盘镜像比如执行如下命令:mkdir test1mount /dev/cdrom test1从图中可以看到/dev/cdrom已经挂载到了test1目录。2、修改yum配置文件yum的配置文件目录为:/etc/yum.repos.d/这里要修改的文件为:CentOS-Media.repo原文件如下:[c6-media]name=CentOS-$releasever - Mediabaseurl=file:///media/CentOS/file:///medi
阅读全文
posted @ 2012-11-09 00:51
Mike_Zhang
阅读(1637)
推荐(0)
摘要:
这几天用CentOS-6.3-x86_64-minimal-EFI.iso的镜像安装了虚拟机,发现启动起来时竟然找不到网卡……问题已经解决,这里记录一下,也方便我以后查阅。 虚拟机的网络配置选项如图所示: 从图中可以看到,这里是选择接入网线的。 登录到刚才安装的虚拟机系统(CentOS-6.3-x8
阅读全文
posted @ 2012-11-09 00:45
Mike_Zhang
阅读(1043)
推荐(0)
2012年10月29日
摘要:
由于某种需求,工作中需要自己要开发RTSP客户端模拟器……这里以DarwinStreamingServer(简称DSS)为例进行演示,把思路记录下来,算是开发了一个测试工具,也方便我以后查阅。在我之前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/09/16/RTSPoverTCPUDP20120916.html )中介绍过怎样通过TCP的方式来访问DSS,在那个实例中,我用的是VLC作为客户端,通过命令行参数进行调用的。一、通信端口分析首先通过抓包分析确定数据通信端口。RTSP数据包截图:RTP数据包截图:RTCP数据包截图:由图可知,在以
阅读全文
posted @ 2012-10-29 23:40
Mike_Zhang
阅读(13283)
推荐(1)
2012年10月26日
摘要:
通常情况下,我们只是对普通数据进行交换,交换指针的问题很少涉及,今天看书时候想到了指针交换问题,这里总结下,也方便我以后查阅。首先看下整型两个数据的交换(这个比较简单,就不多介绍了),核心代码如下:1 void m_swap(int *a,int *b)2 {3 int tmp = *a;4 *a = *b;5 *b = tmp;6 }指针是内存地址,应该也算是整型变量,交换两个指针和交换两个整型变量类似,下面以两种方式进行。传统C方式可以通过传递指向指针的指针来进行交换,核心代码如下:1 void m_swap(int **a,int **b)...
阅读全文
posted @ 2012-10-26 00:47
Mike_Zhang
阅读(6538)
推荐(1)
2012年10月22日
摘要:
创建在C++中,允许动态创建const对象,格式如下:const int *p = new const int(128);与其他常量一样,动态创建的const对象必须在创建时初始化,并且初始化后,其值不能改变。删除尽管不能改变const对象的值,但可以删除动态创建的const对象,格式如下:delete p;这个和普通的对象一样,可以对其进行删除操作。应用场景举例1、加载配置文件从配置文件读入的数据可以用来初始化const对象,供后续程序使用。伪代码如下:int num;... //读取配置文件,并将配置数据填充到numconst int *pNum = new const int(num);
阅读全文
posted @ 2012-10-22 23:04
Mike_Zhang
阅读(1092)
推荐(0)
2012年10月21日
摘要:
Libevent简介libevent是一个基于事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。官网:http://libevent.org/特点:事件驱动,高性能;轻量级,专注于网络,不如ACE那么臃肿庞大,只提供了简单的网络API的封装,线程池,内存池,递归锁等均需要自己实现;开放源码,代码相当精炼、易读;跨平台,支持Windows、Linux、BSD和Mac OS;支持多种I/O多路复用技术(epoll、poll、dev/poll、select和kqueue等),在不同的操作系统下,做了多路复用模型
阅读全文
posted @ 2012-10-21 22:40
Mike_Zhang
阅读(2154)
推荐(1)
摘要:
1、逻辑或的短路首先看如下代码:#include <iostream>using namespace std;int main(){ int a = 1; cout << "a = " << a <<endl; true || (a=0); cout << "a = " << a <<endl;}运行结果:a = 1a = 1逻辑或的表现形式如下:expression1 || exexpression2这里用到了逻辑或,由于逻辑或的短路,expression1为true,
阅读全文
posted @ 2012-10-21 00:02
Mike_Zhang
阅读(3212)
推荐(1)
2012年10月18日
摘要:
STL的find_if函数功能很强大,可以使用输入的函数替代等于操作符执行查找功能(这个网上有很多资料,我这里就不多说了)。比如查找一个数组中的奇数,可以用如下代码完成(具体参考这里:http://www.cplusplus.com/reference/algorithm/find_if/):#include <iostream>#include <algorithm>#include <vector>using namespace std;bool IsOdd (int i) { return ((i%2)==1);}int main () { vecto
阅读全文
posted @ 2012-10-18 21:17
Mike_Zhang
阅读(2165)
推荐(2)
2012年10月15日
摘要:
这段时间在开发代理服务器,这方面的资料了解的比较多,这里我总结下udp代理服务的实现,也方便我以后查阅。一、通信模型1、非代理情况下的通信模型这是典型的C-S通信模型,客户端和服务器直接交互。2、代理情况下的通信模型这种情况下,服务器和客户端不是直接交互,而是通过代理服务器进行的,代理服务器负责把客户端发来的请求转发给服务器,并把服务的回应返回给客户端。二、UDP服务器和客户端demo上面分析了通信模型,这里给出一个echo的服务器和客户端代码以供下文使用。1、服务端demo这里有一个python实现的echo服务器,代码如下:#! /usr/bin/python# a simple udp
阅读全文
posted @ 2012-10-15 00:19
Mike_Zhang
阅读(9115)
推荐(0)