awk强大的字符串处理能力,快捷又方便
今天遇到了一个需求,要把snort规则msg字段的信息拿出来用,想到用C语言去处理,但觉得太烦了。以前看过一点awk的东西,今天想起来了用awk能够很快实现的我需求,在网上查了几分钟资料,了解下awk的语言就完成了。snort的规则如下:alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"RPC snmpXdmi overflow attempt"; flags:a+; content:"|8000 19a0|"; offset:0; depth:4; content:"|00018799|"; offset: 16; reference:bugtraq,2417; reference:cve,CAN-2001-0236; classtype:attempted-admin; sid
用GDB查看内存内容
你可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示: x/<n/f/u> <addr> n、f、u是可选的参数。 n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。 f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。 u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字节,g表示八字节。当我们指定了字节长度后,GD
mysql与php错误解决
这两天在配置snort+base环境,涉及到apache, mysql和php的安装与配置。虽然网上都有很多这方面的资料,但由于所用服务器个性化配置不同,照搬别人的安装步骤并不能成功。由于第一次同时构设这几个基础软件,还是遇到了不少问题,查找了不少资料。在解决问题的过程中,对开源系统服务又有了进一点认识。[@more@]问题一:不小心竟然删掉了mysql的mysql.sock文件,默认数据库文件有损坏,导致运行mysqld_safe启动数据库时出现下面错误Starting mysqld daemon with databases from /var/lib/mysqlSTOPPING server from pid file /var/run/mysql
linux fork进程空间问题
学系统编程都会学到进程与及线程,在学习Linux编程过程中,最大的困难花时间最多的莫过于进程那一块,包括进程的环境,进程的控制,进程间通信,进程共享内存等。fork()是linux生成一个新进程的函数,在《unix环境高级编程》书中P172页是这样描述的:子进程是父进程的副本。例如,子进程获得父进程的数据空间, 堆和栈的副本。注意,这是子进程所拥有的副本。父、子进程并不共享这些存储空间部分。父子进程共享正文段。既然子进程是父进程的一个副本,获得父进程的数据空间,但又不是共享的,那么是否子进程具有独立的物理内存空间呢?父进
一个统计源码的小工具
这篇小文躺在我的私人记事本有一小段时间,今天重看,贴上来好点。看一个开源项目时,我喜欢了解它有多少行代码 ,因此需要一个统计的小工具,觉得下翻功夫是可能互联网上找到的。Unix里的wc可以统计文件的行数,但单用这个工具还不能满足我需求,它把所有行都计算进去,并不能略过注释和空行。但结合辅助文本处理工具,如sed, awk应该比较容易就实现这样的功能。仅需要统计.cpp, .c, .h, .pl四类文件,决定还是用C语言写一个好点,权且当作一次练习。平时动手写代码还是太少了,要多加努力才行。程序运行时读入用户输入的路径名,然后逐个
个性化emacs设置
用emacs有一小段时间,刚接触时感觉这个东西怎么这么难用,“面目狰狞“,习惯了visual studio漂亮且方便的界面一下子有点难以接受这样的东西。一些本来整齐的代码到了这里看起来却是乱哄哄的一团。慢慢习惯了觉得它还真的功能强大,很功能交给用户去设置,完完全全的DIY精神。Unix和windows虽然表面看起来仅是两个不同的平台,但时时刻刻体现出两种不同的文化,Unix更加提倡透明性、可显性,可定制性更强,因此它更受高级用户的喜爱,但在一定程度上令普通用户望而生畏,想想一个软件不像windows下那样点点鼠标安装上去就可用了,还要打开
UNIX 高手的 10 个习惯
准备学习Unix,转下来作个提示http://www.ibm.com/developerworks/cn/aix/library/au-badunixhabits.html?S_TACT=105AGX52&S_CMP=techcsdn#one[@more@]