- 博客(96)
- 收藏
- 关注
原创 postfix 收信 ok
使用 postmap 命令测试访问 virtual_domains 表,返回 1 表示成功。disable_plaintext_auth = no 不强制明文。不加密,可以不用对postfix/master.cf修改。readme_directory = no //改。mydestination = //改。relayhost = //改。注意这儿,否则有权限问题。
2024-11-17 01:56:12
801
转载 skbbuff图解
一。skbuff的结构图如下二.Basic functions for sk_buff skb_headroom(), skb_tailroom() Prototype / Description int skb_headroom(const struct sk_buff *skb); bytes at buffer head int skb_tailroo
2014-04-23 18:50:41
355
skbbuff图解
一。skbuff的结构图如下二.Basic functions for sk_buff skb_headroom(), skb_tailroom() Prototype / Description int skb_headroom(const struct sk_buff *skb); bytes at buffer head int skb_tailroo
2014-04-23 18:46:07
938
转载 livecd
root=/dev/ram0 ramdisk_size=80000 Here is an example of procedures to make a bootable CD-ROM image. First, make a top directory for the bootable image, say, `iso': $ mkdir iso
2013-11-04 10:32:16
347
转载 mysql &mongodb
<br />本文描述了MySQL中的常用SQL语句在MongoDB中的写法,如果你长期使用MySQL而对MongoDB跃跃欲试,这篇简单的文章可以帮助你更快的进入角色。<br />查询:<br />MySQL:<br />SELECT * FROM user<br />Mongo:<br />db.user.find()<br />MySQL:<br />SELECT * FROM user WHERE name = ’starlee’<br />Mongo:<br />db.user.find({‘nam
2011-05-07 11:42:00
439
原创 mongodb index
<br />4. Compound Keys Index<br />创建复合索引也很简单 (1: ascending; -1: descending)。<br />> db.users.ensureIndex({name:1, age:-1})<br />> db.system.indexes.find()<br />{ "name" : "_id_", "ns" : "blog.users", "key" : { "_id" : 1 } }<br />{ "_id" : ..., "ns" : "blog
2011-05-06 20:31:00
857
转载 mongodb 概念
<br />一些概念: 跟mysqld一样,一个mongod服务可以有建立多个数据库,每个数据库可以有多张表, 这里的表名叫collection,每个collection可以存放多个文档(document),每个文档都以BSON(binary json)的形式存放于硬盘中。 跟关系型数据库不一样的地方是,它是的以单文档为单位存储的,你可以任意给一个或一批文档新增或删除字段,而不会对其它文档造成影响,这就是所谓的schema-free,这也是文档型数据库最主要的优点。 --这个说明他们文件和文件之间没有联系?
2011-05-06 20:30:00
202
转载 mongodb 概念
<br />一些概念: 跟mysqld一样,一个mongod服务可以有建立多个数据库,每个数据库可以有多张表, 这里的表名叫collection,每个collection可以存放多个文档(document),每个文档都以BSON(binary json)的形式存放于硬盘中。 跟关系型数据库不一样的地方是,它是的以单文档为单位存储的,你可以任意给一个或一批文档新增或删除字段,而不会对其它文档造成影响,这就是所谓的schema-free,这也是文档型数据库最主要的优点。 --这个说明他们文件和文件之间没有联系?
2011-05-06 17:41:00
399
原创 修改linux socket 最大连接数
<br />修改linux socket最大连接数 <br />最简单作法: <br />打开/etc/security/limits.conf <br />* soft nofile 51200 <br />* hard nofile 51200
2011-04-29 12:34:00
270
原创 reboot shell
<br />if ! ping 59.59.59.59 -c 3;then<br /> source /etc/rc.local<br /> if ! ping 59.59.59.59 -c 3;then<br /> reboot<br /> fi<br /> <br />fi
2011-04-19 15:08:00
204
原创 nginux discuz rewrite
location / { rewrite ^(.*)/archiver/((fid|tid)-[/w/-]+/.html)$ $1/archiver/index.php?$2 last; rewrite ^(.*)/forum-([0-9]+)-([0-9]+)/.html$ $1/forumdisplay.php?fid=$2&page=$3 last; rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)/.ht
2011-04-16 12:00:00
1348
原创 Winnet
<br />#include <iostream><br />#include <string.h><br />#include <winsock2.h><br />#include "Wininet.h" <br />#pragma comment (lib,"Wininet.lib") <br />char * GetHtml(char *domain,char *url)<br />{<br /> char buff[1024]={0};<br /> char frmdata[256]={0};<br
2011-03-15 14:19:00
298
原创 qqwry
<br />/*<br /> * Copyright 2008,2009 Surf Chen <http://www.surfchen.org><br /> *<br /> *<br /> * This source code is under the terms of the<br /> * GNU Lesser General Public License. <br /> * see <http://www.gnu.org/licenses/lgpl.txt><br /> */<br />#includ
2011-01-06 22:37:00
371
原创 下拉菜单
<br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><title><br />下拉滚动门<br /></title><br /><style type="text/css"><
2010-12-29 16:39:00
197
转载 SOCKET例子
* name: tcp_slct.c* written by saodrin zhang for test*/#include #include #include #include #include #include #include #include #include #include #include #include #include #define SVC_PORT 9999int main_serv(int argc, char *argv[]);int main_clnt(int
2010-12-22 13:32:00
257
原创 SOCKET示例子转
<br />* name: tcp_slct.c<br />* written by saodrin zhang for test<br />*/<br />#include <br />#include <br />#include <br />#include <br />#include <br />#include <br />#include <br />#include <br />#include <br />#include <br />#include <br />#include <br
2010-12-22 13:27:00
259
原创 qt-x11 qvfb过程
<br /> 最近开始学习QT,现在的QT更新的比较快,FC9下已经安装了qt-x11-4.5.1版本的creater,使用二进制文件安装的,所以没有avfb。同时还安装了qte-4.5.1和qt-x86,所以寻找安装avfb。<br /> 先是在网上找了qt-x11-opensource-src-4.5.2.tar.bz2,用高版本的qvfb,应该没关系。将压缩包解压到/root目录下。<br />最先的安装方法是这样的,在配置时加入-qvfb选项,即#./configure -qvfb<br />
2010-12-13 00:58:00
1184
原创 vm设置
#define HWADDR(addr) / ((unsigned char *)&addr)[0], / ((unsigned char *)&addr)[1], / ((unsigned char *)&addr)[2], / ((unsigned char *)&addr)[3], / ((unsigned char *)&addr)[4], / ((unsigned char *)&addr)[5] /* * Display an IP ad
2010-11-23 15:12:00
1381
原创 内存管理
<br /> <br /> <br /> <br /> <br />To free pagecache, use <br />echo 1 > /proc/sys/vm/drop_caches; <br /> <br />to free dentries and inodes, use <br />echo 2 > /proc/sys/vm/drop_caches;<br /><br />to free pagecache, dentries and inodes, use <br />echo 3 >/p
2010-11-17 15:00:00
134
原创 新内核mmap 问题
<br />如果要使用mmap映射/dev/mem文件的话,必须将这两个量取消。如果不取消CONFIG_X86_PAT,则/dev/mem不允许映射;如果不取消CONFIG_STRICT_DEVMEM,则内核空间不能映射,调用mmap()的时候会出现Invalid Parameter错误
2010-06-25 16:28:00
318
原创 TCP CWND
cwnd的值可以看成报文段的计数 tcp_write_xmit () 调用 计算当前拥塞窗口cwnd值与mss最大报文段大小,即计算拥塞窗口有多少bytes,然后比较发送窗口大小,判断是否超过拥塞窗口 目的比较发送窗口和拥塞窗口 static unsigned int tcp_window_allows (struct tcp_sock *tp, struct sk_buff *skb, uns
2010-05-17 09:37:00
646
原创 tcp
1 重传定时器。2 delayed ack定时器3 零窗口探测定时器上面三种定时器都是作为tcp状态机的一部分来实现的。4 keep-alive 定时器主要是管理established状态的连接。5 time_wait定时器主要是用来客户端关闭时的time_wait状态用到。6 syn-ack定时器(主要是用在listening socket)管理新的
2010-05-16 10:08:00
918
原创 iptunnel
这个周末终于解决了这个问题。再Linux 2.4 上配置成功了!首先linux要先配置为一个router。注意要设置ip_forward=1。然后加入net-tools中的iptunnel命令和ipip.o模块。条件有限,没有在WAN上试验,仅仅在LAN中建立了如下的测试环境:本地LAN使用192.168.4.0网段,远程LAN使用192.168.3.0网段。设置两个网关。两个网关使用HUB连接。
2010-04-07 12:41:00
722
原创 非法信息监控系统 绿盾GreenFireWall硬件监控系统
产品背景: 互联网是现代社会不断发展中出现的一个新事物,给现代社会生活带来了新视野、新方式、新冲击,在现代社会生活中扮演着越来越重要的角色。事实上,互联网在现实社会生活、中就发挥着非常复杂的作用。这些作用既有颇为积极、文明的一面,也有相当消极、危险的一面。由于缺少对非法信息进行监控和管理的有效系统,致使互联网信息安全风险增加,非法网站层出不穷。为了营造一个更安全、更健康的和谐网络环境,使各
2009-11-19 15:24:00
452
原创 QSEARCH
/* 快速字符串查找函数:目前比较流行的字符串有KMP与BM算法,实际上KMP算法在使用的时候比strchr快不了多少,而BM算法也大约只有KMP算法的3~5倍。这里介绍一个快速字符串查找函数。举一个例子:"Hello, world"中查找"word"子串,可以先把两个字符串按照首字节对好:Hello, worldworld我们可以看出刚开始是不能匹配的,这样需要将子串往后移,至于每次
2009-10-03 02:01:00
373
原创 字符串HASH函数
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函
2009-08-21 00:10:00
794
1
原创 定制自己的HOOK
函数前申明:int (*GF_HOOK)(struct sk_buff *)=0; 调用: if(GF_HOOK&&(*GF_HOOK)(skb)) { kfree_skb(skb); ret = NET_RX_DROP; goto out; } 最
2009-08-09 16:21:00
246
转载 dev.c 修改资料
今天看完《Linux Kernel ModuleTCP/IP 程序设计》中实现ping命令是显示hello module 的数据包程序后,也完成了试验现在总结如下:步骤一、在/net/core/dev.c中增加后门 int (*eeFunction01)(struct sk_buff *)=0;//这是函数eeFunction01的函数指针声明
2009-08-07 22:30:00
306
转载 包缓冲的分配操作
包缓冲的分配操作================(1) 包缓冲由包描述结构和数据缓冲区两部分组成, 当多个进程正在引用同一包结构时, 称为该包是共享的, 当不同的包结构指向同一数据缓冲区时, 这些包称为是克隆的, 克隆的包可以传递到不同包处理器中作不同的处理.(2) alloc_skb(size,gfp_mask)用来分配一个数据区为size字节的包缓冲, kfree_skb(skb)用来回收一个
2009-06-29 06:27:00
683
原创 kernel里发送RST包比较麻烦
kernel里发送RST包比较麻烦,首先你需要构造一个skb就够(很害怕吧!呵呵),再次要填充skb->data。当然就是填充ip、tcp 头了。第一步,我们可以偷懒,用先前接收到的skb(RST肯定是在接收到SYN,或者主动异常中止链接,之前对方的包已收到)做为蓝本来构造RST的 skb,或者干脆就拿这个skb来用。在有netfilter的kernel里,最典范的代码应该在ipt_REJECT
2009-06-28 14:05:00
756
原创 内核包修改后返回
有时候我们需要这样的功能,由内核拦截包,检查一下,如果符合某种特定的条件,那么修改一下这个包,并发回发送端。在netfilter的ipt_REJECT模块就完成了个类似的TCP协议的功能。它是返回一个RST。当然用UDP协议的话也能完成类似的功能。下面的send_udp函数就是参考ipt_REJECT模块实现的一个udp发回的函数/*代码开始*/#include #include #inc
2009-06-28 10:33:00
603
原创 零拷贝的实现
零拷贝技术研究与实现收藏零拷贝技术研究与实现作者:梁健(firstdot) E-MAIL:firstdot@163.com 感谢王超、史晓龙的共同研究与大力帮助一.基本概念零拷贝(zero-copy)基本思想是:数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU在这方面的负载。实现零拷贝用到的最主要技术是DMA数据传输技术和内存区域映射技
2009-05-23 20:06:00
403
原创 PUREFTPD 杂记
echo "/usr/local/mysql/lib/mysql/" >> /etc/ld.so.conf ldconfig./configure --prefix=/usr/local/pureftpd --with-mysql=/usr/local/mysql --with-paranoidmsg /--with-shadow --with-welcomemsg --with-upl
2009-05-18 01:34:00
186
原创 windows 驱动系统时
在编程中,我们经常需要获得系统时间或是从启动开始的毫秒数,启动毫秒数在ring3我们可以使用GetTickCount()函数来获得,在ring0中也有一个对应的函数KeQueryTickCount(),不过单靠这个函数还不够,因为它参数中返回的不是直接的“毫秒”数,而是“滴答”数,而一个“滴答”在不同的环境中表示的时间是不同的,因此我们还要先使用另一个函数来辅助:KeQueryTimeIn
2009-05-04 12:51:00
378
原创 ldd 库文件拷贝
/livecd/gld.pl(感谢 DawnFantasy 提供的这个 perl 脚本! ) 这个脚本复制文件以及所依赖的库到指定位置.由于这个脚本中包含一些特殊字符, 在使用 cat 生成时会有一定困难, 所以请自己创建这个文件.vi /livecd/gld.pl...chmod +x /livecd/gld.pl#!/usr/bin/perl #==========
2009-04-27 16:24:00
369
原创 apache+php
Fedora 9http://apache.etoak.com/httpd/httpd-2.2.11.tar.gz./configure --prefix=/home/apache --enable-somake && make install/home/apache/bin/apachectl configtest/home/apache/bin/apachectl start/home/
2009-04-24 15:27:00
299
原创 apache 安装
1.1 CentOS5.1• 所有需要安装的包都放在/usr/src下,解压也是解压在/usr/src下。• 所有的软件都是安装在/usr/local下。1.2 基本信息• vmware workstation 6.2• 创建一个redhat as 5.0 vm• 8g硬盘,160m内存,去掉声卡,软驱• ip:192.168.1.168• 掩码:255.255.255.0• 网关:192.168
2009-04-23 14:01:00
359
原创 增量式校验和
对于数据包中检验和的计算,很多讲TCP/IP协议的书中都讲过,RFC1071是讨论计算检验和的文档。传统的计算方法都是需要将整个数据报文的数据(IP报文是计算IP头部的数据)进行反码求和。但在实际的应用中,存在对收到的数据包进行修改若干个地方,并回送至发送方或者转发的情况。这个时候,就涉及的重新计算数据包的检验和。最常见的可能就是,将收到的数据包的TTL字段减1,并转发的情况。如果仍旧按照传统的计
2009-04-21 03:47:00
1010
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅