文章
  • tell me why


    10/12/07

    In my dream,children sing 
    A song of love for every boy and girl 
    The sky is blue and fields are green: 
    And laughter is the language of the world 
    Then i wake and all i see 
    Is a world full of people in need 
    Chorus: 
    Tell me why(why) does it have to be like this? 
    Tell me why (why) is there something i have missed? 
    Tell me why (why) cos i don’t understand 
    When so many need somebody 
    We don’t give a helping hand Tell me why
    Everyday i ask myself 
    What will i have to do to be a man? 
    Do i have to stand and fight 
    To prove to everybody who i am? 
    Is that what my life is for 
    To waste in a world full of war? 
    chorus: 
    (children)tell me why?(declan)tell me why
    (children)tell me why?(declan)tell me why
    (together) just tell me whywhywhy
    chorus: 
    chorus chant: 
    Tell me why (why,why,does the tiger run) 
    Tell me why(why why do we shoot the gun) 
    Tell me why (why,why do we never learn) 
    Can someone tell us why we let the forest burn? 
    (why,why do we say we care) 
    Tell me why(why,why


    在我的梦中 
    少年总在唱着一首关于男孩和女孩的恋歌 
    那里有蔚蓝的天空 
    翠绿的原野 
    笑声是这个地球上共同的语言 
    然而当我醒来 
    看到的却是一个满布穷苦的世界 
    告诉我这一切为什么会变成这样 
    .... 
    为什么我们面对这么多贫穷的人却不能伸出援手 
    我要做怎样一个人 
    难道必须要做靠孤立和争斗来证实自己存在的人 
    难道我生来就为了在充满战争的世界里浪费生命 
    告诉我为什么 
    为什么 
    为什么...



    发表评论 | 阅读次数:161 | 评论次数:0 | Trackbacks


  • 是谁控制了我们的浏览器?


    05/21/07
    本文遵从GPL协议,欢迎转载。

      1、现象是什么?

      大约从今年年初开始,很多人就发现,在浏览一些网站的时候,地址栏的url后面会被莫名其妙地加上“?curtime=xxxxxxxxxx”(x为数字),并且弹出广告窗口。很多人以为这是网站自己弹出的广告,也就没有在意。

      我是属于很在意的那些人之一。

      2、这是怎么回事?

      经过测试和分析,我们发现,上述现象与使用何种浏览器无关(我们测试了各种流行的http客户端),与使用何种操作系统也无关(linux用户也有相关报告)。我对出现该现象的IE浏览器进程进行了跟踪调试,没有发现任何异常。可以断定,并不是系统被安装了adware或者spyware。

      那么是不是那些网站自己做的呢?后来发现,访问我们自己管理的网站时也出现了这种情况,排除了这个可能。

      那么剩下唯一的可能就是:有人在某个或某几个关键网络节点上安装了inject设备,劫持了我们的HTTP会话——我实在是不愿相信这个答案,这个无耻、龌龊的答案。

      伟大的谢洛克·福尔摩斯说过:当其他可能都被排除之后,剩下的,即使再怎么不可思议,也一定是答案。

      为了验证这个想法,我选择了一个曾经出现过上述现象的网站附近网段的某个IP。直接访问这个IP的HTTP服务,正常情况下是没有页面的,应该返回 404错误。我写了一个脚本。不断访问这个IP,同时记录进出的数据包。在访问进行了120次的时候,结束请求,查看数据。120次请求中,118次返回的都是正常的404错误:

    HTTP/1.1 404 Object Not Found
    Server: Microsoft-IIS/5.0
    Date: Mon, 19 Jul 2004 12:57:37 GMT
    Connection: close
    Content-Type: text/html
    Content-Length: 111

    〈html〉〈head〉〈title〉Site Not Found〈/title〉〈/head〉
    〈body〉No web site is configured at this address.〈/body〉〈/html〉

      但是有两次,返回了这个:

    HTTP/1.1 200 OK
    Content-type: text/html

    〈html〉
    〈meta http-equiv='Pragma' content='no-cache'〉
    〈meta http-equiv='Refresh' content='0;URL=?curtime=1091231851'〉
    〈script〉
    window.open('http://211.147.5.121/DXT06-005.htm', '', 'width=400,height=330');
    〈/script〉
    〈head〉
    〈title〉〈/title〉
    〈/head〉
    〈body〉
    〈/body〉
    〈/html〉

      更进一步分析数据包,可知劫持流程如下:

      A、在某个骨干路由器的边上,躺着一台旁路的设备,监听所有流过的HTTP会话。这个设备按照某种规律,对于某些HTTP请求进行特殊处理。

      B、当一个不幸的HTTP请求流过,这个设备根据该请求的seq和ack,把早已准备好的数据作为回应包,发送给客户端。这个过程是非常快的。我们的 HTTP请求发出之后,仅过了0.008秒,就收到了上面的回应。而任何正常的服务器都不可能在这么短的时间内做出回应。

      C、因为seq和ack已经被伪造的回应用掉了,所以,真正的服务器端数据过来的时候,会被当作错误的报文而不被接受。

      D、浏览器会根据〈meta http-equiv='Refresh' content='0;URL=?curtime=1091231851'〉这一行,重新对你要访问的URL进行请求,这一次,得到了请求的真正页面,并且调用window.open函数打开广告窗口。

      在google中以“php?curtime”、“htm?curtime”、“asp?curtime”为关键字搜索,出现的基本上是国内网站,这表明,问题出在国内。用于inject的设备插在国内的某个或某几个大节点上。

      真相大白。我们被愚弄了,全中国的网民都成了某些人的赚钱工具。
     
    ·知识文章:是谁控制了我们的浏览器?(2)
      3、现在怎么办?

      在坏家伙被捉出来之前,我们要想不受这个玩意的骚扰,可以考虑下面的方法:

      A、请各单位的网络管理员,在网络的边界设备上,完全封锁211.147.5.121。
      B、在你自己的个人防火墙上,完全封锁211.147.5.121。
      C、如果你的浏览器是FireFox、Opera、GreenBrowser、或者MyIE,可以把“http://211.147.5.121/*”丢到弹出窗口过滤列表中去。

      绝不只是广告那么简单,这涉及到我们的选择,我们的自由,这比垃圾邮件更加肮脏和无耻。今天是广告,明天就可能在你下载软件的时候给你加个adware或者加个病毒进去,谁知道呢?我们的HTTP通信完全控制在别人手里。

      4、如何把坏家伙揪出来?

      如果你是一个有权力调查和处理这件事的人,从技术上,可以考虑下面的手段:

      方法1:

      伪造的回应数据中并没有处理TTL,也就是说,我们得到的回应数据中TTL是和inject设备位置相关的。以我收到的数据包为例,真实的服务器端回应 TTL是107,伪造的回应TTL是53。那么,从我们这里到被请求的服务器之间经过了21(128-107)个节点,从我们这里到inject设备经过了11(64-53)个节点。只需要traceroute一下请求的服务器,得到路由回溯,往外数第11个节点就是安插inject设备的地方!

      方法2:

      假如坏家伙也看到了这篇文章,修改了TTL,我们仍然有办法。在google上以下面这些关键字搜索:php?curtime,htm? curtime,asp?curtime,可以得到大量访问时会被inject的网址。编写脚本反复访问这些网址,验证从你的ip访问过去是否会被 inject.将确实会被inject的结果搜集起来,在不同的网络接入点上挨个用traceroute工具进行路由回溯。分析回溯的结果。

      上面我们已经说明了,坏家伙是在某个或者某些重要节点上安插了inject设备,那么这个节点必然在被inject的那些网址到我们的IP之间的某个位置上。例如有A、B、C、D四个被inject到的网站,从四个地方进行路由回溯的结果如下:

    MyIP-12-13-14-15-65-[89]-15-57-A
    MyIP-66-67-68-69-85-[89]-45-68-84-52-44-B
    MyIP-34-34-36-28-83-[89]-45-63-58-64-48-41-87-C
    MyIP-22-25-29-32-65-45-[89]-58-D

      显然,inject设备极大可能就在“89”所在的机房。

      方法3:

      另一方面,可以从存放广告业面的211.147.5.121这个IP入手,whois查询结果如下:

    inetnum: 211.147.0.0 - 211.147.7.255
    netname: DYNEGY-COMMUNICATION
    descr: DYNEGY-COMMUNICATION
    descr: CO.LTD
    descr: BEIJING
    country: CN
    admin-c: PP40-AP
    tech-c: SD76-AP
    mnt-by: MAINT-CNNIC-AP
    changed: hui_zh@sina.com 20011112
    status: ALLOCATED PORTABLE
    source: APNIC

    person: Pang Patrick
    nic-hdl: PP40-AP
    e-mail: bill.pang@bj.datadragon.net
    address: Fl./8, South Building, Bridge Mansion, No. 53
    phone: +86-10-63181513
    fax-no: +86-10-63181597
    country: CN
    changed: ipas@cnnic.net.cn 20030304
    mnt-by: MAINT-CNNIC-AP
    source: APNIC

    person: ShouLan Du
    address: Fl./8, South Building, Bridge Mansion, No. 53
    country: CN
    phone: +86-010-83160000
    fax-no: +86-010-83155528
    e-mail: dsl327@btamail.net.cn
    nic-hdl: SD76-AP
    mnt-by: MAINT-CNNIC-AP
    changed: dsl327@btamail.net.cn 20020403
    source: APNIC
    ·知识文章:是谁控制了我们的浏览器?(3)
      5、我为什么要写这篇文章?

      新浪为我提供桃色新闻,我顺便看看新浪的广告,这是天经地义的;或者我安装某某网站的广告条,某某网站付给我钱,这也是天经地义的。可是这个 211.147.5.121既不给我提供桃色新闻,又不给钱,却强迫我看广告,这就严重伤害了我脆弱而幼小的心灵。事实上,你可以敲诈克林斯·潘,强奸克里奥·佩德拉,咬死王阳明,挖成吉思汗墓,我都不会计较,但是现在你既然打搅了我的生活,我就不得不说几句了。

      6、我是谁?

      如果你知道MyName,又知道MyCount的话,那么,用下面这段perl可以得到:2f4f587a80c2dbbd870a46481b2b1882。

    #!/usr/bin/perl -w

    use Digest::MD5 qw(md5 md5_hex md5_base64);

    $name = 'MyName';
    $count = MyCount;

    for ($i=0; $i〈$count; $i++)
    {
    $name = md5_hex($name);
    }

    print $name;

        以下签名,用于以后可能出现的关于此文的交流:

    1 6631876c2aea042934a5c4aaeabb88e9
    2 a6a607b3bcff63980164d793ff61d170
    3 6a58e8148eb75ce9c592236ef66a3448
    4 ded96d29f7b49d0dd3f9d17187356310
    5 cc603145bb5901a0ec8ec815d83eea66


    发表评论 | 阅读次数:173 | 评论次数:1 | Trackbacks


  • m0n0wall安装教程


    04/21/07
    m0n0wall1.22中文简体版+physdiskwrite-0.5.1下载:http://down.wglm.net/Software/catalog26/584.html


    m0n0wall written by Manuel Kasper. Additional Contributors listed in the m0n0wall Handbook.

    m0n0wall Version 1.2, September 2005

    Copyright © 2005 m0n0wall Documentation Project

    All rights reserved.


    1. Redistributions must retain the above copyright notice, this list of conditions and the following disclaimer.
    2. Neither the name of the m0n0wall Documentation Project nor the names of its contributors may be used to endorse or promote products derived from this documentation without specific prior written permission.


    THIS DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION OR THE ASSOCIATED SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    September 2005

    一、m0n0wall是什么?

      m0n0wall是一个完整的嵌入防火墙软件包,当与一台嵌入个人电脑一起使用时,在免费使用自由软件的基础上,提供具备商业防火墙所有重要特性(包括易用)。m0n0wall基于FreeBSD的精简版本,使用web服务器(thttpd),PHP以及其他一些工具。整个系统配置被存放在一个XML文本文件并且保持事件明晰。
      m0n0wall可能是在启动时候使用PHP配置的第一个UNIX系统,而不是通常使用的shell脚本,并且整个系统配置被存放在XML格式中。

    二、准备工作

    1.必需硬件:
      一台基于x86的pc,包含最少64M RAM
      存储介质(cdrom+floppy或者硬盘、cf2ide+cf、DOM均可)
      二条网络电缆

    2.必需的网络信息
      您将需要知道采用下面何种方式接入互联网,并且知道适当的细节。您可以通过ISP 的技术支持获得这信息。
      静态IP 。 - 如果您有与静态IP 的连接, 您将需要记录下来您的IP 地址、子网掩码、网关 和DNS 服务器IP's 。
      DHCP 。 - 如果您有使用DHCP 的互联网连接, 您不需要收集信息。
      PPPoE 。 - 许多DSL 提供者提供PPPoE 或PPPoA 服务。您将需要知道您的PPPoE 用户名和密码和可能您的服务名字(虽然这可能通常任空白) 。

    3.理解CIDR 子网掩码记法,详见:http://doc.m0n0.ch/quickstartpc/
      
    三、获取和安装m0n0wall

    1.选择存储介质
      m0n0wall 为pc用户提供了两种存储介质的选择,cdrom+floppy 或者 harddisk。
      CD/floppy 设定
      m0n0wall 可以从CD启动并运行,并且试用软盘保存配置文件。但是我们并不推荐它在生产环境使用。因为软盘失效的可能性远大于硬盘。
      硬盘设定
      您能安装m0n0wall 在任一个硬盘(> = 8 MB, 那么基本上任何IDE 硬盘都可以使用) 。
      对许多m0n0wall 个人计算机用户来说,使用cf-ide+cf、DOM的方式具有更大的可靠性。

    2.获取和安装 m0n0wall
      您可以在 http://www.m0n0.ch/wall/downloads.php 获取相应的软件包。
      

    QUOTE:
    generic-pc-1.21.img 为硬盘版本的软件包
    cdrom-1.21.iso 为cdrom版本的软件包
      
      使用cdrom作为存储介质的 m0n0wall只需要将下载得到的iso刻成启动光盘,然后放入pc,从cdrom启动即可,当然还需要准备一张软盘,以便保存配置。所以不再详细说明。
      使用硬盘或者cf 卡、DOM作为存储介质的 m0n0wall使用者,需要将generic-pc-1.21.img写入存储介质。
    具体方法为:

    QUOTE:
    FreeBSD:
    gzcat generic-pc-xxx.img | dd of=/dev/ad[n] bs=16k
    n为参数,具体看需要写入m0n0wall的硬盘位置

    Linux:
    gunzip -c generic-pc-xxx.img | dd of=/dev/hdX bs=16k
    X为参数,具体看需要写入m0n0wall的硬盘位置,某些cf适配器或者scsi环境下需要使用参数/dev/sdX。

    Windows:
    physdiskwrite [-u] generic-pc-xxx.img
    -u参数在大于800M的硬盘时使用。

    注:physdiskwrite可以到http://www.m0n0.ch/wall/downloads/physdiskwrite-0.5.1.zip下载。

    四、最后工作
    1.将CF card/HD 接入 pc;
    2.连接网络线缆;
    3.打开电源;
    4.指定网络接口到你的网卡(提示:可以使用自动识别,或者通过MAC addresses识别);
    5.改变LAN 接口IP地址 , 或者使用缺省的 192.168.1.1; m0n0wall 缺省还被指定为 DHCP 服务器;
    6.登录webGUI (user: 'admin', default password: 'mono') ;
    7.做必要的或者按需求进行配置。

    版权声明:
    版权所有© 2006 analyst
    本文为analyst原创,只要承认作者的版权,允许任意转载,但是不得用于商业目的。
    本文版权归analyst所有,如需转载,请保留该声明,谢谢!



    发表评论 | 阅读次数:1159 | 评论次数:0 | Trackbacks


  • 从网络安装m0n0,VMWARE安装m0n0


    04/21/07
    可能有许多朋友是新接触M0N0的,自已手痒痒有心亲自装一个试试,但是苦于没有多余的机器,虽说M0N0对硬件的要求是很低的,但谁没事在家留那么多被WINDOWS淘汰的机器不是?

    那么好,借助于VMWARE虚拟一台机器出来就是一个不错的选择。顺便也说说VMWARE,这个软件(我用的是5.0,以前版本也应该大同小异)真是不错,它不光可以虚拟多台主机,更可以虚拟出网络来,最多可以有9台交换机,也就意味着9个子网,虚拟主机可以任意挂接到这些子网上,通过两个特殊子网还可以与主机交互。只要你的电脑硬件足够(主要是内存),只要你愿意,你就可以在你的机器上建立起一个复杂拓朴的中型网络!而且在调整机器,调整网络的时候你还不用费体力搬机器、插网线。真是很牛!

    但是要用VMWARE虚拟机来安装M0N0WALL,问题就来了---它的硬盘是虚拟的,无法取出来用physdiskwrite等工具来写啊?我看到有人是先专门装一台WIN的虚拟机来做这个虚拟盘,装一次WIN?太费劲了吧!

    那么我们的方法就轻便多了!

    首先要在VMWARE里虚拟一台主机来(废话!),内存64M ,硬盘0.1G(没办法,这是最小的设置了)虚拟两块网卡 一块作为Lan网卡,一块作为Wan网卡.其它的USB控件器、音频都可以删除掉。

    在为用于LAN的网卡选连接的网络时,选VMnet 1,这个网络在9个子网的特殊性是它与宿主机是相连的(HOST ONLY)。在安装VMWARE后在宿主机中多出来的VMware Network Adapter VMnet1就是宿主机连到这个子网的接口。所以要想使虚拟机与宿主机能通的话,只要把两者的IP设在一个子网就可以了(对虚拟机还可用VMWARE的DHCP)。

    WAN的卡就无所谓了,可以选BRIDGE方式(过后可以用此M0N0来为宿主机做路由、防火墙等)。

    好,准备好机器就可以来讲这个另类的安装方法了---通过网络安装!所要用到的软件有:

    1、g4u ("ghost for unix"),GHOST大家都耳熟能详,那么G4U就可以说是UNIX上的GHOST 了,由于UNIX上普遍使用的FFS磁盘格式无法用像GHOST那样的方式来复制,G4U采用的方式是最底层的,不管数据内容,有多少空间就拷多少,所以即使在一个10G的盘上只有一个文件,它做出来的映像也有10G!是不是太笨了?是笨了点,一是因为用在FFS上没有办法,二是也有好处啊,既然是不论内容,那就能不论咸鱼烂菜,通吃!这个软件的下载地址是http://www.feyrer.de/g4u/g4u-2.1.iso.zip(ISO?不要害怕,小到只有2M),网站地址:http://www.feyrer.de/g4u/,它提供有软盘版和光盘映像,光盘就很方便,就用它了。

    2、在宿主机上架一个FTP服务器,SERV-U等都行,并在FTP服务器上设一个用户帐号:用户名:install,密码不设了。然后把要安装的m0n0wall的PC版映像放到这个FTP上,并使之能以install的用户名直接访问到。

    然后启用VMWARE在VMNET1上的DHCP,并作好IP地址范围等设置(注意,与宿主机的VMware Network Adapter VMnet1设在一个子网,且IP不要相重)

    开始安装!

    把下下来的G4U光盘映像挂到VMWARE虚拟机的光驱上,运行虚拟机。

    你会发现启动的竟是NETBSD!BSD家庭的另一个强壮的兄弟。

    等它启动完成后处于等候命令提示符下时,输入slurpdisk 你的宿主机VMNET1接口IP generic-pc-xxx.img,然后它就会以install的名字登录上FTP上下载IMG回来,并把它解到虚拟的硬盘上,待完成后关闭虚拟机。最后记得把G4U光盘映像从VMWARE取下,重启这台虚拟机M0N0WALL的安装就完成了。

    怎么样,简单吧!

    版权声明:
    版权所有©2006,BSDfan 
    本文为BSDfan原创,只要承认作者的版权,允许任意转载,但是不得用于商业目的。 
    BSDfan版权所有,如需转载,请保留本声明,谢谢!



    发表评论 | 阅读次数:168 | 评论次数:0 | Trackbacks