这是一篇水文,HOHO。

这个星期在忙学校档案馆网站改版的工作。之前的网站是由一位学长做的,用了图片+切片的方法…为了改变现状,我决定重新布局,习惯了用DreamWeaver来拉表格框布局,按照固有的思路,一张一张地做着。有一天,在浏览校内一个新的站点,习惯性的看了下它的源码,好简洁!它用的是div+css,我对比看了下自己的页面,顿时无语,n多tr、td、table标签,一层套着一层,我有点奔溃了…于是萌生了重做的念头。

先从verycd上拉了点资料下来,看了一会儿,就开始用div+css布局了。过程比我想象的要顺利,效果比我预想的还要好,新的页面从视觉上看,与之前的页面几乎一模一样,但代码却缩略了很多,而且更加有条理,一个个的div把不同的内容块合理的区分开,这个页面的布局设置都了然于胸。就这样,慢慢地改啊改,用了差不多4天课余时间,算是把工作的80%完成了,改版后的网站看上去比旧版舒服多了。

国庆把这部分工作完成,继续开始linux的学习,由于开学这一个月有不少事情,好久没接触linux了,觉得有点对不住它,昨天晚上特意帮它更新了。

最后,预祝神舟七号傍晚顺利返回祖国!

Tags: ,

无意中看到了这篇文章,之前我对安全方面的系统管理从来没有关注过,但当今的网络形势不容乐观啊,我得接触并学习一些网络攻防方法了。

原文作者:http://www.linuxbyte.org/chkrootkit-minihowto/

在保护linux 服务器时除了Tripwire 这样强大工具外,还有一个简单又好用的工具–chkrootkit。chkrootkit 顾名思义是监测系统是否被安装了rootkit 的一个安全工具。

安装chkrootkit,你可以自己去 http://www.chkrootkit.org/download/ 下载源码包,然后自己编译,也可以和我一样偷懒用别人做好的二进制包.

centos 下用非官方源安装chkrootkit:
首先添加dag 源for centos(我的系统是centos5.2)

# vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1

# rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

yum 安装chkrootkit
# yum update
# yum install chkrootkit

chkrootkit的应用
chkrootkit 的使用非常简单直接运行 chkrootkit 命令,然后会有如下输出

ROOTDIR is `/’
Checking `amd’… not found
Checking `basename’… not infected
Checking `biff’… not found
Checking `chfn’… not infected
Checking `chsh’… not infected
Checking `cron’… not infected
Checking `crontab’… not infected
Checking `date’… not infected
Checking `du’… not infected
Checking `dirname’… not infected
Checking `echo’… not infected
Checking `egrep’… not infected
Checking `env’… not infected
.
.
.

如果有rootkit会报“INFECTED” 所以可以直接用chkrootkit -n|grep ‘INFECTED’更直接一些。

定时检测并在出问题时给管理员发邮件。
创建如下脚本chkrootkit.sh并放入crontab 定时运行。

# cat chkrootkit.sh
#!/bin/bash
PATH=/usr/bin:/bin

TMPLOG=`mktemp`

# Run the chkrootkit
/usr/bin/chkrootkit > $TMPLOG

# Output the log
cat $TMPLOG | logger -t chkrootkit

# bindshe of SMTPSllHow to do some wrongs
if [ ! -z "$(grep 465 $TMPLOG)" ] && \
[ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then
sed -i ‘/465/d’ $TMPLOG
fi

# If the rootkit have been found,mail root
[ ! -z "$(grep INFECTED $TMPLOG)" ] && \
grep INFECTED $TMPLOG | mail -s “chkrootkit report in `hostname`” root

# chmod 700 chkroot.sh
# mv chkrootkit /etc/cron.daily

这样系统会每天运行chkrootkit 检测系统,并在检测到rootkit 时给root 发一封邮件。

把给root 用户的系统邮件转发的管理员的gmail 邮箱

虽然可以登陆到系统去看系统邮件,但显然能用gmail 查看是更方便的选择。
1.安装sendmail 邮件转发要用到sendmail,
# yum sendmail
# /etc/intit.d/sendmail start (sendmail服务)

2.设置转发,编辑/etc/aliases,在文件最后加入
root: youname@gmail.com 然后运行newaliases 命令更新aliases
这样系统就会把给root 的邮件转发的你gmail 邮箱里去了。

Tags:

#line指令

TAG:预编译和宏定义,ANSI C,#line

TEXT:
此命令主要是为强制编译器按指定的行号,开始对源程序的代码重新编号,在调试的时候,可以按此规定输出错误代码的准确位置。
形式1
语法格式如下:
# line constant “filename”
其作用是使得其后的源代码从指定的行号constant重新开始编号,并将当前文件的名命名为filename。例如下面的程序如下:
#include “stdio.h”
void Test();
#line 10 “Hello.c”
int main(int argc, char* argv[])
{
#define CONST_NAME1 “CONST_NAME1″
printf(“%s\n”,CONST_NAME1);
#undef CONST_NAME1
printf(“%s\n”,CONST_NAME1);
{
#define CONST_NAME2 “CONST_NAME2″
printf(“%s\n”,CONST_NAME2);
}
printf(“%s\n”,CONST_NAME2);
return 0;
}
void Test()
{
printf(“%s\n”,CONST_NAME2);
}
提示如下的编译信息:
Hello.c(15) : error C2065: ‘CONST_NAME1′ : undeclared identifier
表示当前文件的名称被认为是Hello.c, #line 10 “Hello.c”所在的行被认为是第10行,因此提示第15行出错。
形式2
语法格式如下:
# line constant
其作用在于编译的时候,准确输出出错代码所在的位置(行号),而在源程序中并不出现行号,从而方便程序员准确定位。

Tags:

暑假,电信更新了,客户端换成了所谓的闪迅,其实就是netkeeper,互联星空用的也是这玩意.

电信用了CHAP的认证,每次拨号用户名的前半部分都会改变,我一开始还抓包分析了半天…好在同学厉害,通过反编译找出了用户名更改的算法,并且推出了java版的登录器.windows上有现成的api,写拨号程序很方便,linux下面就没这么方便的事了.

于是,打算hack pppd的代码,昨天晚上琢磨了半天,未果.我要是去看下pppoe的原理就不会浪费这么多时间了.今天找到了需要hack的代码段,在pppd/chap-new.c的chap_respond函数中,这个函数就是回应server把用户名发过去.把修改用户名的代码加进去,更新cs->name为新的用户名,然后就可以成功拨号了.期间也浏览了下pppd的代码,发现好些语法结构我都不懂…

通过这次,对pppoe有了一定的了解,主要是看了pap和chap认证方面的内容.

再次鄙视一下中国电信,我的archlinux终于可以update了,足足有150多m啊!

Tags: